X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.SH;h=04bdabd68722bdb8e7f38166c2ae68db3368940f;hb=206957a79d0bac91e0b2fccc7ef76f95e8df245e;hp=ac8681a7e038b9ef3816841f6542ab3cdbe78bd8;hpb=b6c155fe18314878e1c5c2942543511afd6621f7;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Makefile.SH b/Makefile.SH index ac8681a..04bdabd 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -183,6 +183,16 @@ for f in $nonxs_ext; do nonxs_list="$nonxs_list ext/$f/pm_to_blib" done +dtrace_h='' +dtrace_o='' +case "$usedtrace" in +define|true) + dtrace_h='perldtrace.h' + $dtrace -G -s perldtrace.d -o perldtrace.tmp >/dev/null 2>&1 \ + && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)' + ;; +esac + echo "Extracting Makefile (with variable substitutions)" $spitshell >Makefile < sperl.i + .PHONY: all translators utilities translators: miniperl$(EXE_EXT) $(CONFIGPM) FORCE @@ -586,6 +610,26 @@ if test -r $Makefile_s ; then Makefile: $Makefile_s !GROK!THIS! else + case "$dtrace_h" in + ?*) + $spitshell >>Makefile <<'!NO!SUBS!' +$(DTRACE_H): perldtrace.d + $(DTRACE) -h -s perldtrace.d -o $(DTRACE_H) + +mydtrace.h: $(DTRACE_H) + +!NO!SUBS! + ;; + esac + case "$dtrace_o" in + ?*) + $spitshell >>Makefile <<'!NO!SUBS!' +$(DTRACE_O): perldtrace.d + $(DTRACE) -G -s perldtrace.d -o $(DTRACE_O) $(ndt_obj) + +!NO!SUBS! + ;; + esac $spitshell >>Makefile <<'!NO!SUBS!' $(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT) !NO!SUBS! @@ -823,12 +867,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 @@ -837,10 +875,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 @@ -995,9 +1033,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 @@ -1082,7 +1123,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 + -rm -f config.arch config.over $(DTRACE_H) # Do not 'make _tidy' directly. _tidy: