c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c xsutils.c
c = $(c0) $(c1) $(c2) $(c3)
-obj0 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O)
-obj1 = globals$(O) gv$(O) hv$(O) locale$(O) mathoms$(O) mg$(O) miniperlmain$(O) numeric$(O) op$(O) pad$(O)
-obj2 = perl$(O) perlapi$(O) perlio$(O) perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O)
-obj3 = pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O) regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O)
-obj4 = universal$(O) utf8$(O) util$(O) vms$(O) xsutils$(O)
+obj0 = perl$(O)
+obj1 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O)
+obj2 = locale$(O) mathoms$(O) mg$(O) miniperlmain$(O) numeric$(O) op$(O) pad$(O) perlapi$(O) perlio$(O)
+obj3 = perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O) pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O)
+obj4 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O) xsutils$(O)
+
+mini_obj = perlmini$(O) $(obj1) $(obj2) $(obj3) $(obj4)
obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4)
h0 = av.h cc_runtime.h config.h cop.h cv.h embed.h embedvar.h
unidatadirs = lib/unicore/To lib/unicore/lib
# Modules which must be installed before we can build extensions
-LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm [.lib]DynaLoader.pm [.lib]XSLoader.pm [.lib]lib.pm [.lib.ExtUtils]XSSymSet.pm $(ARCHDIR)vmspipe.com [.lib]re.pm unidatafiles.ts
+LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm [.lib]DynaLoader.pm [.lib]XSLoader.pm [.lib]lib.pm $(ARCHDIR)vmspipe.com [.lib]re.pm unidatafiles.ts
utils1 = [.lib.pods]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com
utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]dprofpp.com
@ write sys$output " "
@ write sys$output " Everything is up to date. '$(MMS)''QUALIFIERS' test' to run test suite."
.endif
+
+git_version.h : $(MINIPERL_EXE) make_patchnum.pl
+ $(MINIPERL) make_patchnum.pl
+
base : miniperl perl
@ $(NOOP)
extras : dynext libmods utils podxform extra.pods
miniperl : $(DBG)miniperl$(E) vmspipe.com
@ Continue
-$(MINIPERL_EXE) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
- Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
-$(DBG)miniperl$(E) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
- Link $(LINKFLAGS)/Trace/Exe=$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
+$(MINIPERL_EXE) : miniperlmain$(O), $(DBG)libperlmini$(OLB) $(CRTL)
+ Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperlmini$(OLB)/Library/Include=globals $(CRTLOPTS)
+$(DBG)miniperl$(E) : miniperlmain$(O), $(DBG)libperlmini$(OLB) $(CRTL)
+ Link $(LINKFLAGS)/Trace/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperlmini$(OLB)/Library/Include=globals $(CRTLOPTS)
$(DBG)libperl$(OLB) : $(obj)
@ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)
+$(DBG)libperlmini$(OLB) : $(mini_obj)
+ @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
+ Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)
+
perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
$(MINIPERL) [.vms]Writemain.pl "$(EXT)"
$(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
+perlmini.c : perl.c
+ @ IF F$SEARCH("$(MMS$TARGET)") .NES. "" THEN DELETE/NOCONFIRM/LOG $(MMS$TARGET);*
+ @ COPY/NOCONFIRM _NLA0: $(MMS$TARGET)
+ @ SET FILE /ATTRIBUTES=RFM:STMLF $(MMS$TARGET)
+ @ OPEN/APPEND perlmini $(MMS$TARGET)
+ @ WRITE perlmini "#define PERL_IS_MINIPERL"
+ @ CLOSE perlmini
+ @ APPEND/NOCONFIRM/LOG $(MMS$SOURCE) $(MMS$TARGET)
+
+perlmini$(O) : perlmini.c
+ $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+
uudmap.h : generate_uudmap$(E)
DEFINE/USER_MODE SYS$OUTPUT uudmap.h
MCR SYS$DISK:[]generate_uudmap$(E)
@ If F$Search("$(MMS$TARGET)").nes."" Then Delete/NoLog/NoConfirm $(MMS$TARGET);*
@ Copy/NoConfirm _NLA0: $(MMS$TARGET)
-[.ext.DynaLoader]dl_vms.c : [.ext.DynaLoader]dl_vms.xs $(ARCHDIR)Config.pm [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE) [.lib.VMS]Filespec.pm
+[.ext.DynaLoader]dl_vms.c : [.ext.DynaLoader]dl_vms.xs $(ARCHDIR)Config.pm $(MINIPERL_EXE) [.lib.VMS]Filespec.pm
$(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
[.ext.DynaLoader]dl_vms$(O) : [.ext.DynaLoader]dl_vms.c
$(MINIPERL) $(MMS$SOURCE)
@ Rename/Log XSLoader.pm [.ext.DynaLoader]
-dynext : $(LIBPREREQ) $(DBG)perlshr$(E) preplibrary makeppport
- @make_ext "$(MINIPERL_EXE)" "$(MMS)"
+dynext : $(LIBPREREQ) $(DBG)perlshr$(E) preplibrary makeppport $(MINIPERL_EXE)
+ $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--all"
[.lib]lib.pm : [.lib]lib_pm.PL
$(MINIPERL) $(MMS$SOURCE)
@ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.VMS]
-[.lib.ExtUtils]XSSymSet.pm : [.vms.ext]XSSymSet.pm
- @ If F$Search("[.lib]ExtUtils.Dir").eqs."" Then Create/Directory [.lib.ExtUtils]
- Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.ExtUtils]
-
[.lib.pods]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
op$(O) : op.c $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perl$(O) : perl.c $(h)
+perl$(O) : perl.c git_version.h $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
perlapi$(O) : perlapi.c $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
- If F$Search("[.lib]Config_heavy.pl;-1").nes."" Then Purge/NoConfirm/Log [.lib]Config_heavy.pl
- If F$Search("$(ARCHDIR)Config_heavy.pl;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config_heavy.pl
- If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm
- - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm
- If F$Search("[.lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.lib.VMS]*.*
- If F$Search("[.lib.pods]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.lib.pods]*.Pod
- If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
- If F$Search("[.lib.pods]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pods]*.com
clean : tidy cleantest cleanup_unpacked_files
- - @make_ext "$(MINIPERL_EXE)" "$(MMS)" clean
+ - $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--all" "--target=clean"
- If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
- If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
- If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
- If F$Search("vmsish.h").nes."" Then Delete/NoConfirm/Log vmsish.h;*
- If F$Search("vms.c") .nes."" Then Delete/NoConfirm/Log vms.c;*
- If F$Search("perlmain.c") .nes."" Then Delete/NoConfirm/Log perlmain.c;*
+ - If F$Search("perlmini.c") .nes."" Then Delete/NoConfirm/Log perlmini.c;*
- If F$Search("uudmap.h") .nes."" Then Delete/NoConfirm/Log uudmap.h;*
- If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
- If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
- If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
- If F$Search("[.pod]perldelta.pod").nes."" Then Delete/NoConfirm/Log [.pod]perldelta.pod;*
- @extra_pods CLEAN
+ - If F$Search("unpushed.h").nes."" Then Delete/NoConfirm/Log unpushed.h;*
+ - If F$Search("[.lib]Config_git.pl").nes."" Then Delete/NoConfirm/Log [.lib]Config_git.pl;*
+ - If F$Search("git_version.h").nes."" Then Delete/NoConfirm/Log git_version.h;*
realclean : clean
- - @make_ext "$(MINIPERL_EXE)" "$(MMS)" realclean
+ - $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--all" "--target=realclean"
- $(MINIPERL) mkppport "--clean"
- If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
- If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
- If F$Search("[.lib.unicore]Properties.").nes."" Then Delete/NoConfirm/Log [.lib.unicore]Properties.;*
- $(MINIPERL) -e "use File::Path; rmtree(\@ARGV,1,0);" $(unidatadirs)
- If F$Search("Descrip.MMS").nes."" Then Delete/NoConfirm/Log Descrip.MMS;*
- - If F$Search("make_ext.Com").nes."" Then Delete/NoConfirm/Log make_ext.Com;*
- If F$Search("extra_pods.Com").nes."" Then Delete/NoConfirm/Log extra_pods.Com;*
- If F$Search("extra.pods").nes."" Then Delete/NoConfirm/Log extra.pods;*
- $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
- If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;*
- If F$Search("$(ARCHDIR)Config_heavy.pl").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config_heavy.pl;*
- If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
- - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
- If F$Search("[.lib.pods]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pods]*.pod;*
- If F$Search("[.lib.pods]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pods]perldoc.com;*
- If F$Search("[.utils]perlivp.com").nes."" Then Delete/NoConfirm/Log [.utils]perlivp.com;*