Makefile.in: create and install the Makefile and shell-script fragment "paths.mk", containing the paths found by ./configure
/trunk/Makefile.in | 66 39 27 0 +++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 39 insertions(+), 27 deletions(-)
1.1 --- a/Makefile.in Sun Jan 25 19:40:13 2009 +0000
1.2 +++ b/Makefile.in Sun Jan 25 22:58:26 2009 +0000
1.3 @@ -17,12 +17,12 @@
1.4 LOCAL := @@LOCAL@@
1.5
1.6 # Paths found by ./configure
1.7 -CT_install:=@@install@@
1.8 -CT_bash :=@@bash@@
1.9 -CT_grep :=@@grep@@
1.10 -CT_make :=@@make@@
1.11 -CT_awk :=@@awk@@
1.12 -CT_sed :=@@sed@@
1.13 +install:= @@install@@
1.14 +bash := @@bash@@
1.15 +grep := @@grep@@
1.16 +make := @@make@@
1.17 +awk := @@awk@@
1.18 +sed := @@sed@@
1.19
1.20 ###############################################################################
1.21 # Sanity checks
1.22 @@ -64,7 +64,7 @@
1.23
1.24 build-bin: ct-ng
1.25
1.26 -build-lib:
1.27 +build-lib: paths.mk
1.28
1.29 build-doc:
1.30
1.31 @@ -76,19 +76,29 @@
1.32
1.33 %: %.in Makefile
1.34 @echo " SED '$@'"
1.35 - @$(CT_sed) -r -e 's,@@CT_BINDIR@@,$(BINDIR),g;' \
1.36 - -e 's,@@CT_LIBDIR@@,$(LIBDIR),g;' \
1.37 - -e 's,@@CT_DOCDIR@@,$(DOCDIR),g;' \
1.38 - -e 's,@@CT_MANDIR@@,$(MANDIR),g;' \
1.39 - -e 's,@@CT_VERSION@@,$(VERSION),g;' \
1.40 - -e 's,@@CT_DATE@@,$(DATE),g;' \
1.41 - -e 's,@@CT_install@@,$(CT_install),g;' \
1.42 - -e 's,@@CT_bash@@,$(CT_bash),g;' \
1.43 - -e 's,@@CT_grep@@,$(CT_grep),g;' \
1.44 - -e 's,@@CT_make@@,$(CT_make),g;' \
1.45 - -e 's,@@CT_awk@@,$(CT_awk),g;' \
1.46 - -e 's,@@CT_sed@@,$(CT_sed),g;' \
1.47 - $@.in >$@
1.48 + @$(sed) -r -e 's,@@CT_BINDIR@@,$(BINDIR),g;' \
1.49 + -e 's,@@CT_LIBDIR@@,$(LIBDIR),g;' \
1.50 + -e 's,@@CT_DOCDIR@@,$(DOCDIR),g;' \
1.51 + -e 's,@@CT_MANDIR@@,$(MANDIR),g;' \
1.52 + -e 's,@@CT_VERSION@@,$(VERSION),g;' \
1.53 + -e 's,@@CT_DATE@@,$(DATE),g;' \
1.54 + -e 's,@@CT_make@@,$(make),g;' \
1.55 + $@.in >$@
1.56 +
1.57 +# We create a script fragment that is parseable from inside a Makefile,
1.58 +# but also from inside a shell script, hence the reason why we don't
1.59 +# use := to set varaibles, although that will incur a (very small)
1.60 +# penalty from the Makefile that includes it (due to re-evaluation at
1.61 +# each call).
1.62 +paths.mk:
1.63 + @echo " GEN '$@'"
1.64 + @(echo "export install=$(install)"; \
1.65 + echo "export bash=$(bash)"; \
1.66 + echo "export grep=$(grep)"; \
1.67 + echo "export make=$(make)"; \
1.68 + echo "export awk=$(awk)"; \
1.69 + echo "export sed=$(sed)"; \
1.70 + ) >paths.mk
1.71
1.72 #--------------------------------------
1.73 # Clean rules
1.74 @@ -128,7 +138,7 @@
1.75
1.76 install-bin: $(DESTDIR)$(BINDIR)
1.77 @echo " INST 'ct-ng'"
1.78 - @$(CT_install) -m 755 ct-ng "$(DESTDIR)$(BINDIR)/ct-ng"
1.79 + @$(install) -m 755 ct-ng "$(DESTDIR)$(BINDIR)/ct-ng"
1.80
1.81 # If one is hacking crosstool-NG, the patch set might change between any two
1.82 # installations of the same VERSION, thus the patches must be removed prior
1.83 @@ -143,7 +153,9 @@
1.84 done
1.85 @rm -f "$(DESTDIR)$(LIBDIR)/scripts/addToolVersion.sh"
1.86 @echo " INST 'steps.mk'"
1.87 - @$(CT_install) -m 644 steps.mk "$(DESTDIR)$(LIBDIR)/steps.mk"
1.88 + @$(install) -m 644 steps.mk "$(DESTDIR)$(LIBDIR)/steps.mk"
1.89 + @echo " INST 'paths.mk'"
1.90 + @$(install) -m 644 paths.mk "$(DESTDIR)$(LIBDIR)/paths.mk"
1.91
1.92 # Samples need a little love:
1.93 # - change every occurrence of CT_TOP_DIR to CT_LIB_DIR
1.94 @@ -151,23 +163,23 @@
1.95 @echo " INST 'samples/'"
1.96 @tar cf - --exclude=.svn samples |(cd "$(DESTDIR)$(LIBDIR)"; tar xf -)
1.97 @for samp_file in "$(DESTDIR)$(LIBDIR)/samples/"*"/crosstool.config"; do \
1.98 - $(CT_sed) -r -i -e 's,\$$\{CT_TOP_DIR\},\$$\{CT_LIB_DIR\},g;' $${samp_file}; \
1.99 - $(CT_sed) -r -i -e 's,^(CT_WORK_DIR)=.*,\1="\$${CT_TOP_DIR}/targets",;' $${samp_file}; \
1.100 + $(sed) -r -i -e 's,\$$\{CT_TOP_DIR\},\$$\{CT_LIB_DIR\},g;' $${samp_file}; \
1.101 + $(sed) -r -i -e 's,^(CT_WORK_DIR)=.*,\1="\$${CT_TOP_DIR}/targets",;' $${samp_file}; \
1.102 done
1.103
1.104 install-doc: $(DESTDIR)$(DOCDIR)
1.105 @for doc_file in docs/CREDITS docs/overview.txt; do \
1.106 echo " INST '$${doc_file}'"; \
1.107 - $(CT_install) -m 644 "$${doc_file}" "$(DESTDIR)$(DOCDIR)"; \
1.108 + $(install) -m 644 "$${doc_file}" "$(DESTDIR)$(DOCDIR)"; \
1.109 done
1.110
1.111 install-man: $(DESTDIR)$(MANDIR)
1.112 @echo " INST 'ct-ng.1.gz'"
1.113 - @$(CT_install) -m 644 docs/ct-ng.1.gz "$(DESTDIR)$(MANDIR)"
1.114 + @$(install) -m 644 docs/ct-ng.1.gz "$(DESTDIR)$(MANDIR)"
1.115
1.116 $(sort $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(DOCDIR) $(DESTDIR)$(MANDIR)):
1.117 @echo " MKDIR '$@'"
1.118 - @$(CT_install) -m 755 -d "$@"
1.119 + @$(install) -m 755 -d "$@"
1.120
1.121
1.122 #--------------------------------------