X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/c7b956bbbaff0c4616c7bf80a5b723a58b55bbf6..ad19ef225338a36579e4752839bc6b1e60d22531:/Makefile.SH diff --git a/Makefile.SH b/Makefile.SH index 7c8b545..b7b2970 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -177,7 +177,9 @@ done : Prepare dependency lists for Makefile. dynamic_list=' ' dynamic_ext_re="lib/auto/re/re.$dlext" -extra_dep='' +extra_dep=' +ext/Pod-Functions/pm_to_blib: cpan/Pod-Simple/pm_to_blib pod/perlfunc.pod +' for f in $dynamic_ext; do : the dependency named here will never exist base=`echo "$f" | sed 's/.*\///'` @@ -331,11 +333,21 @@ $make_set_make # Mention $gmake here so it gets probed for by Configure. +!GROK!THIS! + +case "${osname}" in +linux*|darwin) +$spitshell >>$Makefile </dev/null +!GROK!THIS! + ;; +esac + +$spitshell >>$Makefile <>$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 +perl.exp: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH) + ./$(MINIPERLEXP) makedef.pl --sort-fold PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" > perl.exp !NO!SUBS! ;; @@ -721,7 +735,7 @@ os2) $spitshell >>$Makefile <<'!NO!SUBS!' MINIPERLEXP = miniperl -perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map +perl5.def: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def !NO!SUBS! @@ -879,7 +893,12 @@ purecov$(PERL_EXE): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PE quant$(PERL_EXE): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT) $(SHRPENV) $(LDLIBPTH) quantify $(CC) -o quantperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) -# Valgrind perl (currently Linux only) +!NO!SUBS! + +case "${osname}${osvers}" in +linux*|darwin*) + $spitshell >>$Makefile <<'!NO!SUBS!' +# Valgrind perl (currently Linux, Darwin only) perl.valgrind.config: config.sh @echo "To build perl.valgrind you must Configure -Doptimize=-g -Uusemymalloc, checking..." @@ -889,6 +908,11 @@ perl.valgrind.config: config.sh @grep "^usemymalloc='n'" config.sh >/dev/null || exit 1 @echo "And of course you have to have valgrind..." $(VALGRIND) $(VG_TEST) || exit 1 +!NO!SUBS! + ;; +esac + +$spitshell >>$Makefile <<'!NO!SUBS!' # Third Degree Perl (Tru64 only) @@ -1024,7 +1048,7 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext) # But also this ensures that all extensions are built before we try to scan # them, which picks up Devel::PPPort's documentation. pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc - $(RUN_PERL) -f -Ilib pod/buildtoc --build-toc -q + $(RUN_PERL) -f -Ilib pod/buildtoc -q pod/perlapi.pod: pod/perlintern.pod @@ -1034,8 +1058,8 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST $(MINIPERL) $(Icwd) pod/perlmodlib.PL -q -pod/perl5153delta.pod: pod/perldelta.pod - $(LNS) perldelta.pod pod/perl5153delta.pod +pod/perl5172delta.pod: pod/perldelta.pod + $(LNS) perldelta.pod pod/perl5172delta.pod extra.pods: $(MINIPERL_EXE) -@test ! -f extra.pods || rm -f `cat extra.pods` @@ -1058,19 +1082,19 @@ extras.install: $(PERL_EXE) .PHONY: install install-strip install-all install-verbose install-silent \ no-install install.perl install.man install.html -install-strip: +install_strip install-strip: $(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)" -install install-all: +install install_all install-all: $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) DESTDIR="$(DESTDIR)" -install-verbose: +install_verbose install-verbose: $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V DESTDIR="$(DESTDIR)" -install-silent: +install_silent install-silent: $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S DESTDIR="$(DESTDIR)" -no-install: +no_install no-install: $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n DESTDIR="$(DESTDIR)" # Set this to an empty string to avoid an attempt of rebuild before install @@ -1093,7 +1117,6 @@ install.html: all installhtml --htmlroot=$(privlib)/html \ --splithead=pod/perlipc \ --splititem=pod/perlfunc \ - --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \ --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \ --verbose @@ -1105,11 +1128,11 @@ install.html: all installhtml .PHONY: regen_perly -run_byacc: +run_byacc run-byacc: @echo "run_byacc is obsolete; try 'make regen_perly' instead" # this outputs perly.h, perly.act and perly.tab -regen_perly: +regen_perly regen-perly: perl regen_perly.pl # We don't want to regenerate perly.c and perly.h, but they might @@ -1132,6 +1155,7 @@ CHMOD_W = chmod +w # opcode.pl: opcode.h opnames.h pp_proto.h # regcomp.pl: regnodes.h # warnings.pl: warnings.h lib/warnings.pm +# feature.pl: feature.h lib/feature.pm # The correct versions should be already supplied with the perl kit, # in case you don't have perl available. # To force them to be regenerated, run @@ -1140,7 +1164,8 @@ CHMOD_W = chmod +w # (make regen_headers is kept for backwards compatibility) AUTOGEN_FILES = opcode.h opnames.h pp_proto.h proto.h embed.h embedvar.h \ - perlapi.h perlapi.c regnodes.h warnings.h lib/warnings.pm + perlapi.h perlapi.c regnodes.h warnings.h lib/warnings.pm \ + lib/feature.pm feature.h .PHONY: regen_headers regen_all @@ -1148,17 +1173,17 @@ regen: FORCE -perl regen.pl -perl regen/uconfig_h.pl -regen_headers: FORCE +regen_headers regen-headers: FORCE -perl regen.pl -v -perl regen/uconfig_h.pl -v -regen_meta: META.yml +regen_meta regen-meta: META.yml META.yml: FORCE PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -Ilib Porting/makemeta -regen_all: regen regen_meta +regen_all regen-all: regen regen_meta .PHONY: manisort manicheck @@ -1230,7 +1255,7 @@ _mopup: -rmdir .depending -@test -f extra.pods && rm -f `cat extra.pods` -@test -f vms/README_vms.pod && rm -f vms/README_vms.pod - -rm -f perl.exp ext.libs $(generated_pods) uni.data opmini.o perlmini.o + -rm -f perl.exp ext.libs $(generated_pods) uni.data opmini.o perlmini.o pod/roffitall -rm -f perl.export perl.dll perl.libexp perl.map perl.def -rm -f perl.loadmap miniperl.loadmap perl.prelmap miniperl.prelmap -rm -f perl.third lib*.so.perl.third perl.3log t/perl.third t/perl.3log @@ -1294,6 +1319,8 @@ _cleaner2: rm -fr lib/B rm -fr lib/CPAN lib/CPANPLUS rm -fr lib/ExtUtils/CBuilder + rm -f pod2htmd.tmp + rm -rf pod/perlfunc pod/perlipc -rmdir cpan/CPANPLUS-Dist-Build/t/dummy-cpanplus cpan/CPANPLUS/t/dummy-cpanplus cpan/CPANPLUS/t/dummy-localmirror -rmdir ext/B/lib -rmdir lib/Archive/Tar lib/Archive lib/Attribute @@ -1384,7 +1411,7 @@ _test: test_prep_pre: preplibrary utilities $(nonxs_ext) -test_prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \ +test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \ $(dynamic_ext) $(TEST_PERL_DLL) runtests x2p/s2p x2p/find2perl \ $(generated_pods) cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) @@ -1396,10 +1423,10 @@ test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL) test check: test_prep $(RUN_TESTS) choose -test_tty: test_prep +test_tty test-tty: test_prep $(RUN_TESTS) tty -test_notty: test_prep +test_notty test-notty: test_prep $(RUN_TESTS) no-tty utest ucheck test.utf8 check.utf8: test_prep @@ -1408,12 +1435,6 @@ utest ucheck test.utf8 check.utf8: test_prep coretest: test_prep TEST_ARGS=-core $(RUN_TESTS) choose -test-prep: test_prep - -test-tty: test_tty - -test-notty: test_notty - # Torture testing test.torture torturetest: test_prep @@ -1431,6 +1452,11 @@ test.utf16 check.utf16: test_prep utest.utf16 ucheck.utf16: test_prep TEST_ARGS="-utf8 -utf16" $(RUN_TESTS) choose +!NO!SUBS! + +case "${osname}${osvers}" in +linux*|darwin*) + $spitshell >>$Makefile <<'!NO!SUBS!' # Targets for valgrind testing: test_prep.valgrind: test_prep perl.valgrind @@ -1443,6 +1469,11 @@ utest.valgrind ucheck.valgrind: test_prep.valgrind perl.valgrind.config test_notty.valgrind: test_prep.valgrind perl.valgrind.config PERL_VALGRIND=1 $(RUN_TESTS) no-tty +!NO!SUBS! + ;; +esac + +$spitshell >>$Makefile <<'!NO!SUBS!' # Targets for Third Degree testing. @@ -1486,19 +1517,19 @@ minitest: $(MINIPERL_EXE) minitest.prep # Test via harness -test_harness: test_prep +test_harness test-harness: test_prep TESTFILE=harness $(RUN_TESTS) choose test_harness_notty: test_prep HARNESS_NOTTY=1 TESTFILE=harness $(RUN_TESTS) choose -test-reonly: test_prep_reonly +test_reonly test-reonly: test_prep_reonly TEST_ARGS='-re \bre\/' TESTFILE=harness $(RUN_TESTS) choose # Porting tests (well-formedness of pod, manifest, etc) -test_porting: test_prep +test_porting test-porting: test_prep cd t && $(RUN_PERL) harness porting/*.t ../lib/diagnostics.t # Handy way to run perlbug -ok without having to install and run the