X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.SH;h=7773f099b381560772462eb3bf16c03507d7f3ff;hb=ff3463136509252c393256a31eb1c75bcd50b5f2;hp=9dfd1b02f9f2bbd1698df8349da2bc446c3895a1;hpb=cf6c151c4d1b7ed05e154d608f547018d54674bc;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Makefile.SH b/Makefile.SH index 9dfd1b0..7773f09 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -10,6 +10,17 @@ case $PERL_CONFIG_SH in ;; esac +case $CROSS_NAME in +'') + Makefile=Makefile + ;; +*) + # if cross-compilation, the Makefile named accordingly + Makefile=Makefile-cross-$CROSS_NAME + . Cross/config-${CROSS_NAME}.sh + ;; +esac + # H.Merijn Brand [17 Feb 2004] # This comment is just to ensure that Configure will find variables that # are removed/replaced in patches on blead, but are still needed in the @@ -36,6 +47,7 @@ case "$d_dosuid" in esac linklibperl='$(LIBPERL)' +linklibperl_nonshr='' shrpldflags='$(LDDLFLAGS)' ldlibpth='' DPERL_EXTERNAL_GLOB='-DPERL_EXTERNAL_GLOB' @@ -68,7 +80,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" @@ -81,15 +94,32 @@ true) shrpldflags="$shrpldflags -Wl,--image-base,0x57000000" ;; aix*) - shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp" - case "$osvers" in - 3*) shrpldflags="$shrpldflags -e _nostart" + case "$cc" in + gcc*) + shrpldflags="-shared -Wl,-H512 -Wl,-T512 -Wl,-bhalt:4 -Wl,-bM:SRE -Wl,-bE:perl.exp" + case "$osvers" in + 3*) shrpldflags="$shrpldflags -e _nostart" + ;; + *) shrpldflags="$shrpldflags -Wl,-bnoentry" + ;; + esac + shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib" + linklibperl="-L $archlibexp/CORE -L `pwd | sed 's/\/UU$//'` -lperl" + linklibperl_nonshr='-lperl_nonshr' ;; - *) shrpldflags="$shrpldflags -bnoentry" + *) + shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp" + case "$osvers" in + 3*) shrpldflags="$shrpldflags -e _nostart" + ;; + *) shrpldflags="$shrpldflags -b noentry" + ;; + esac + shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib" + linklibperl="-L $archlibexp/CORE -L `pwd | sed 's/\/UU$//'` -lperl" + linklibperl_nonshr='-lperl_nonshr' ;; esac - shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib" - linklibperl="-L $archlibexp/CORE -L `pwd | sed 's/\/UU$//'` -lperl" ;; hpux*) linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+s -Wl,+b$archlibexp/CORE -lperl" @@ -164,7 +194,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" ;; @@ -183,9 +213,19 @@ for f in $nonxs_ext; do nonxs_list="$nonxs_list ext/$f/pm_to_blib" done -echo "Extracting Makefile (with variable substitutions)" -$spitshell >Makefile </dev/null 2>&1 \ + && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)' + ;; +esac + +echo "Extracting $Makefile (with variable substitutions)" +$spitshell >$Makefile <>Makefile <>$Makefile <>Makefile <<'!NO!SUBS!' +$spitshell >>$Makefile <<'!NO!SUBS!' CCCMD = `sh $(shellflags) cflags "optimize='$(OPTIMIZE)'" $@` CCCMDSRC = `sh $(shellflags) cflags "optimize='$(OPTIMIZE)'" $<` +# we dont include lib/Config_git.pl here, as it causes circular dependencies CONFIGPM = lib/Config.pm lib/Config_heavy.pl -private = preplibrary $(CONFIGPM) lib/Config.pod lib/ExtUtils/Miniperl.pm +# so we add it here: +CONFIGPM_EXTRA = $(CONFIGPM) lib/Config_git.pl + +CONFIGPOD = lib/Config.pod + +CONFIGH = config.h +!NO!SUBS! + ;; +*) + # if cross-compilation +$spitshell >>$Makefile <>$Makefile <<'!NO!SUBS!' + +private = preplibrary $(CONFIGPM) $(CONFIGPOD) make_patchnum lib/ExtUtils/Miniperl.pm # Files to be built with variable substitution before miniperl # is available. @@ -353,11 +436,11 @@ unidatafiles = lib/unicore/Canonical.pl lib/unicore/Exact.pl \ # Directories of Unicode data files generated by mktables unidatadirs = lib/unicore/To lib/unicore/lib -h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h +h1 = EXTERN.h INTERN.h XSUB.h av.h $(CONFIGH) cop.h cv.h dosish.h h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h opcode.h h3 = pad.h patchlevel.h perl.h perlapi.h perly.h pp.h proto.h regcomp.h h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h -h5 = utf8.h warnings.h +h5 = utf8.h warnings.h mydtrace.h h = $(h1) $(h2) $(h3) $(h4) $(h5) c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c perl.c @@ -372,7 +455,8 @@ obj1 = $(madlyobj) $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$( obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) perl$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT) obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) xsutils$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT) -obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS) +ndt_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS) +obj = $(ndt_obj) $(DTRACE_O) lintflags = \ -b \ @@ -432,20 +516,38 @@ splintflags = \ splintfiles = $(c1) -.c$(OBJ_EXT): +.c$(OBJ_EXT): $(CCCMD) $(PLDLFLAGS) $*.c -.c.i: +.c.i: $(CCCMDSRC) -E $*.c > $*.i .c.s: $(CCCMDSRC) -S $*.c -all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make +all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) miniperl extra.pods $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make @echo " "; @echo " Everything is up to date. Type '$(MAKE) test' to run test suite." -.PHONY: all translators utilities +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 make_patchnum + +make_patchnum: + $(LDLIBPTH) $(RUN) ./miniperl -Ilib make_patchnum.pl || $(MAKE) miniperl + +git_version.h: stock_git_version.h + cp stock_git_version.h git_version.h + +# make sure that we recompile perl.c if the git version changes +perl$(OBJ_EXT): git_version.h translators: miniperl$(EXE_EXT) $(CONFIGPM) FORCE @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all @@ -463,7 +565,7 @@ utilities: miniperl$(EXE_EXT) $(CONFIGPM) $(plextract) lib/lib.pm FORCE FORCE: @sh -c true !NO!SUBS! -$spitshell >>Makefile <>$Makefile <uudmap.h +uudmap.h: generate_uudmap\$(HOST_EXE_EXT) + \$(RUN) ./generate_uudmap\$(HOST_EXE_EXT) >uudmap.h -generate_uudmap\$(EXE_EXT): generate_uudmap\$(OBJ_EXT) - \$(CC) -o generate_uudmap \$(LDFLAGS) generate_uudmap\$(OBJ_EXT) \$(libs) +generate_uudmap\$(HOST_EXE_EXT): generate_uudmap\$(OBJ_EXT) + \$(CC) -o generate_uudmap\$(EXE_EXT) \$(LDFLAGS) generate_uudmap\$(OBJ_EXT) \$(libs) !GROK!THIS! -$spitshell >>Makefile <<'!NO!SUBS!' +$spitshell >>$Makefile <<'!NO!SUBS!' miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h $(CCCMD) $(PLDLFLAGS) $*.c 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 +perlmain$(OBJ_EXT): perlmain.c git_version.h $(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. @@ -523,7 +615,7 @@ esac case "$osname" in aix) - $spitshell >>Makefile <>$Makefile <>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' LIBPERL_NONSHR = libperl_nonshr$(LIB_EXT) MINIPERL_NONSHR = miniperl_nonshr$(EXE_EXT) @@ -554,7 +646,7 @@ LIBPERLEXPORT = perl.exp ;; *) - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' MINIPERLEXP = miniperl$(EXE_EXT) PERLEXPORT = perl.exp @@ -562,14 +654,14 @@ PERLEXPORT = perl.exp !NO!SUBS! ;; esac - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' perl.exp: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) ./$(MINIPERLEXP) makedef.pl PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" | sort -u | sort -f > perl.exp !NO!SUBS! ;; os2) - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' MINIPERLEXP = miniperl perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map @@ -577,27 +669,60 @@ 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 <>$Makefile <>Makefile <<'!NO!SUBS!' + 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! case "$useshrplib" in true) - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' rm -f $@ $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs) !NO!SUBS! case "$osname" in aix) - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' rm -f libperl$(OBJ_EXT) mv $@ libperl$(OBJ_EXT) $(AR) qv $(LIBPERL) libperl$(OBJ_EXT) @@ -606,14 +731,14 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT) esac ;; *) - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' rm -f $(LIBPERL) $(AR) rcu $(LIBPERL) $(obj) $(DYNALOADER) @$(ranlib) $(LIBPERL) !NO!SUBS! ;; esac - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' # How to build executables. @@ -629,20 +754,20 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT) case "${osname}${osvers}" in aix*|beos*) - $spitshell >>Makefile <<'!NO!SUBS!' -miniperl: $& miniperlmain$(OBJ_EXT) $(obj) opmini$(OBJ_EXT) - $(CC) -o miniperl $(CLDFLAGS) \ + $spitshell >>$Makefile <<'!NO!SUBS!' +miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(obj) opmini$(OBJ_EXT) + $(CC) -o miniperl$(EXE_EXT) $(CLDFLAGS) \ `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(libs) - $(LDLIBPTH) $(RUN) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest + $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '' || $(MAKE) minitest !NO!SUBS! ;; next4*) - $spitshell >>Makefile <<'!NO!SUBS!' -miniperl: $& miniperlmain$(OBJ_EXT) $(obj) opmini$(OBJ_EXT) - $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \ + $spitshell >>$Makefile <<'!NO!SUBS!' +miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(obj) opmini$(OBJ_EXT) + $(CC) -o miniperl$(EXE_EXT) `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(libs) - $(LDLIBPTH) $(RUN) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest + $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '' || $(MAKE) minitest !NO!SUBS! ;; darwin*) @@ -651,35 +776,35 @@ miniperl: $& miniperlmain$(OBJ_EXT) $(obj) opmini$(OBJ_EXT) *) case "$ldflags" in *"-flat_namespace"*) ;; *) # to allow opmini.o to override stuff in libperl.dylib - $spitshell >>Makefile <>$Makefile <>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(obj) opmini$(OBJ_EXT) -@rm -f miniperl.xok - $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o miniperl \ + $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o miniperl$(EXE_EXT) \ `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(libs) - $(LDLIBPTH) $(RUN) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest + $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '' || $(MAKE) minitest !NO!SUBS! ;; *) - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(obj) opmini$(OBJ_EXT) -@rm -f miniperl.xok - $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl \ + $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl$(EXE_EXT) \ `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(libs) - $(LDLIBPTH) $(RUN) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest + $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '' || $(MAKE) minitest !NO!SUBS! ;; esac - $spitshell >>Makefile <<'!NO!SUBS!' + $spitshell >>$Makefile <<'!NO!SUBS!' perl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT) -@rm -f miniperl.xok @@ -791,10 +916,24 @@ microperl: # checks as well as the special code to validate that the script in question # has been invoked correctly. +!NO!SUBS! + +case "${osname}" in +aix*) +$spitshell >>Makefile <<'!NO!SUBS!' +suidperl$(EXE_EXT): $& sperl$(OBJ_EXT) perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT) + $(SHRPENV) $(LDLIBPTH) $(CC) -o suidperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(static_ext) $(LLIBPERL_NONSHR) $(LLIBPERL) `cat ext.libs` $(libs) + +!NO!SUBS! +;; +*) +$spitshell >>Makefile <<'!NO!SUBS!' suidperl$(EXE_EXT): $& sperl$(OBJ_EXT) perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT) $(SHRPENV) $(LDLIBPTH) $(CC) -o suidperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) !NO!SUBS! +;; +esac fi @@ -802,7 +941,7 @@ fi # Let's try running the commands with shell. case "${osname}" in catamount) -$spitshell >>Makefile <>$Makefile <>Makefile <<'!NO!SUBS!' +$spitshell >>$Makefile <<'!NO!SUBS!' .PHONY: makeppport makeppport: miniperl$(EXE_EXT) $(CONFIGPM) $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib mkppport @@ -821,13 +960,7 @@ makeppport: miniperl$(EXE_EXT) $(CONFIGPM) ;; 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 +$spitshell >>$Makefile <<'!NO!SUBS!' # We have to call our ./makedir because Ultrix 4.3 make can't handle the line # test -d lib/auto || mkdir lib/auto @@ -837,16 +970,13 @@ 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 +$(CONFIGPOD): config.sh miniperl$(EXE_EXT) configpm Porting/Glossary $(LDLIBPTH) $(RUN) ./miniperl -Ilib configpm -$(CONFIGPM): lib/Config.pod +$(CONFIGPM): $(CONFIGPOD) lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl $(CONFIGPM) $(LDLIBPTH) $(RUN) ./miniperl minimod.pl > lib/ExtUtils/Miniperl.pm @@ -883,7 +1013,7 @@ extra.pods: miniperl$(EXE_EXT) -@rm -f pod/perlvms.pod -@test -f vms/perlvms.pod && cd pod && $(LNS) ../vms/perlvms.pod perlvms.pod && cd .. && echo "pod/perlvms.pod" >> extra.pods -@rm -f pod/perldelta.pod - -@test -f pod/perl5100delta.pod && cd pod && $(LNS) perl5100delta.pod perldelta.pod && cd .. && echo "pod/perldelta.pod" >> extra.pods # See buildtoc + -@test -f pod/perl5110delta.pod && cd pod && $(LNS) perl5110delta.pod perldelta.pod && cd .. && echo "pod/perldelta.pod" >> extra.pods # See buildtoc extras.make: perl$(EXE_EXT) -@test ! -s extras.lst || PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) $(RUN) ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst` @@ -995,9 +1125,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 @@ -1031,15 +1164,15 @@ d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER) s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER) FORCE @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) -n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE +n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary FORCE @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) !NO!SUBS! -$spitshell >>Makefile <>$Makefile <>Makefile <<'!NO!SUBS!' +$spitshell >>$Makefile <<'!NO!SUBS!' .PHONY: printconfig printconfig: @@ -1057,6 +1190,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 @@ -1082,13 +1216,14 @@ _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: -cd pod; $(LDLIBPTH) $(MAKE) clean -cd utils; $(LDLIBPTH) $(MAKE) clean -cd x2p; $(LDLIBPTH) $(MAKE) clean + -rm -f lib/Config_git.pl git_version.h -@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \ $(LDLIBPTH) sh ext/util/make_ext clean $$x MAKE=$(MAKE) ; \ done @@ -1119,17 +1254,19 @@ _cleaner2: rm -rf .config rm -f preload lib/re.pm rm -rf lib/Encode lib/Compress lib/Hash lib/re + rm -rf lib/TAP lib/Module/Pluggable lib/App + rm -rf lib/mro rm -rf lib/IO/Compress lib/IO/Uncompress rm -f lib/ExtUtils/ParseXS/t/XSTest.c rm -f lib/ExtUtils/ParseXS/t/XSTest$(OBJ_EXT) rm -f lib/ExtUtils/ParseXS/t/XSTest$(DLSUFFIX) - -rmdir lib/B lib/Data + rm -fr lib/B + -rmdir lib/Data -rmdir lib/Filter/Util lib/IO/Socket -rmdir lib/List lib/MIME lib/Scalar lib/Sys -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 @@ -1180,7 +1317,7 @@ makedepend: makedepend.SH config.sh test.utf16 check.utf16 utest.utf16 ucheck.utf16 \ test.third check.third utest.third ucheck.third test_notty.third \ test.deparse test_notty.deparse test_harness test_harness_notty \ - minitest coretest test.taintwarn + minitest coretest test.taintwarn test-reonly # Cannot delegate rebuilding of t/perl to make # to allow interlaced test and minitest @@ -1213,9 +1350,9 @@ cleanup_unpacked_files: # see t/op/stat.t _test: if (true /dev/null 2>&1; then \ - $(MAKE) TEST_ARGS=$(TEST_ARGS) TESTFILE=$(TESTFILE) _test_tty ; \ + $(MAKE) TEST_ARGS='$(TEST_ARGS)' TESTFILE=$(TESTFILE) _test_tty ; \ else \ - $(MAKE) TEST_ARGS=$(TEST_ARGS) TESTFILE=$(TESTFILE) _test_notty ; \ + $(MAKE) TEST_ARGS='$(TEST_ARGS)' TESTFILE=$(TESTFILE) _test_notty ; \ fi @echo "Ran tests" > t/rantests @@ -1249,7 +1386,7 @@ test.torture torturetest: test_prep minitest.utf16: minitest.prep - cd t && (rm -f perl$(EXE_EXT); $(LNS) ../miniperl$(EXE_EXT) perl$(EXE_EXT)) \ - && $(LDLIBPTH) $(RUN) ./perl TEST -minitest -utf16 base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t