X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.SH;h=da28a661a3ce22e65f807693e14a1b4637c74bfb;hb=33b5f13c2468a991d2b495f02a62b59163be82af;hp=6ee872b55cc0cc2884ebc40bbedb70506de3ab92;hpb=51d941aefad9cfe92a7afbbddcebc6bceb28f312;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Makefile.SH b/Makefile.SH index 6ee872b..da28a66 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -73,7 +73,7 @@ true) sunos*) linklibperl="-lperl" ;; - netbsd*|freebsd[234]*|openbsd*) + netbsd*|freebsd[234]*|openbsd*|dragonfly*) linklibperl="-L. -lperl" ;; interix*) @@ -189,6 +189,9 @@ CLDFLAGS = $ldflags mallocsrc = $mallocsrc mallocobj = $mallocobj +madlyh = $madlyh +madlysrc = $madlysrc +madlyobj = $madlyobj LNS = $lns # NOTE: some systems don't grok "cp -f". XXX Configure test needed? CPS = $cp @@ -342,47 +345,53 @@ h1 = EXTERN.h INTERN.h XSUB.h av.h config.h 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 $(madlyh) h = $(h1) $(h2) $(h3) $(h4) $(h5) -c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c reentr.c -c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c -c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c -c4 = globals.c perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c +c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c perl.c +c2 = perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c +c3 = taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c globals.c +c4 = perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c +c5 = $(madlysrc) $(mallocsrc) -c = $(c1) $(c2) $(c3) $(c4) miniperlmain.c perlmain.c opmini.c +c = $(c1) $(c2) $(c3) $(c4) $(c5) miniperlmain.c perlmain.c opmini.c -obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) +obj1 = $(madlyobj) $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) obj2 = hv$(OBJ_EXT) av$(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) lintflags = \ - -bhn \ + -b \ + -n \ -p \ - -s \ -Ncheck=%all \ -Nlevel=4 \ + -errchk=parentheses \ + -errhdr=%all \ -errfmt=src \ -errtags \ + -erroff=E_ASSIGN_NARROW_CONV \ -erroff=E_BAD_PTR_CAST \ + -erroff=E_BAD_PTR_CAST_ALIGN \ + -erroff=E_BAD_PTR_INT_COMBINATION \ + -erroff=E_BAD_SIGN_EXTEND \ -erroff=E_BLOCK_DECL_UNUSED \ + -erroff=E_CASE_FALLTHRU \ -erroff=E_CONSTANT_CONDITION \ - -erroff=E_BAD_PTR_CAST_ALIGN \ - -erroff=E_PTRDIFF_OVERFLOW \ + -erroff=E_EQUALITY_NOT_ASSIGNMENT \ -erroff=E_EXPR_NULL_EFFECT \ - -erroff=E_BAD_PTR_INT_COMBINATION \ - -erroff=E_LOOP_EMPTY \ - -erroff=E_TRUE_LOGICAL_EXPR \ -erroff=E_FALSE_LOGICAL_EXPR \ - -erroff=E_INDISTING_FROM_TRUNC \ - -erroff=E_POINTER_TO_OBJECT \ - -erroff=E_ASSIGN_NARROW_CONV \ - -erroff=E_BAD_SIGN_EXTEND \ -erroff=E_INCL_NUSD \ + -erroff=E_INDISTING_FROM_TRUNC \ + -erroff=E_LOOP_EMPTY \ -erroff=E_MAIN_PARAM \ - -Wfoo.flow + -erroff=E_POINTER_TO_OBJECT \ + -erroff=E_PTRDIFF_OVERFLOW \ + -erroff=E_SHIFT_CNT_NEG_TOO_BIG_L \ + -erroff=E_STATIC_UNUSED \ + -erroff=E_TRUE_LOGICAL_EXPR .c$(OBJ_EXT): $(CCCMD) $(PLDLFLAGS) $*.c @@ -806,7 +815,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/perl593delta.pod && cd pod && $(LNS) perl593delta.pod perldelta.pod && cd .. && echo "pod/perldelta.pod" >> extra.pods # See buildtoc + -@test -f pod/perl594delta.pod && cd pod && $(LNS) perl594delta.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) ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst` @@ -880,9 +889,10 @@ install.html: all installhtml run_byacc: @echo "run_byacc is obsolete; try 'make regen_perly' instead" -# this outputs perly.act and perly.tab +# this outputs perly.h, perly.act, perly.tab, madly.h, madly.act and madly.tab regen_perly: perl regen_perly.pl + perl regen_madly.pl # We don't want to regenerate perly.c and perly.h, but they might # appear out-of-date after a patch is applied or a new distribution is @@ -893,6 +903,13 @@ perly.c: perly.y perly.h: perly.y -@sh -c true +# Similary for madly. +madly.c: madly.y + -@sh -c true + +madly.h: madly.y + -@sh -c true + # No compat3.sym here since and including the 5.004_50. # No interp.sym since 5.005_03. SYM = global.sym globvar.sym perlio.sym pp.sym @@ -967,6 +984,10 @@ s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) +.PHONY: printconfig +printconfig: + @eval `$(LDLIBPTH) ./perl -Ilib -V:$(CONFIGVAR)`; echo $$$(CONFIGVAR) + .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \ realclean _realcleaner clobber _clobber \ distclean veryclean _verycleaner @@ -1041,13 +1062,14 @@ _cleaner2: rm -f preload rm -f testcompile compilelog rm -rf lib/Encode lib/Compress + 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 lib/CompressPlugin lib/UncompressPlugin - -rmdir lib/Filter/Util lib/IO/Socket lib/IO/Compress lib/IO/Uncompress - -rmdir lib/List lib/MIME lib/Scalar lib/Sys - -rmdir lib/threads lib/XS + -rmdir lib/B lib/Data + -rmdir lib/Filter/Util lib/IO/Socket + -rmdir lib/List lib/MIME lib/Scalar lib/Sys + -rmdir lib/threads lib/XS lib/Hash _realcleaner: @$(LDLIBPTH) $(MAKE) _cleaner1 CLEAN=realclean @@ -1171,10 +1193,10 @@ test_prep.valgrind: test_prep perl.valgrind test.valgrind check.valgrind: test_prep perl.valgrind.config PERL=./perl PERL_DEBUG=PERL_VALGRIND=1 VALGRIND='$(VALGRIND)' $(MAKE) _test -utest.valgrind ucheck.valgrind: test_prep.valgrind perl.valgrind +utest.valgrind ucheck.valgrind: test_prep.valgrind perl.valgrind.config PERL=./perl PERL_DEBUG=PERL_VALGRIND=1 TEST_ARGS=-utf8 $(MAKE) _test -test_notty.valgrind: test_prep.valgrind perl.valgrind +test_notty.valgrind: test_prep.valgrind perl.valgrind.config PERL=./perl $(MAKE) PERL_DEBUG=PERL_VALGRIND=1 _test_notty # Targets for Third Degree testing.