[project @ 1997-06-10 19:04:21 by sof]
[ghc-hetmet.git] / mk / target.mk
index 7d5696e..bef8da3 100644 (file)
@@ -69,17 +69,19 @@ ifneq "$(MKDEPENDC_SRCS)" ""
        $(MKDEPENDC) -f .depend $(MKDEPENDC_OPTS) -- $(CC_OPTS) -- $(MKDEPENDC_SRCS)
 endif
 ifneq "$(MKDEPENDHS_SRCS)" ""
-ifeq ($(notdir $(MKDEPENDHS)),ghc)
-#      New way of doing dependencies: the ghc driver knows how to invoke script
-       $(MKDEPENDHS) -M -optdep-f -optdep.depend $(foreach way,$(WAYS),-optdep-s -optdep$(way)) $(MKDEPENDHS_OPTS) $(HC_OPTS) $(MKDEPENDHS_SRCS)
-else
-#      Old way: call mkdependHS-1.2
-       $(MKDEPENDHS) -f .depend $(MKDEPENDHS_OPTS) \
-               $(foreach way,$(WAYS),-s $(way)) \
-               -- $(HC_OPTS) -- $(MKDEPENDHS_SRCS)
-endif
+       @if ( echo $(notdir $(MKDEPENDHS)) | grep ghc >/dev/null 2>&1 ); then \
+          echo $(MKDEPENDHS) -M -optdep-f -optdep.depend $(foreach way,$(WAYS),-optdep-s -optdep$(way)) $(MKDEPENDHS_OPTS) $(HC_OPTS) $(MKDEPENDHS_SRCS) ; \
+          $(MKDEPENDHS) -M -optdep-f -optdep.depend $(foreach way,$(WAYS),-optdep-s -optdep$(way)) $(MKDEPENDHS_OPTS) $(HC_OPTS) $(MKDEPENDHS_SRCS) ; \
+       else \
+          echo $(MKDEPENDHS) -f .depend $(MKDEPENDHS_OPTS) $(foreach way,$(WAYS),-s $(way)) -- $(HC_OPTS) -- $(MKDEPENDHS_SRCS) ; \
+          $(MKDEPENDHS) -f .depend $(MKDEPENDHS_OPTS) $(foreach way,$(WAYS),-s $(way)) -- $(HC_OPTS) -- $(MKDEPENDHS_SRCS) ; \
+       fi
 endif
-
+#
+# The above decides whether to invoke the computation of dependencies
+# the ghc-0.xx or the ghc-2.x way by looking for "ghc" in the name of
+# of the `make depend' script. Not bulletproof this.
+#
 
 ##################################################################
 #                      boot
@@ -373,13 +375,24 @@ SCRIPT_SUBST=$(foreach val,$(SCRIPT_SUBST_VARS),"echo \"$$\"\"$(val)=\\\"$($(val
 
 all :: $(SCRIPT_PROG)
 
+#
+# #! support under cygwin32 is not quite there yet, 
+# so we rely on the eval `trick' instead. On all other
+# platforms, we prepend #!$(INTERP)  -- SOF 6/97
+# 
+
 $(SCRIPT_PROG) :: $(SCRIPT_OBJS)
        $(RM) $@
        @echo Creating $@...
 ifeq "$(INTERP)" "perl"
 ifneq "$(BIN_DIST)" "1"
-       @echo "eval 'exec perl -S $$$""0 $$""{1+\"$$$""@\"}'"  > $@
-       @echo "      if $$""running_under_some_shell;"     >> $@
+       @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;
 else
        @touch $@
 endif
@@ -464,8 +477,13 @@ ifeq "$(INTERP)" "perl"
 ifneq "$(BIN_DIST)" "1"
        @for i in $(INSTALL_SCRIPTS); do \
           $(RM) $$i.tmp; \
-          echo "eval 'exec $(PERL) -S $$$""0 $$""{1+\"$$$""@\"}'"  > $$i.tmp ; \
-          echo "      if $$""running_under_some_shell;"           >> $$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 ; \
@@ -494,8 +512,13 @@ ifeq "$(INTERP)" "perl"
 ifneq "$(BIN_DIST)" "1"
        @for i in $(INSTALL_LIB_SCRIPTS); do \
           $(RM) $$i.tmp; \
-          echo "eval 'exec $(PERL) -S $$$""0 $$""{1+\"$$$""@\"}'"  > $$i.tmp ; \
-          echo "      if $$""running_under_some_shell;"           >> $$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 ; \
@@ -524,8 +547,13 @@ ifeq "$(INTERP)" "perl"
 ifneq "$(BIN_DIST)" "1"
        @for i in $(INSTALL_LIBEXEC_SCRIPTS); do \
           $(RM) $$i.tmp; \
-          echo "eval 'exec $(PERL) -S $$$""0 $$""{1+\"$$$""@\"}'"  > $$i.tmp ; \
-          echo "      if $$""running_under_some_shell;"           >> $$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 ; \