X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.SH;h=faf85f0b7627c1b4e7e7f7864fda9c54a11bc00c;hb=1933e12cd0d32c774bd7f483285802de52dc8cbc;hp=1f2263816c871ae498e969739e22f615fbf49a6e;hpb=f913803b6e67ae4c588683bcf7820e5997343335;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Makefile.SH b/Makefile.SH index 1f22638..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 @@ -603,6 +601,17 @@ purecovperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_e quantperl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs $(PERLEXPORT) $(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) perl.config.dashg: @@ -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)" + +# Set this to an empty string to avoid an attempt of rebuild before install +INSTALL_DEPENDENCE = all -install.perl: all installperl +install.perl: $(INSTALL_DEPENDENCE) installperl if [ -n "$(COMPILE)" ]; \ then \ cd utils; $(MAKE) compile; \ @@ -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 @@ -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 \ - test.bytecompile 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 @@ -1129,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