A bug introduced in #8217 (the undefined variable in the
[p5sagit/p5-mst-13.2.git] / Makefile.SH
index f9ae6b7..e6a0ef4 100644 (file)
@@ -26,6 +26,7 @@ esac
 linklibperl='$(LIBPERL)'
 shrpldflags='$(LDDLFLAGS)'
 ldlibpth=''
+DPERL_EXTERNAL_GLOB='-DPERL_EXTERNAL_GLOB'
 case "$useshrplib" in
 true)
        # Prefix all runs of 'miniperl' and 'perl' with 
@@ -76,6 +77,10 @@ true)
        hpux*)
                linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+s -Wl,+b$archlibexp/CORE -lperl"
                ;;
+       os390*)
+           linklibperl='libperl.x'
+           DPERL_EXTERNAL_GLOB=''
+           ;;
        esac
        case "$ldlibpthname" in
        '') ;;
@@ -137,6 +142,7 @@ CLDFLAGS = $ldflags
 mallocsrc = $mallocsrc
 mallocobj = $mallocobj
 LNS = $lns
+CPS = $cp -f
 RMS = rm -f
 ranlib = $ranlib
 
@@ -299,13 +305,21 @@ utilities:        miniperl lib/Config.pm $(plextract) lib/lib.pm FORCE
 # Apparently some makes require an action for the FORCE target.
 FORCE:
        @sh -c true
+!NO!SUBS!
+$spitshell >>Makefile <<!GROK!THIS!
+
+# We do a copy of the op.c instead of a symlink because gcc gets huffy
+# if we have a symlink forest to another disk (it complains about too many
+# levels of symbolic links, even if we have only two)
 
-opmini$(OBJ_EXT): op.c config.h
-       $(RMS) opmini.c
-       $(LNS) op.c opmini.c
-       $(CCCMD) $(PLDLFLAGS) -DPERL_EXTERNAL_GLOB opmini.c
-       $(RMS) opmini.c
+opmini\$(OBJ_EXT): op.c config.h
+       \$(RMS) opmini.c
+       \$(CPS) op.c opmini.c
+       \$(CCCMD) \$(PLDLFLAGS) $DPERL_EXTERNAL_GLOB opmini.c
+       \$(RMS) opmini.c
 
+!GROK!THIS!
+$spitshell >>Makefile <<'!NO!SUBS!'
 miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h
        $(CCCMD) $(PLDLFLAGS) $*.c
 
@@ -495,7 +509,7 @@ fi
 
 $spitshell >>Makefile <<'!NO!SUBS!'
 
-sperl$(OBJ_EXT): perl.c perly.h patchlevel.h $(h)
+sperl$(OBJ_EXT): perl.c $(h)
        $(RMS) sperl.c
        $(LNS) perl.c sperl.c
        $(CCCMD) -DIAMSUID sperl.c
@@ -592,7 +606,7 @@ install.html: all installhtml
 
 run_byacc:     FORCE
        $(BYACC) -d perly.y
-       -chmod 664 perly.c
+       -chmod 664 perly.c perly.h
        sh $(shellflags) ./perly.fixer y.tab.c perly.c
        sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
            -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
@@ -778,7 +792,7 @@ _verycleaner:
 # If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
 # for that spot.
 
-lint: perly.c $(c)
+lint: $(c)
        lint $(lintflags) $(defs) perly.c $(c) > perl.fuzz
 
 # Need to unset during recursion to go out of loop.