# Makefile.in for building crosstool-NG # This file serves as source for the ./configure operation all: build ############################################################################### # Configuration variables VERSION:= @@VERSION@@ BINDIR := @@BINDIR@@ LIBDIR := @@LIBDIR@@ DOCDIR := @@DOCDIR@@ MANDIR := @@MANDIR@@ DATE := @@DATE@@ LOCAL := @@LOCAL@@ MAKE := $(shell which $(MAKE) || type -p $(MAKE) || echo /usr/bin/make) ############################################################################### # Global make rules build: build-bin build-lib build-man install: install-local-test build install-bin install-lib install-doc install-man clean: clean-bin clean-lib clean-doc distclean: clean @rm -f Makefile uninstall: install-local-test uninstall-bin uninstall-lib uninstall-doc uninstall-man ############################################################################### # Specific make rules #-------------------------------------- # Build rules build-bin: ct-ng @chmod a+x ct-ng build-lib: build-man: docs/ct-ng.1.gz docs/ct-ng.1.gz: docs/ct-ng.1 @echo " GZIP $@" @gzip -f9 $< %: %.in @echo " SED $@" @sed -r -e 's,@@CT_MAKE@@,$(MAKE),g;' \ -e 's,@@CT_BINDIR@@,$(BINDIR),g;' \ -e 's,@@CT_LIBDIR@@,$(LIBDIR),g;' \ -e 's,@@CT_DOCDIR@@,$(DOCDIR),g;' \ -e 's,@@CT_MANDIR@@,$(MANDIR),g;' \ -e 's,@@CT_VERSION@@,$(VERSION),g;' \ -e 's,@@CT_DATE@@,$(DATE),g;' \ $@.in >$@ #-------------------------------------- # Clean rules clean-bin: @rm -f ct-ng clean-lib: clean-doc: @rm -f docs/ct-ng.1.gz #-------------------------------------- # Install rules # If using localy, don't install install-local-test: @if [ "$(LOCAL)" = "1" ]; then \ echo "You're using local copy as runtime. You can't (un)install."; \ false; \ fi install-bin: install-local-test $(BINDIR) @echo " INST ct-ng" @install -m 755 ct-ng $(BINDIR)/ct-ng install-lib: install-local-test $(LIBDIR) install-lib-main install-lib-samples install-lib-main: install-local-test $(LIBDIR) @for src_dir in config kconfig patches scripts tools; do \ echo " INST $${src_dir}/"; \ tar cf - --exclude=.svn $${src_dir} |(cd $(LIBDIR); tar xf -); \ done @rm -f $(LIBDIR)/tools/addToolVersion.sh @for src_file in steps.mk version; do \ echo " INST $${src_file}"; \ install -m 644 $${src_file} $(LIBDIR)/$${src_file}; \ done # Samples need a little love: # - change every occurence of CT_TOP_DIR to CT_LIB_DIR install-lib-samples: install-local-test $(LIBDIR) install-lib-main @echo " INST samples/" @tar cf - --exclude=.svn samples |(cd $(LIBDIR); tar xf -) @for samp_file in $(LIBDIR)/samples/*/crosstool.config; do \ sed -r -i -e 's,\$$\{CT_TOP_DIR\},\$$\{CT_LIB_DIR\},g;' $${samp_file}; \ done install-doc: install-local-test $(DOCDIR) @for doc_file in docs/CREDITS docs/overview.txt; do \ echo " INST $${doc_file}"; \ install -m 644 "$${doc_file}" $(DOCDIR); \ done install-man: install-local-test $(MANDIR) @echo " INST ct-ng.1.gz" @install -m 644 docs/ct-ng.1.gz $(MANDIR) $(BINDIR) $(LIBDIR) $(DOCDIR) $(MANDIR):: @echo " MKDIR $@" @install -m 755 -d $@ #-------------------------------------- # Uninstall rules uninstall-bin: install-local-test @rm -f $(BINDIR)/ct-ng uninstall-lib: install-local-test @rm -rf $(LIBDIR) uninstall-doc: install-local-test @rm -rf $(DOCDIR) uninstall-man: install-local-test @rm -f $(MANDIR)/ct-ng.1{,.gz}