X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.SH;h=d19e36b6d1333921ace7ba60cc2244b4096f1eea;hb=d1ca9ea32e7b8d5812a70687974b0e642057ff99;hp=859b328d6bb5144b707c3cf16c78faeaa1e53660;hpb=9cf3097f51a8dfc7f98225d903e20bdcb8b43cc2;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Makefile.SH b/Makefile.SH index 859b328..d19e36b 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -76,6 +76,10 @@ true) netbsd*|freebsd[234]*|openbsd*) linklibperl="-L. -lperl" ;; + interix*) + linklibperl="-L. -lperl" + shrpldflags="$shrpldflags -Wl,--image-base,0x57000000" + ;; aix*) shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp" case "$osvers" in @@ -300,7 +304,7 @@ CCCMD = `sh $(shellflags) cflags "optimize='$(OPTIMIZE)'" $@` CCCMDSRC = `sh $(shellflags) cflags "optimize='$(OPTIMIZE)'" $<` CONFIGPM = lib/Config.pm lib/Config_heavy.pl -private = preplibrary $(CONFIGPM) lib/ExtUtils/Miniperl.pm +private = preplibrary $(CONFIGPM) lib/Config.pod lib/ExtUtils/Miniperl.pm # Files to be built with variable substitution before miniperl # is available. @@ -350,7 +354,31 @@ obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS) -lintflags = -hbvxac +lintflags = \ + -bhn \ + -p \ + -s \ + -Ncheck=%all \ + -Nlevel=4 \ + -errfmt=src \ + -errtags \ + -erroff=E_BAD_PTR_CAST \ + -erroff=E_BLOCK_DECL_UNUSED \ + -erroff=E_CONSTANT_CONDITION \ + -erroff=E_BAD_PTR_CAST_ALIGN \ + -erroff=E_PTRDIFF_OVERFLOW \ + -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_MAIN_PARAM \ + -Wfoo.flow .c$(OBJ_EXT): $(CCCMD) $(PLDLFLAGS) $*.c @@ -630,7 +658,7 @@ perl.valgrind.config: config.sh perl.config.dashg: @echo "Checking optimize='-g' in config.sh..." @grep "^optimize=" config.sh - @grep "^optimize='-g'" config.sh >/dev/null || exit 1 + @egrep "^optimize='(-g|.*-g[1-3].*)'" config.sh >/dev/null || exit 1 perl.third.config: config.sh @echo "To build perl.third you must Configure -Doptimize=-g -Uusemymalloc, checking..." @@ -738,17 +766,14 @@ preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL) autosplit_lib_modules(@ARGV)' lib/*/*.pm $(MAKE) lib/re.pm -# Take care to avoid modifying lib/Config.pm without reason -# (If trying to create a new port and having problems with the configpm script, -# try 'make minitest' and/or commenting out the tests at the end of configpm.) -$(CONFIGPM): config.sh miniperl$(EXE_EXT) configpm Porting/Glossary - $(LDLIBPTH) ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl configpm.tmp - sh mv-if-diff configpm.tmp lib/Config.pm +lib/Config.pod: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary + $(LDLIBPTH) ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm + +$(CONFIGPM): lib/Config.pod lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl $(CONFIGPM) $(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp sh mv-if-diff minimod.tmp $@ - -touch lib/ExtUtils/Miniperl.pm lib/re.pm: ext/re/re.pm cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm @@ -781,7 +806,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/perl592delta.pod && cd pod && $(LNS) perl592delta.pod perldelta.pod && cd .. && echo "pod/perldelta.pod" >> extra.pods # See buildtoc + -@test -f pod/perl593delta.pod && cd pod && $(LNS) perl593delta.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` @@ -833,13 +858,14 @@ install.man: all installman # Eventually Configure could ask for some of these values. install.html: all installhtml -@test -f README.vms && cd vms && $(LNS) ../README.vms README_vms.pod && cd .. - $(LDLIBPTH) ./perl installhtml \ + $(LDLIBPTH) ./perl installhtml \ --podroot=. --podpath=. --recurse \ - --htmldir=$(privlib)/html \ - --htmlroot=$(privlib)/html \ + --htmldir=$(privlib)/html \ + --htmlroot=$(privlib)/html \ --splithead=pod/perlipc \ --splititem=pod/perlfunc \ --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \ + --ignore=Porting/Maintainers.pm,Porting/patching.pod,Porting/pumpkin.pod,Porting/repository.pod \ --verbose @@ -999,12 +1025,12 @@ _cleaner1: # Some systems do not support "?", so keep these files separate. _cleaner2: -rm -f core.*perl.*.? t/core.perl.*.? .?*.c - rm -f core *perl.core t/core t/*perl.core + rm -f core *perl.core t/core t/*perl.core core.* t/core.* rm -f t/misctmp* t/forktmp* t/tmp* t/c t/perl$(EXE_EXT) t/rantests rm -f so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR) rm -rf $(addedbyconf) rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old makefile.old - rm -f $(private) lib/Config.pod + rm -f $(private) rm -rf $(unidatafiles) $(unidatadirs) rm -rf lib/auto rm -f lib/.exists lib/*/.exists lib/*/*/.exists @@ -1013,8 +1039,11 @@ _cleaner2: rm -f preload rm -f testcompile compilelog rm -rf lib/Encode - -rmdir lib/B lib/Data - -rmdir lib/Filter/Util lib/IO/Socket lib/IO + 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/Compress lib/Data + -rmdir lib/Filter/Util lib/IO/Socket -rmdir lib/List lib/MIME lib/Scalar lib/Sys -rmdir lib/threads lib/XS @@ -1027,14 +1056,10 @@ _verycleaner: @$(LDLIBPTH) $(MAKE) _cleaner2 -rm -f *~ *.orig */*~ */*.orig */*/*~ */*/*.orig -# The following lint has practically everything turned on. Unfortunately, -# you have to wade through a lot of mumbo jumbo that can't be suppressed. -# If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message -# for that spot. - .PHONY: lint lint: $(c) - lint $(lintflags) $(defs) perly.c $(c) > perl.fuzz + rm -f *.ln + lint $(lintflags) -DPERL_CORE -D_REENTRANT -DDEBUGGING -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(c) # Need to unset during recursion to go out of loop. # The README below ensures that the dependency list is never empty and @@ -1269,14 +1294,15 @@ etags: TAGS TAGS: emacs/cperl-mode.elc sh emacs/ptags -ctags: tags - # Let's hope make will not go into an infinite loop on case-unsensitive systems # This may also fail if . is in the head of the path, since perl will # require -Ilib tags: TAGS perl emacs/e2ctags.pl TAGS > tags +ctags: + ctags -f Tags -N --totals --languages=c --langmap=c:+.h *.c *.h + # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE # If this runs make out of memory, delete /usr/include lines. !NO!SUBS! @@ -1350,3 +1376,4 @@ esac ;; esac +# ex: set ts=8 sts=4 sw=4 noet: