[project @ 1997-10-13 09:44:11 by simonm]
[ghc-hetmet.git] / mk / target.mk
index bd233a5..39452e1 100644 (file)
@@ -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,13 +478,7 @@ 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 "#! $(PERL)" > $$i.tmp ; \
           echo $$"bindir='$(bindir)';"                            >> $$i.tmp ; \
           echo $$"libdir='$(libdir)';"                            >> $$i.tmp ; \
           echo $$"libexecdir='$(libexecdir)';"                    >> $$i.tmp ; \
@@ -515,13 +507,7 @@ 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 "#! $(PERL)" > $$i.tmp ; \
           echo $$"bindir='$(bindir)';"                            >> $$i.tmp ; \
           echo $$"libdir='$(libdir)';"                            >> $$i.tmp ; \
           echo $$"libexecdir='$(libexecdir)';"                    >> $$i.tmp ; \
@@ -550,13 +536,7 @@ 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 "#! $(PERL)" > $$i.tmp ; \
           echo $$"bindir='$(bindir)';"                            >> $$i.tmp ; \
           echo $$"libdir='$(libdir)';"                            >> $$i.tmp ; \
           echo $$"libexecdir='$(libexecdir)';"                    >> $$i.tmp ; \
@@ -596,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
 
@@ -935,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
 
@@ -1032,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"; \
@@ -1046,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
@@ -1074,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)"; \