X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.SH;h=faf85f0b7627c1b4e7e7f7864fda9c54a11bc00c;hb=0ed299501d408b6e22065c36966752a861574a3d;hp=ae6072e0b7768c67e31dfc153864183785acd56f;hpb=830717a75f047ef8412eae24a226ec989038565f;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Makefile.SH b/Makefile.SH index ae6072e..faf85f0 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -310,13 +310,11 @@ shextract = Makefile cflags config.h makeaperl makedepend \ # available. Dependencies handled manually below (for now). pl = pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL \ - pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL \ - pod/buildtoc.PL + pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL # lib/lib.pm is not listed here because it has a rule of its own. plextract = pod/pod2html pod/pod2latex pod/pod2man pod/pod2text \ - pod/pod2usage pod/podchecker pod/podselect \ - pod/buildtoc + pod/pod2usage pod/podchecker pod/podselect addedbyconf = UU $(shextract) $(plextract) lib/lib.pm pstruct @@ -579,7 +577,7 @@ miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) $spitshell >>Makefile <<'!NO!SUBS!' miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) -@rm -f miniperl.xok - $(CC) $(CLDFLAGS) -o miniperl \ + $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl \ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs) $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '' || $(MAKE) minitest !NO!SUBS! @@ -590,18 +588,29 @@ miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) perl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT) -@rm -f miniperl.xok - $(SHRPENV) $(CC) -o perl$(PERL_SUFFIX) $(PERL_PROFILE_LDFLAGS) $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + $(SHRPENV) $(LDLIBPTH) $(CC) -o perl$(PERL_SUFFIX) $(PERL_PROFILE_LDFLAGS) $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) # Purify/Quantify Perls. pureperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT) - $(SHRPENV) purify $(CC) -o pureperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + $(SHRPENV) $(LDLIBPTH) purify $(CC) -o pureperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) purecovperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT) - $(SHRPENV) purecov $(CC) -o purecovperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + $(SHRPENV) $(LDLIBPTH) purecov $(CC) -o purecovperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) quantperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT) - $(SHRPENV) quantify $(CC) -o quantperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + $(SHRPENV) $(LDLIBPTH) quantify $(CC) -o quantperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + +# Valgrind perl (currently Linux only) + +perl.valgrind.config: config.sh + @echo "To build perl.valgrind you must Configure -Doptimize=-g -Uusemymalloc, checking..." + @$(MAKE) perl.config.dashg + @echo "Checking usemymalloc='n' in config.sh..." + @grep "^usemymalloc=" config.sh + @grep "^usemymalloc='n'" config.sh >/dev/null || exit 1 + @echo "And of course you have to have valgrind..." + valgrind ./perl -e 1 2>/dev/null || exit 1 # Third Degree Perl (Tru64 only) @@ -688,7 +697,7 @@ microperl: # has been invoked correctly. suidperl$(EXE_EXT): $& sperl$(OBJ_EXT) perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT) - $(SHRPENV) $(CC) -o suidperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + $(SHRPENV) $(LDLIBPTH) $(CC) -o suidperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) !NO!SUBS! @@ -754,33 +763,39 @@ extra.pods: miniperl$(EXE_EXT) -@test -f vms/perlvms.pod && cd pod && $(LNS) ../vms/perlvms.pod perlvms.pod && cd .. && echo "pod/perlvms.pod" >> extra.pods extras.make: perl$(EXE_EXT) - -@test -s extras.lst && PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst` + -@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst` extras.test: perl$(EXE_EXT) - -@test -s extras.lst && PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&test(@ARGV)' `cat extras.lst` + -@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&test(@ARGV)' `cat extras.lst` extras.install: perl$(EXE_EXT) - -@test -s extras.lst && PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst` + -@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst` .PHONY: install install-strip install-all install-verbose install-silent \ no-install install.perl install.man install.html +META.yml: Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm + $(LDLIBPTH) ./miniperl -Ilib Porting/makemeta + install-strip: - $(MAKE) STRIPFLAGS=-s install + $(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)" install install-all: - $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) + $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) DESTDIR="$(DESTDIR)" install-verbose: - $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V + $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V DESTDIR="$(DESTDIR)" install-silent: - $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S + $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S DESTDIR="$(DESTDIR)" no-install: - $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n + $(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n DESTDIR="$(DESTDIR)" -install.perl: all installperl +# Set this to an empty string to avoid an attempt of rebuild before install +INSTALL_DEPENDENCE = all + +install.perl: $(INSTALL_DEPENDENCE) installperl if [ -n "$(COMPILE)" ]; \ then \ cd utils; $(MAKE) compile; \ @@ -788,11 +803,11 @@ install.perl: all installperl cd ../pod; $(MAKE) compile; \ else :; \ fi - $(LDLIBPTH) ./perl installperl $(INSTALLFLAGS) $(STRIPFLAGS) + $(LDLIBPTH) ./perl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS) $(MAKE) extras.install install.man: all installman - $(LDLIBPTH) ./perl installman $(INSTALLFLAGS) + $(LDLIBPTH) ./perl installman --destdir=$(DESTDIR) $(INSTALLFLAGS) # XXX Experimental. Hardwired values, but useful for testing. # Eventually Configure could ask for some of these values. @@ -892,8 +907,8 @@ regen_all: $(PERLYVMS) regen regen_pods .PHONY: manisort manicheck manisort: FORCE - LC_ALL=C sort -fc MANIFEST || (echo "WARNING: re-sorting MANIFEST"; \ - LC_ALL=C sort -fo MANIFEST MANIFEST) + LC_ALL=C sort -fdc MANIFEST || (echo "WARNING: re-sorting MANIFEST"; \ + LC_ALL=C sort -fdo MANIFEST MANIFEST) manicheck: FORCE perl Porting/manicheck @@ -993,9 +1008,9 @@ _cleaner2: rm -f testcompile compilelog -rmdir lib/B lib/Data lib/Digest rm -rf lib/Encode - -rmdir lib/IO/Socket lib/IO/t lib/IO - -rmdir lib/Filter/Util lib/List lib/MIME lib/PerlIO lib/Scalar lib/Sys - -rmdir lib/Thread lib/XS lib/threads/shared lib/threads t/lib/B + -rmdir lib/Filter/Util lib/IO/Socket lib/IO + -rmdir lib/List lib/MIME lib/Scalar lib/Sys + -rmdir lib/threads lib/XS _realcleaner: @$(LDLIBPTH) $(MAKE) _cleaner1 CLEAN=realclean @@ -1043,7 +1058,7 @@ makedepend: makedepend.SH config.sh utest ucheck test.utf8 check.utf8 test.torture torturetest \ test.third check.third utest.third ucheck.third test_notty.third \ test.deparse test_notty.deparse test_harness test_harness_notty \ - minitest coretest + test.bytecompile minitest coretest test.taintwarn # Cannot delegate rebuilding of t/perl to make # to allow interlaced test and minitest @@ -1102,6 +1117,20 @@ test-notty: test_notty test.torture torturetest: test_prep PERL=./perl TEST_ARGS=-torture $(MAKE) _test +# Targets for valgrind testing: + +test_prep.valgrind: test_prep perl.valgrind + PERL=./perl $(MAKE) _test_prep + +test.valgrind check.valgrind: test_prep perl.valgrind.config + PERL=./perl PERL_DEBUG=PERL_VALGRIND=1 $(MAKE) _test + +utest.valgrind ucheck.valgrind: test_prep.valgrind perl.valgrind + PERL=./perl PERL_DEBUG=PERL_VALGRIND=1 TEST_ARGS=-utf8 $(MAKE) _test + +test_notty.valgrind: test_prep.valgrind perl.valgrind + PERL=./perl $(MAKE) PERL_DEBUG=PERL_VALGRIND=1 _test_notty + # Targets for Third Degree testing. test_prep.third: test_prep perl.third @@ -1116,6 +1145,11 @@ utest.third ucheck.third: test_prep.third perl.third test_notty.third: test_prep.third perl.third PERL=./perl.third $(MAKE) PERL_DEBUG=PERL_3LOG=1 _test_notty +# Targets for Bytecode/ByteLoader testing. + +test.bytecompile: test_prep + PERL=./perl TEST_ARGS=-bytecompile $(MAKE) _test + # Targets for Deparse testing. test.deparse: test_prep @@ -1124,6 +1158,11 @@ test.deparse: test_prep test_notty.deparse: test_prep PERL=./perl TEST_ARGS=-deparse $(MAKE) _test_notty +# Targets to run the test suite with -t + +test.taintwarn: test_prep + PERL=./perl TEST_ARGS=-taintwarn $(MAKE) _test + # Can't depend on lib/Config.pm because that might be where miniperl # is crashing. minitest: miniperl$(EXE_EXT) lib/re.pm @@ -1233,9 +1272,9 @@ $rm -f $firstmakefile # Now do any special processing required before building. case "$ebcdic" in -$define) +define) xxx='' - echo "This is an EBCDIC system, checking if any parser files need regenerating." >&4 + echo "This is an EBCDIC system, checking if any parser files need regenerating." >&2 case "$osname" in os390|posix-bc) rm -f y.tab.c y.tab.h