X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/c13fdd862cdcd2a9001523a3b81e435228302b74..8effa313da900da0f8fd20d1b081587c842a085e:/Makefile.SH diff --git a/Makefile.SH b/Makefile.SH index 1646478..edebe2d 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -45,6 +45,14 @@ true) -compatibility_version 1 -current_version $patchlevel \ -prebind -seg1addr 0x27000000 -install_name \$(shrpdir)/\$@" ;; + rhapsody*|darwin*) + shrpldflags="${ldflags} -dynamiclib \ + -compatibility_version 1 \ + -current_version \ + ${api_version}.${api_subversion} \ + -image_base 0x4be00000 \ + -install_name \$(shrpdir)/\$@" + ;; cygwin*) linklibperl="-lperl" ;; @@ -76,9 +84,6 @@ true) os2) ldlibpth='' ;; - rhapsody) - eval "ldlibpth=\"$ldlibpthname=`pwd`/Perl:\$$ldlibpthname\"" - ;; *) eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\"" ;; @@ -320,9 +325,6 @@ ext.libs: $(static_ext) # How to build libperl. This is still rather convoluted. # Load up custom Makefile.SH fragment for shared loading and executables: case "$osname" in -cygwin*) - Makefile_s="cygwin/Makefile.SHs" - ;; *) Makefile_s="$osname/Makefile.SHs" ;; @@ -527,11 +529,15 @@ $(plextract): miniperl lib/Config.pm extra.pods: miniperl -@test -f extra.pods && rm -f `cat extra.pods` -@rm -f extra.pods - -@for x in `grep -l '^=[a-z]' README.*` ; do \ + -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \ nx=`echo $$x | sed -e "s/README\.//"`; \ $(LNS) ../$$x "pod/perl"$$nx".pod" ; \ echo "pod/perl"$$nx".pod" >> extra.pods ; \ done + -@test -f vms/perlvms.pod && $(LNS) ../vms/perlvms.pod pod/perlvms.pod && echo "pod/perlvms.pod" >> extra.pods + +install-strip: + $(MAKE) STRIPFLAGS=-s install install: all install.perl install.man @@ -543,7 +549,7 @@ install.perl: all installperl cd ../pod; $(MAKE) compile; \ else :; \ fi - $(LDLIBPTH) ./perl installperl + $(LDLIBPTH) ./perl installperl $(STRIPFLAGS) install.man: all installman $(LDLIBPTH) ./perl installman @@ -551,6 +557,7 @@ install.man: all installman # XXX Experimental. Hardwired values, but useful for testing. # Eventually Configure could ask for some of these values. install.html: all installhtml + -@test -f README.vms && $(LNS) ../README.vms vms/README_vms.pod $(LDLIBPTH) ./perl installhtml \ --podroot=. --podpath=. --recurse \ --htmldir=$(privlib)/html \ @@ -597,26 +604,32 @@ SYMH = perlvars.h intrpvar.h thrdvar.h CHMOD_W = chmod +w # The following files are generated automatically -# keywords.pl: keywords.h -# opcode.pl: opcode.h opnames.h pp_proto.h pp.sym -# [* embed.pl needs pp.sym generated by opcode.pl! *] -# embed.pl: proto.h embed.h embedvar.h global.sym objXSUB.h -# perlapi.h perlapi.c pod/perlintern.pod -# pod/perlapi.pod -# bytecode.pl: ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c -# ext/B/B/Asmdata.pm -# regcomp.pl: regnodes.h -# warnings.pl: warnings.h lib/warnings.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, type # make regen_headers -AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym embed.h \ - embedvar.h global.sym pod/perlintern.pod pod/perlapi.pod \ - objXSUB.h perlapi.h perlapi.c ext/ByteLoader/byterun.h \ - ext/ByteLoader/byterun.c ext/B/B/Asmdata.pm regnodes.h \ - warnings.h lib/warnings.pm +KEYWORDS_PL_GEN = keywords.h + +OPCODE_PL_GEN = opcode.h opnames.h pp_proto.h pp.sym + +# embed.pl needs pp.sym generated by opcode.pl + +EMBED_PL_GEN = proto.h embed.h embedvar.h global.sym objXSUB.h \ + perlapi.h perlapi.c pod/perlintern.pod pod/perlapi.pod + +BYTECODE_PL_GEN = ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c \ + ext/B/B/Asmdata.pm + +REGCOMP_PL_GEN = regnodes.h + +WARNINGS_PL_GEN = warnings.h lib/warnings.pm + +# End of automatically generated files. +# Beginning of rules to generate them on request. + +AUTOGEN_FILES = $(KEYWORDS_PL_GEN) $(OPCODE_PL_GEN) $(EMBED_PL_GEN) \ + $(BYTECODE_PL_GEN) $(REGCOMP_PL_GEN) $(WARNINGS_PL_GEN) regen_headers: FORCE $(CHMOD_W) $(AUTOGEN_FILES) @@ -627,6 +640,30 @@ regen_headers: FORCE perl regcomp.pl perl warnings.pl +$(KEYWORDS_PL_GEN): keywords.pl FORCE + $(CHMOD_W) $(KEYWORDS_PL_GEN) + perl keywords.pl + +$(OPCODE_PL_GEN): opcode.pl FORCE + $(CHMOD_W) $(OPCODE_PL_GEN) + perl opcode.pl + +$(EMBED_PL_GEN): embed.pl FORCE + $(CHMOD_W) $(EMBED_PL_GEN) + perl embed.pl + +$(BYTECODE_PL_GEN): bytecode.pl FORCE + $(CHMOD_W) $(BYTECODE_PL_GEN) + perl bytecode.pl + +$(REGCOMP_PL_GEN): regcomp.pl FORCE + $(CHMOD_W) $(REGCOMP_PL_GEN) + perl regcomp.pl + +$(WARNINGS_PL_GEN): warnings.pl FORCE + $(CHMOD_W) $(WARNINGS_PL_GEN) + perl warnings.pl + # Extensions: # Names added to $(dynamic_ext) or $(static_ext) or $(nonxs_ext) will # automatically get built. There should ordinarily be no need to change @@ -663,6 +700,7 @@ distclean: clobber _mopup: rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c -@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 extra.pods -rm -f perl.export perl.dll perl.libexp perl.map perl.def -rm -f perl.loadmap miniperl.loadmap perl.prelmap miniperl.prelmap @@ -687,7 +725,7 @@ _cleaner: -@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \ $(LDLIBPTH) sh ext/util/make_ext realclean $$x MAKE=$(MAKE) ; \ done - rm -f *.orig */*.orig *~ */*~ core core.*perl.*.? *perl.core t/core t/core.perl.*.? t/*perl.core t/misctmp* t/tmp* t/c t/perl so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR) + rm -f *.orig */*.orig *~ */*~ core core.*perl.*.? *perl.core t/core t/core.perl.*.? t/*perl.core t/misctmp* t/tmp* t/c t/perl so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR) .nfs* .*.c rm -rf $(addedbyconf) rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old rm -f $(private)