X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.SH;h=629f51cfb52c07e30d072ae1f39cecf8daf04756;hb=049aabcba31f7c58d7cadff7bb84dd748ced2750;hp=2fe292edb262611875cbe0c0c0dd1ce622821c8c;hpb=419464e2da2049b582519e323bb79a340a67e957;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Makefile.SH b/Makefile.SH index 2fe292e..629f51c 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -276,7 +276,7 @@ SHRPENV = $shrpenv # if building a shared libperl.so that might later be linked into # another application, then it might be appropriate to also build static # extensions (usually just DynaLoader) with relocatable code (e.g. -fPIC -# for GNU cc). This is handled by ext/util/make_ext. +# for GNU cc). This is handled by ext/util/make_ext.pl. STATIC = $static_target # The following is used to include the current directory in @@ -371,7 +371,10 @@ CCCMD = `sh $(shellflags) cflags "optimize='$(OPTIMIZE)'" $@` CCCMDSRC = `sh $(shellflags) cflags "optimize='$(OPTIMIZE)'" $<` +# we dont include lib/Config_git.pl here, as it causes circular dependencies CONFIGPM = lib/Config.pm lib/Config_heavy.pl +# so we add it here: +CONFIGPM_EXTRA = $(CONFIGPM) lib/Config_git.pl CONFIGPOD = lib/Config.pod @@ -392,7 +395,7 @@ CONFIGH = xconfig.h xconfig.h: config_h.SH Cross/config-\$(CROSS_NAME).sh CONFIG_SH=Cross/config-\$(CROSS_NAME).sh CONFIG_H=xconfig.h \$(SHELL) config_h.SH - #TODO \$(LDLIBPTH) ./miniperl -Ilib -MCross=\$(CROSS_NAME) config_h.PL "INST_VER=\$(INST_VER)" "CORE_DIR=\$(CROSS_LIB)" "CONFIG_H=xconfig.h" + #TODO \$(LDLIBPTH) ./miniperl$(EXE_EXT) -Ilib -MCross=\$(CROSS_NAME) config_h.PL "INST_VER=\$(INST_VER)" "CORE_DIR=\$(CROSS_LIB)" "CONFIG_H=xconfig.h" cp xconfig.h \$(CROSS_LIB)/ cp xconfig.h \$(CROSS_LIB)/config.h @@ -403,7 +406,7 @@ esac ## In the following dollars and backticks do not need the extra backslash. $spitshell >>$Makefile <<'!NO!SUBS!' -private = preplibrary $(CONFIGPM) $(CONFIGPOD) lib/ExtUtils/Miniperl.pm +private = preplibrary $(CONFIGPM) $(CONFIGPOD) make_patchnum lib/ExtUtils/Miniperl.pm # Files to be built with variable substitution before miniperl # is available. @@ -513,16 +516,16 @@ splintflags = \ splintfiles = $(c1) -.c$(OBJ_EXT): cflags +.c$(OBJ_EXT): $(CCCMD) $(PLDLFLAGS) $*.c -.c.i: cflags +.c.i: $(CCCMDSRC) -E $*.c > $*.i -.c.s: cflags +.c.s: $(CCCMDSRC) -S $*.c -all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make +all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) miniperl extra.pods $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make @echo " "; @echo " Everything is up to date. Type '$(MAKE) test' to run test suite." @@ -537,12 +540,14 @@ sperl.i: perl.c $(h) .PHONY: all translators utilities make_patchnum -make_patchnum: - sh $(shellflags) make_patchnum.sh +make_patchnum: miniperl$(EXE_EXT) + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib make_patchnum.pl || $(MAKE) miniperl -.patchnum: make_patchnum +git_version.h: stock_git_version.h + cp stock_git_version.h git_version.h -perl$(OBJ_EXT): .patchnum +# make sure that we recompile perl.c if the git version changes +perl$(OBJ_EXT): git_version.h translators: miniperl$(EXE_EXT) $(CONFIGPM) FORCE @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all @@ -589,7 +594,7 @@ miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h perlmain.c: miniperlmain.c config.sh $(FIRSTMAKEFILE) sh writemain $(DYNALOADER) $(static_ext) > perlmain.c -perlmain$(OBJ_EXT): perlmain.c +perlmain$(OBJ_EXT): perlmain.c git_version.h $(CCCMD) $(PLDLFLAGS) $*.c # The file ext.libs is a list of libraries that must be linked in @@ -801,7 +806,7 @@ miniperl$(EXE_EXT): $& miniperlmain$(OBJ_EXT) $(obj) opmini$(OBJ_EXT) $spitshell >>$Makefile <<'!NO!SUBS!' -perl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT) +perl$(EXE_EXT): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT) make_patchnum -@rm -f miniperl.xok $(SHRPENV) $(LDLIBPTH) $(CC) -o perl$(PERL_SUFFIX) $(PERL_PROFILE_LDFLAGS) $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) @@ -940,7 +945,7 @@ $spitshell >>$Makefile <>$Makefile <<'!NO!SUBS!' preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL) @sh ./makedir lib/auto @echo " AutoSplitting perl library" - $(LDLIBPTH) $(RUN) ./miniperl -Ilib -MAutoSplit -MFile::Find -e 'find ({no_chdir=>1, wanted => sub {autosplit_lib_modules($$_) if /\.pm$$/}}, "lib")' + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib -MAutoSplit -MFile::Find -e 'find ({no_chdir=>1, wanted => sub {autosplit_lib_modules($$_) if /\.pm$$/}}, "lib")' $(MAKE) lib/re.pm $(CONFIGPOD): config.sh miniperl$(EXE_EXT) configpm Porting/Glossary - $(LDLIBPTH) $(RUN) ./miniperl -Ilib configpm + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib configpm $(CONFIGPM): $(CONFIGPOD) lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl $(CONFIGPM) - $(LDLIBPTH) $(RUN) ./miniperl minimod.pl > lib/ExtUtils/Miniperl.pm + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) minimod.pl > lib/ExtUtils/Miniperl.pm lib/re.pm: ext/re/re.pm @-rm -f $@ @@ -982,19 +987,19 @@ lib/re.pm: ext/re/re.pm $(plextract): miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p @-rm -f $@ - $(LDLIBPTH) $(RUN) ./miniperl -I`pwd`/lib $@.PL + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -I`pwd`/lib $@.PL x2p/s2p: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p.PL cd x2p; $(LDLIBPTH) $(MAKE) s2p lib/lib.pm: miniperl$(EXE_EXT) $(CONFIGPM) @-rm -f $@ - $(LDLIBPTH) $(RUN) ./miniperl -Ilib lib/lib_pm.PL + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib lib/lib_pm.PL unidatafiles $(unidatafiles): uni.data uni.data: miniperl$(EXE_EXT) $(CONFIGPM) lib/unicore/mktables - cd lib/unicore && $(LDLIBPTH) $(RUN) ../../miniperl -I../../lib mktables -w + cd lib/unicore && $(LDLIBPTH) $(RUN) ../../miniperl$(EXE_EXT) -I../../lib mktables -w touch uni.data extra.pods: miniperl$(EXE_EXT) @@ -1023,7 +1028,7 @@ extras.install: perl$(EXE_EXT) no-install install.perl install.man install.html META.yml: Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm - $(LDLIBPTH) $(RUN) ./miniperl -Ilib Porting/makemeta + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib Porting/makemeta install-strip: $(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)" @@ -1151,16 +1156,16 @@ manicheck: FORCE # DynaLoader may be needed for extensions that use Makefile.PL. $(DYNALOADER): miniperl$(EXE_EXT) preplibrary FORCE - @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib ext/util/make_ext.pl $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER) FORCE - @$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib ext/util/make_ext.pl dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER) FORCE - @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib ext/util/make_ext.pl $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary FORCE - @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) + $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib ext/util/make_ext.pl nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) !NO!SUBS! $spitshell >>$Makefile <