[project @ 1997-10-17 11:05:31 by simonm]
[ghc-hetmet.git] / mk / target.mk
index ac7b69f..e32a4cc 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,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)"; \