X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=e32a4cc24e95534825ddb7dd7c385c0c8d5bf43b;hb=b4e51977b60a2f528ce63a0a33a9d2c3127b60f3;hp=ac7b69f31d7a5e9163280ce6ded430fbd340bf62;hpb=37220f0f69de3dbc1f6a445d6fd093c7750e310b;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index ac7b69f..e32a4cc 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -374,7 +374,11 @@ ifneq "$(SCRIPT_PROG)" "" # # ToDo: make this work for shell scripts (drop the initial $). # +ifeq "$(INTERP)" "$(SHELL)" +SCRIPT_SUBST=$(foreach val,$(SCRIPT_SUBST_VARS),"echo \"$(val)=\\\"$($(val))\\\";\" >> $@;") +else SCRIPT_SUBST=$(foreach val,$(SCRIPT_SUBST_VARS),"echo \"$$\"\"$(val)=\\\"$($(val))\\\";\" >> $@;") +endif all :: $(SCRIPT_PROG) @@ -389,13 +393,7 @@ $(SCRIPT_PROG) :: $(SCRIPT_OBJS) @echo Creating $@... ifeq "$(INTERP)" "perl" ifneq "$(BIN_DIST)" "1" - @if test $(HOSTPLATFORM) = "i386-unknown-cygwin32" ; then \ - echo "#! /bin/sh -- # to stop perl from looping " > $@ ; \ - echo "eval 'exec perl -S $$$""0 $$""{1+\"$$$""@\"}'" >> $@ ; \ - echo " if $$""running_under_some_shell;" >> $@ ; \ - else \ - echo "#! "$(PERL) > $@ ; \ - fi; + echo "#! "$(PERL) > $@ else @touch $@ endif @@ -465,7 +463,7 @@ ifneq "$(INSTALL_PROGS)" "" install:: $(INSTALL_PROGS) @$(INSTALL_DIR) $(bindir) for i in $(INSTALL_PROGS); do \ - $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(bindir); \ + $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i$(exeext) $(bindir); \ done endif @@ -480,17 +478,11 @@ ifeq "$(INTERP)" "perl" ifneq "$(BIN_DIST)" "1" @for i in $(INSTALL_SCRIPTS); do \ $(RM) $$i.tmp; \ - if test $(HOSTPLATFORM) = "i386-unknown-cygwin32" ; then \ - echo "#! /bin/sh -- # to stop perl from looping " > $$i.tmp ; \ - echo "eval 'exec perl -S $$$""0 $$""{1+\"$$$""@\"}'" >> $$i.tmp ; \ - echo " if $$""running_under_some_shell;" >> $$i.tmp ; \ - else \ - echo "#! $(PERL)" > $$i.tmp ; \ - fi; \ - echo $$"bindir='$(bindir)';" >> $$i.tmp ; \ - echo $$"libdir='$(libdir)';" >> $$i.tmp ; \ - echo $$"libexecdir='$(libexecdir)';" >> $$i.tmp ; \ - echo $$"datadir='$(datadir)';" >> $$i.tmp ; \ + echo "#! $(PERL)" > $$i.tmp ; \ + echo '$$'"bindir='$(bindir)';" >> $$i.tmp ; \ + echo '$$'"libdir='$(libdir)';" >> $$i.tmp ; \ + echo '$$'"libexecdir='$(libexecdir)';" >> $$i.tmp ; \ + echo '$$'"datadir='$(datadir)';" >> $$i.tmp ; \ cat $$i >> $$i.tmp ; \ echo $(INSTALL_PROGRAM) $(filter-out -s,$(INSTALL_OPTS)) $$i.tmp $(bindir)/$$i ; \ $(INSTALL_PROGRAM) $(filter-out -s,$(INSTALL_BIN_OPTS)) $$i.tmp $(bindir)/$$i ; \ @@ -515,17 +507,11 @@ ifeq "$(INTERP)" "perl" ifneq "$(BIN_DIST)" "1" @for i in $(INSTALL_LIB_SCRIPTS); do \ $(RM) $$i.tmp; \ - if test $(HOSTPLATFORM) = "i386-unknown-cygwin32" ; then \ - echo "#! /bin/sh -- # to stop perl from looping " > $$i.tmp ; \ - echo "eval 'exec perl -S $$$""0 $$""{1+\"$$$""@\"}'" >> $$i.tmp ; \ - echo " if $$""running_under_some_shell;" >> $$i.tmp ; \ - else \ - echo "#! $(PERL)" > $$i.tmp ; \ - fi; \ - echo $$"bindir='$(bindir)';" >> $$i.tmp ; \ - echo $$"libdir='$(libdir)';" >> $$i.tmp ; \ - echo $$"libexecdir='$(libexecdir)';" >> $$i.tmp ; \ - echo $$"datadir='$(datadir)';" >> $$i.tmp ; \ + echo "#! $(PERL)" > $$i.tmp ; \ + echo '$$'"bindir='$(bindir)';" >> $$i.tmp ; \ + echo '$$'"libdir='$(libdir)';" >> $$i.tmp ; \ + echo '$$'"libexecdir='$(libexecdir)';" >> $$i.tmp ; \ + echo '$$'"datadir='$(datadir)';" >> $$i.tmp ; \ cat $$i >> $$i.tmp ; \ echo $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libdir) ; \ $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i.tmp $(libdir)/$$i ; \ @@ -550,17 +536,11 @@ ifeq "$(INTERP)" "perl" ifneq "$(BIN_DIST)" "1" @for i in $(INSTALL_LIBEXEC_SCRIPTS); do \ $(RM) $$i.tmp; \ - if test $(HOSTPLATFORM) = "i386-unknown-cygwin32" ; then \ - echo "#! /bin/sh -- # to stop perl from looping " > $$i.tmp ; \ - echo "eval 'exec perl -S $$$""0 $$""{1+\"$$$""@\"}'" >> $$i.tmp ; \ - echo " if $$""running_under_some_shell;" >> $$i.tmp ; \ - else \ - echo "#! $(PERL)" > $$i.tmp ; \ - fi; \ - echo $$"bindir='$(bindir)';" >> $$i.tmp ; \ - echo $$"libdir='$(libdir)';" >> $$i.tmp ; \ - echo $$"libexecdir='$(libexecdir)';" >> $$i.tmp ; \ - echo $$"datadir='$(datadir)';" >> $$i.tmp ; \ + echo "#! $(PERL)" > $$i.tmp ; \ + echo '$$'"bindir='$(bindir)';" >> $$i.tmp ; \ + echo '$$'"libdir='$(libdir)';" >> $$i.tmp ; \ + echo '$$'"libexecdir='$(libexecdir)';" >> $$i.tmp ; \ + echo '$$'"datadir='$(datadir)';" >> $$i.tmp ; \ cat $$i >> $$i.tmp ; \ echo $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libexecdir) ; \ $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i.tmp $(libexecdir)/$$i ; \ @@ -585,8 +565,7 @@ install:: $(INSTALL_LIBS) case $$i in \ *.a) \ $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(libdir); \ - $(RANLIB) $(libdir)/`basename $$i` ; \ - break;; \ + $(RANLIB) $(libdir)/`basename $$i` ;; \ *) \ $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(libdir); \ esac; \ @@ -597,7 +576,7 @@ ifneq "$(INSTALL_LIBEXECS)" "" install:: $(INSTALL_LIBEXECS) @$(INSTALL_DIR) $(libexecdir) -for i in $(INSTALL_LIBEXECS); do \ - $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(libexecdir); \ + $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i$(exeext) $(libexecdir); \ done endif @@ -936,7 +915,7 @@ ifneq "$(HS_OBJS)" "" ifneq "$(filter -split-objs,$(HC_OPTS))" "" clean :: find $(patsubst %.$(way_)o,%,$(HS_OBJS)) -name '*.$(way_)o' -print | xargs $(RM) __rm_food - rmdir $(patsubst %.$(way_)o,%,$(HS_OBJS)) + -rmdir $(patsubst %.$(way_)o,%,$(HS_OBJS)) endif endif @@ -1033,8 +1012,8 @@ all docs runtests boot TAGS clean veryclean maintainer-clean install info :: @echo "===fptools== Recursively making \`$@' in $(SUBDIRS) ..." @echo "PWD = $(shell pwd)" @echo "------------------------------------------------------------------------" - @for i in $(SUBDIRS) ; do \ - case '${MFLAGS}' in *-[ik]*) set +e; break;; *) set -e;; esac; \ + @case '${MFLAGS}' in -*[ik]*) set +e;; *) set -e;; esac; \ + for i in $(SUBDIRS) ; do \ echo "------------------------------------------------------------------------"; \ echo "==fptools== $(MAKE) $@;"; \ echo " in $(shell pwd)/$$i"; \ @@ -1047,8 +1026,8 @@ all docs runtests boot TAGS clean veryclean maintainer-clean install info :: @echo "------------------------------------------------------------------------" dist :: + @case '${MFLAGS}' in -*[ik]*) set +e;; *) set -e;; esac; \ for i in $(SUBDIRS) ; do \ - case '${MFLAGS}' in *-[ik]*) set +e;; *) set -e;; esac; \ $(MKDIRHIER_PREFIX)mkdirhier $(SRC_DIST_DIR)/$$i; \ $(MAKE) -C $$i $(MFLAGS) $@ SRC_DIST_DIR=$(SRC_DIST_DIR)/$$i; \ done @@ -1075,8 +1054,8 @@ all docs runtests TAGS clean veryclean maintainer-clean install :: @echo "===fptools== Recursively making \`$@' for ways: $(WAYS) ..." @echo "PWD = $(shell pwd)" @echo "------------------------------------------------------------------------" - @for i in $(WAYS) ; do \ - case '${MFLAGS}' in *-[ik]*) set +e;; *) set -e;; esac; \ + @case '${MFLAGS}' in -*[ik]*) set +e;; *) set -e;; esac; \ + for i in $(WAYS) ; do \ echo "------------------------------------------------------------------------"; \ echo "==fptools== $(MAKE) way=$$i $@;"; \ echo "PWD = $(shell pwd)"; \