yann@197: # Makefile.in for building crosstool-NG yann@182: # This file serves as source for the ./configure operation yann@182: yann@382: all: Makefile build yann@382: yann@382: # Check if Makefile is up to date: yann@382: Makefile: Makefile.in yann@382: @echo "$< did changed: you must re-run './configure'" yann@382: @false yann@182: yann@182: ############################################################################### yann@182: # Configuration variables yann@182: yann@182: VERSION:= @@VERSION@@ yann@182: BINDIR := @@BINDIR@@ yann@185: LIBDIR := @@LIBDIR@@ yann@185: DOCDIR := @@DOCDIR@@ yann@185: MANDIR := @@MANDIR@@ yann@182: DATE := @@DATE@@ yann@285: LOCAL := @@LOCAL@@ yann@285: MAKE := $(shell which $(MAKE) || type -p $(MAKE) || echo /usr/bin/make) yann@182: yann@182: ############################################################################### yann@182: # Global make rules yann@182: yann@309: build: build-bin build-lib build-man yann@182: yann@296: install: install-local-test build install-bin install-lib install-doc install-man yann@182: yann@182: clean: clean-bin clean-lib clean-doc yann@182: yann@182: distclean: clean yann@318: @echo " RM Makefile" yann@182: @rm -f Makefile yann@182: yann@296: uninstall: install-local-test uninstall-bin uninstall-lib uninstall-doc uninstall-man yann@182: yann@182: ############################################################################### yann@182: # Specific make rules yann@182: yann@182: #-------------------------------------- yann@182: # Build rules yann@182: yann@182: build-bin: ct-ng yann@318: @echo " CHMOD $<" yann@318: @chmod a+x $< yann@182: yann@182: build-lib: yann@182: yann@309: build-man: docs/ct-ng.1.gz yann@309: yann@309: docs/ct-ng.1.gz: docs/ct-ng.1 yann@309: @echo " GZIP $@" yann@317: @gzip -c9 $< >$@ yann@182: yann@470: %: %.in Makefile yann@249: @echo " SED $@" yann@182: @sed -r -e 's,@@CT_MAKE@@,$(MAKE),g;' \ yann@182: -e 's,@@CT_BINDIR@@,$(BINDIR),g;' \ yann@182: -e 's,@@CT_LIBDIR@@,$(LIBDIR),g;' \ yann@182: -e 's,@@CT_DOCDIR@@,$(DOCDIR),g;' \ yann@182: -e 's,@@CT_MANDIR@@,$(MANDIR),g;' \ yann@182: -e 's,@@CT_VERSION@@,$(VERSION),g;' \ yann@182: -e 's,@@CT_DATE@@,$(DATE),g;' \ yann@182: $@.in >$@ yann@182: yann@182: #-------------------------------------- yann@182: # Clean rules yann@182: yann@182: clean-bin: yann@318: @echo " RM ct-ng" yann@182: @rm -f ct-ng yann@182: yann@182: clean-lib: yann@182: yann@182: clean-doc: yann@318: @echo " RM docs/ct-ng.1" yann@318: @rm -f docs/ct-ng.1 yann@318: @echo " RM docs/ct-ng.1.gz" yann@318: @rm -f docs/ct-ng.1.gz yann@182: yann@182: #-------------------------------------- yann@182: # Install rules yann@182: yann@425: # If using locally, don't install yann@285: install-local-test: yann@296: @if [ "$(LOCAL)" = "1" ]; then \ yann@296: echo "You're using local copy as runtime. You can't (un)install."; \ yann@296: false; \ yann@285: fi yann@285: yann@285: install-bin: install-local-test $(BINDIR) yann@249: @echo " INST ct-ng" yann@182: @install -m 755 ct-ng $(BINDIR)/ct-ng yann@182: yann@285: install-lib: install-local-test $(LIBDIR) install-lib-main install-lib-samples yann@182: yann@285: install-lib-main: install-local-test $(LIBDIR) yann@380: @for src_dir in arch config kconfig patches scripts tools; do \ yann@249: echo " INST $${src_dir}/"; \ yann@182: tar cf - --exclude=.svn $${src_dir} |(cd $(LIBDIR); tar xf -); \ yann@182: done yann@223: @rm -f $(LIBDIR)/tools/addToolVersion.sh yann@435: @echo " INST steps.mk" yann@435: @install -m 644 steps.mk $(LIBDIR)/steps.mk yann@435: @echo " INST .version" yann@435: @echo "$(VERSION)" >$(LIBDIR)/.version yann@182: yann@182: # Samples need a little love: yann@425: # - change every occurrence of CT_TOP_DIR to CT_LIB_DIR yann@285: install-lib-samples: install-local-test $(LIBDIR) install-lib-main yann@249: @echo " INST samples/" yann@182: @tar cf - --exclude=.svn samples |(cd $(LIBDIR); tar xf -) yann@194: @for samp_file in $(LIBDIR)/samples/*/crosstool.config; do \ yann@182: sed -r -i -e 's,\$$\{CT_TOP_DIR\},\$$\{CT_LIB_DIR\},g;' $${samp_file}; \ yann@182: done yann@182: yann@285: install-doc: install-local-test $(DOCDIR) yann@286: @for doc_file in docs/CREDITS docs/overview.txt; do \ yann@286: echo " INST $${doc_file}"; \ yann@286: install -m 644 "$${doc_file}" $(DOCDIR); \ yann@182: done yann@249: yann@285: install-man: install-local-test $(MANDIR) yann@309: @echo " INST ct-ng.1.gz" yann@309: @install -m 644 docs/ct-ng.1.gz $(MANDIR) yann@182: yann@184: $(BINDIR) $(LIBDIR) $(DOCDIR) $(MANDIR):: yann@249: @echo " MKDIR $@" yann@182: @install -m 755 -d $@ yann@182: yann@182: yann@182: #-------------------------------------- yann@182: # Uninstall rules yann@182: yann@296: uninstall-bin: install-local-test yann@182: @rm -f $(BINDIR)/ct-ng yann@182: yann@296: uninstall-lib: install-local-test yann@182: @rm -rf $(LIBDIR) yann@182: yann@296: uninstall-doc: install-local-test yann@182: @rm -rf $(DOCDIR) yann@298: yann@298: uninstall-man: install-local-test yann@307: @rm -f $(MANDIR)/ct-ng.1{,.gz}