diff --git a/mk/target.mk b/mk/target.mk index 4da238e8fc6e0130eba6341179cfc01e769b2f48..3fb5002b4a48d416052df4bf6461c4077d9c073d 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -375,14 +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 "#!/bin/sh -- # to stop perl from looping " > $@ - @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 @@ -467,9 +477,13 @@ ifeq "$(INTERP)" "perl" ifneq "$(BIN_DIST)" "1" @for i in $(INSTALL_SCRIPTS); do \ $(RM) $$i.tmp; \ - @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 ; \ + 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 ; \ @@ -498,9 +512,13 @@ ifeq "$(INTERP)" "perl" ifneq "$(BIN_DIST)" "1" @for i in $(INSTALL_LIB_SCRIPTS); do \ $(RM) $$i.tmp; \ - @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 ; \ + 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 ; \ @@ -529,9 +547,13 @@ ifeq "$(INTERP)" "perl" ifneq "$(BIN_DIST)" "1" @for i in $(INSTALL_LIBEXEC_SCRIPTS); do \ $(RM) $$i.tmp; \ - @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 ; \ + 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 ; \