[perl #57016] debugger: o warn=0 die=0 ignored
[p5sagit/p5-mst-13.2.git] / Makefile.SH
index 28f8436..d570775 100644 (file)
@@ -68,7 +68,8 @@ true)
                             -install_name \$(shrpdir)/\$@"
                ;;
        cygwin*)
-               linklibperl="-lperl"
+               shrpldflags="$shrpldflags -Wl,--out-implib=libperl.dll.a -Wl,--image-base,0x52000000"
+               linklibperl="-L. -lperl"
                ;;
        sunos*)
                linklibperl="-lperl"
@@ -164,7 +165,7 @@ for f in $dynamic_ext; do
 
     : Parallel makes reveal that we have some interdependencies
     case $f in
-       Math/BigInt/FastCalc) extra_dep="$extra_dep
+       Math/BigInt/FastCalc|Devel/NYTProf) extra_dep="$extra_dep
 $this_target: lib/auto/List/Util/Util.$dlext" ;;
        Unicode/Normalize) extra_dep="$extra_dep
 $this_target: uni.data" ;;
@@ -460,6 +461,15 @@ all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(unidatafiles) $
        @echo " ";
        @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
 
+sperl$(OBJ_EXT): perl.c $(h)
+       $(RMS) sperl.c
+       $(LNS) perl.c sperl.c
+       $(CCCMD) -DIAMSUID sperl.c
+       $(RMS) sperl.c
+
+sperl.i: perl.c $(h)
+       $(CCCMDSRC) -DIAMSUID -E perl.c > sperl.i
+
 .PHONY: all translators utilities
 
 translators:   miniperl$(EXE_EXT) $(CONFIGPM) FORCE
@@ -507,19 +517,9 @@ miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h
 perlmain.c: miniperlmain.c config.sh $(FIRSTMAKEFILE)
        sh writemain $(DYNALOADER) $(static_ext) > perlmain.c
 
-!NO!SUBS!
-case "$osname" in
-cygwin)
-       ;; # Let cygwin/Makefile.SHs do its work.
-*)
-       $spitshell >>Makefile <<'!NO!SUBS!'
 perlmain$(OBJ_EXT): perlmain.c
        $(CCCMD) $(PLDLFLAGS) $*.c
 
-!NO!SUBS!
-       ;;
-esac
-$spitshell >>Makefile <<'!NO!SUBS!'
 # The file ext.libs is a list of libraries that must be linked in
 # for static extensions, e.g. -lm -lgdbm, etc.  The individual
 # static extension Makefile's add to it.
@@ -592,9 +592,22 @@ perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map
 
 !NO!SUBS!
        ;;
+cygwin)
+       $spitshell >>Makefile <<'!NO!SUBS!'
+cygwin.c: cygwin/cygwin.c
+       $(LNS) cygwin/cygwin.c
+
+LIBPERL_NONSHR         = libperl$(LIB_EXT)
+
+$(LIBPERL_NONSHR): $(obj)
+       $(RMS) $(LIBPERL_NONSHR)
+       $(AR) rcu $(LIBPERL_NONSHR) $(obj)
+
+!NO!SUBS!
+       ;;
 esac
 
-if test -r $Makefile_s ; then
+if test -s $Makefile_s ; then
        . $Makefile_s
        $spitshell >>Makefile <<!GROK!THIS!
 
@@ -858,12 +871,6 @@ esac
 
 $spitshell >>Makefile <<'!NO!SUBS!'
 
-sperl$(OBJ_EXT): perl.c $(h)
-       $(RMS) sperl.c
-       $(LNS) perl.c sperl.c
-       $(CCCMD) -DIAMSUID sperl.c
-       $(RMS) sperl.c
-
 # We have to call our ./makedir because Ultrix 4.3 make can't handle the line
 #      test -d lib/auto || mkdir lib/auto
 # We need to autosplit in two steps because VOS can't handle so many args
@@ -872,10 +879,10 @@ sperl$(OBJ_EXT): perl.c $(h)
 preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
        @sh ./makedir lib/auto
        @echo " AutoSplitting perl library"
-       $(LDLIBPTH) $(RUN) ./miniperl -Ilib -e 'use AutoSplit; \
-               autosplit_lib_modules(@ARGV)' lib/*.pm
-       $(LDLIBPTH) $(RUN) ./miniperl -Ilib -e 'use AutoSplit; \
-               autosplit_lib_modules(@ARGV)' lib/*/*.pm
+       $(LDLIBPTH) $(RUN) ./miniperl -Ilib -MAutoSplit -MFile::Find -e ' \
+               find ({no_chdir=>1, wanted => \
+                      sub {autosplit_lib_modules($$_) if /\.pm$$/}}, \
+                     "lib")'
        $(MAKE) lib/re.pm
 
 lib/Config.pod: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary
@@ -1030,9 +1037,12 @@ AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym proto.h \
 
 .PHONY: regen_headers regen_pods regen_all
 
-regen regen_headers:   FORCE
+regen: FORCE
        -perl regen.pl
 
+regen_headers: FORCE
+       -perl regen.pl -v
+
 regen_pods:    FORCE
        -cd pod; $(LDLIBPTH) $(MAKE) regen_pods
 
@@ -1092,6 +1102,7 @@ realclean:        cleanup_unpacked_files _realcleaner _mopup
 
 _clobber:
        -@rm -f Cross/run-* Cross/to-* Cross/from-*
+       rm -f t/test_state
        rm -f config.sh cppstdin Policy.sh extras.lst
 
 clobber:       cleanup_unpacked_files _realcleaner _mopup _clobber
@@ -1117,7 +1128,7 @@ _mopup:
        -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
        -rm -f perl$(EXE_EXT) suidperl$(EXE_EXT) miniperl$(EXE_EXT) $(LIBPERL) libperl.* microperl
        -rm -f opcode.h-old opnames.h-old pp.sym-old pp_proto.h-old
-       -rm -f config.over $(DTRACE_H)
+       -rm -f config.arch config.over $(DTRACE_H)
 
 # Do not 'make _tidy' directly.
 _tidy:
@@ -1165,7 +1176,6 @@ _cleaner2:
        -rmdir lib/threads lib/XS
        -rmdir lib/CPANPLUS/Dist/Build/t/dummy-*
        -rmdir lib/CPANPLUS/t/dummy-cpanplus lib/CPANPLUS/t/dummy-localmirror
-       -rm -f cygcrypt-0.dll cygwin1.dll
        -rm -f lib/ExtUtils/CBuilder/t/libcompilet.dll.a
        -rm -f lib/ExtUtils/ParseXS/t/libXSTest.dll.a