2 # Descrip.MMS for perl5 on VMS
3 # Last revised 8-Nov-1999 by Craig Berry craig.berry@metamor.com
4 # Revised 18-Oct-1998 by Charles Bailey bailey@newman.upenn.edu
6 #: This file uses MMS syntax, and can be processed using DEC's MMS product,
7 #: or the free MMK clone (available by ftp at ftp.spc.edu). If you want to
8 #: a Unix-style MAKE tool, run this file through mms2make.pl, which should
9 #: be found in the same directory as this file. (There should be a pre-made
10 #: copy of Makefile for VAXC in this directory to allow you to build perl.)
12 #: Lines beginning with "#:" will be removed by mms2make.pl when converting
13 #: this file to MAKE syntax.
15 # tidy -- purge files generated by executing this file
16 # clean -- remove all intermediate (e.g. object files, C files generated
17 # during build) files generated by executing this file,
18 # but leave `installable' files (images, library) intact
19 # realclean -- remove all files generated by executing this file
20 # cleansrc -- `realclean' + purge *.c,*.h,descrip.mms
21 # crtl.opt -- compiler-specific linker options file (made automatically)
24 #### Start of system configuration section. ####
35 #: >>>>> Architecture-specific options <<<<<
37 # File type to use for object files
39 # File type to use for object libraries
41 # File type to use for executable images
44 # File type to use for object files
46 # File type to use for object libraries
48 # File type to use for executable images
57 OBJVAL = $(MMS$TARGET_NAME)$(O)
71 .ifdef SOCKETSHR_SOCKETS
75 # If they defined SOCKET but didn't choose a stack, default to SOCKETSHR
78 .ifdef SOCKETSHR_SOCKETS
87 ARCHDIR = [.lib.$(ARCH).$(PERL_VERSION)]
88 ARCHCORE = [.lib.$(ARCH).$(PERL_VERSION).CORE]
89 ARCHAUTO = [.lib.$(ARCH).$(PERL_VERSION).auto]
92 #: Backwards compatibility
93 .ifdef DECC_PIPES_BROKEN
101 #: >>>>>Compiler-specific options <<<<<
104 @ If F$TrnLnm("Sys").eqs."" Then Define/NoLog SYS GNU_CC_Include:[VMS]
107 # -fno-builtin avoids bug in gcc up to version 2.6.2 which can destroy
108 # data when memcpy() is called on large (>64 kB) blocks of memory
109 # (fixed in gcc 2.6.3)
110 XTRACCFLAGS = /Obj=$(MMS$TARGET_NAME)$(O)/NoCase_Hack/Optimize=2
114 LIBS1 = GNU_CC:[000000]GCCLIB.OLB/Library
115 LIBS2 = Sys$Share:VAXCRTL/Shareable
120 DBGSPECFLAGS = /Show=All
122 # Some versions of DECCRTL on AXP have a bug in chdir() which causes the change
123 # to persist after the image exits, even when this was not requested, iff
124 # SYSNAM is enabled. This is fixed in CSC Patch # AXPACRT04_061, but turning
125 # off SYSNAM for the MM[SK] subprocess doesn't hurt anything, so we do it
128 @ Set Process/Privilege=(NoSYSNAM)
129 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").nes."" Then Define/NoLog SYS DECC$System_Include
131 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS Sys$Library
133 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS DECC$Library_Include
136 XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(OBJVAL)
141 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("VAXC$Include").eqs."" Then Define/NoLog SYS Sys$Library
142 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("VAXC$Include").nes."" Then Define/NoLog SYS VAXC$Include
144 XTRACCFLAGS = /Include=[]/Object=$(O)
146 LIBS2 = Sys$Share:VAXCRTL/Shareable
152 #: >>>>> Configuration options <<<<<
153 #: __DEBUG__: builds images with full VMS debugger support
155 DBGCCFLAGS = /List/Debug/NoOpt$(DBGSPECFLAGS)
156 DBGLINKFLAGS = /Trace/Debug/Map/Full/Cross
160 DBGLINKFLAGS = /NoTrace/NoMap
164 #: SOCKET: build in support for TCP/IP sockets
165 #: By default, used SOCKETSHR library; see ReadMe.VMS
166 #: for information on changing socket support
173 SOCKLIB = SocketShr/Share
175 # N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
176 # copies live in [.vms], and the `clean' target will delete copies of
177 # these files in the current default directory.
180 SOCKARCH = $(ARCHCORE)$(SOCKH)
181 SOCKOBJ = sockadapt$(O)
182 SOCKPM = [.lib]Socket.pm
201 THRLIBS1 = sys$share:cma$lib_shr/share|sys$share:cma$rtl/share
203 THRLIBS2 = sys$share:cma$open_lib_shr/share|sys$share:cma$open_rtl/share
210 acth = $(ARCHCORE)fakethr.h
217 # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
218 CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)
219 # Flags for a core compile
220 X2PCFLAGS = $(CFLAGS)/Define=PERL_FOR_X2P
221 # Flags for an x2p compile
222 CORECFLAGS = $(CFLAGS)/Define=PERL_CORE
223 LINKFLAGS = $(DBGLINKFLAGS)
226 MAKEFILE = Descrip.MMS # this file
229 # Macros to invoke a copy of miniperl during the build. Targets which
230 # are built using these macros should depend on $(MINIPERL_EXE)
231 MINIPERL_EXE = Sys$Disk:[]miniperl$(E)
232 MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
233 XSUBPP = $(MINIPERL) [.lib.extutils]xsubpp -noprototypes
234 # Macro to invoke a preexisting copy of Perl. This is used to regenerate
235 # some header files when rebuilding Perl, but premade versions are provided
236 # in the distribution, so it's OK if this doesn't work; it's here to make
237 # life easier for those who modify Perl and rebuild it.
240 # Space-separated list of "dynamic" extensions which should be built for
241 # run-time dynamic loading.
242 dynamic_ext = $extensions
244 # Space-separated list of "static" extensions to build into perlshr (case counts).
246 # object files for these extensions; the trailing comma is required if
247 # there are any object files specified
248 # These must be built separately, or you must add rules below to build them
249 myextobj = [.ext.dynaloader]dl_vms$(O),
250 #: We include the Socket extension by default if we're building with socket
251 #: support, since it's small and not really worth bothering to keep track
254 EXT = $(MYEXT) Socket
255 extobj = $(myextobj) [.ext.socket]socket$(O),
276 FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
278 #### End of system configuration section. ####
280 c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c
281 c1 = hv.c mg.c miniperlmain.c op.c perl.c perlio.c perly.c pp.c pp_ctl.c
282 c2 = pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c sockadapt.c sv.c
283 c3 = taint.c toke.c universal.c utf8.c util.c vms.c
284 c = $(c0) $(c1) $(c2) $(c3)
286 obj0 = $(MALLOC_O) $(SOCKOBJ) av$(O) deb$(O) doio$(O) doop$(O) dump$(O)
287 obj1 = globals$(O) gv$(O) hv$(O) mg$(O) miniperlmain$(O) op$(O) perl$(O)
288 obj2 = perlio$(O) perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) pp_sys$(O)
289 obj3 = regcomp$(O) regexec$(O) run$(O) scope$(O) sockadapt$(O) sv$(O)
290 obj4 = taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O) xsutils$(O)
291 obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4)
293 h0 = $(SOCKH) $(THREADH) av.h cc_runtime.h config.h cop.h cv.h embed.h
294 h1 = embedvar.h extern.h form.h gv.h handy.h hv.h intern.h intrpvar.h
295 h2 = iperlsys.h mg.h nostdio.h objxsub.h op.h opcode.h opnames.h
296 h3 = patchlevel.h perl.h perlio.h perlsdio.h perlvars.h perly.h pp.h
297 h4 = pp_proto.h proto.h regexp.h scope.h sv.h thrdvar.h thread.h utf8.h
298 h5 = util.h vmsish.h warnings.h xsub.h
299 h6 = regcomp.h regcomp.h
301 h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5)
302 allh = $(h) $(h6) $(h7)
304 ac0 = $(SOCKARCH) $(ARCHCORE)av.h $(ARCHCORE)cc_runtime.h
305 ac1 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
306 ac2 = $(ARCHCORE)embedvar.h $(ARCHCORE)extern.h $(acth)
307 ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
308 ac4 = $(ARCHCORE)intern.h $(ARCHCORE)intrpvar.h $(ARCHCORE)iperlsys.h
309 ac5 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)nostdio.h
310 ac6 = $(ARCHCORE)op.h $(ARCHCORE)opcode.h $(ARCHCORE)patchlevel.h
311 ac7 = $(ARCHCORE)perl.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h
312 ac8 = $(ARCHCORE)perlvars.h $(ARCHCORE)perly.h $(ARCHCORE)pp.h
313 ac9 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
314 ac10 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
315 ac11 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h $(ARCHCORE)opnames.h
316 ac12 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
317 ac13 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
318 ac = $(ac0) $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(ac11) $(ac12) $(ac13)
321 CRTLOPTS =,$(CRTL)/Options
327 .SUFFIXES $(O) .c .xs
330 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
334 $(CC) $(CFLAGS) $(MMS$SOURCE)
337 $(XSUBPP) $(MMS$SOURCE) >$(MMS$SOURCE_NAME).c
338 $(CC) $(CFLAGS) $(MMS$SOURCE_NAME).c
341 # Modules which must be installed before we can build extensions
342 LIBPREREQ = $(ARCHDIR)Config.pm [.lib]DynaLoader.pm [.lib]vmsish.pm [.lib.VMS]Filespec.pm [.lib.ExtUtils]XSSymSet.pm
344 utils1 = [.lib.pod]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com [.utils]h2xs.com [.lib]perlbug.com [.lib]perlcc.com [.utils]dprofpp.com
345 utils2 = [.lib]splain.com [.utils]pl2pm.com
348 all : base extras archcorefiles preplibrary perlpods
351 all : base extras x2p archcorefiles preplibrary perlpods
356 extras : dynext libmods utils podxform
358 libmods : $(LIBPREREQ)
360 utils : $(utils1) $(utils2)
362 podxform : [.lib.pod]pod2text.com [.lib.pod]pod2html.com [.lib.pod]pod2latex.com [.lib.pod]pod2man.com
364 x2p : [.x2p]a2p$(E) [.x2p]s2p.com [.x2p]find2perl.com
367 pod1 = [.lib.pod]perl.pod [.lib.pod]perlapio.pod [.lib.pod]perlbook.pod [.lib.pod]perlbot.pod [.lib.pod]perlcall.pod
368 pod2 = [.lib.pod]perldata.pod [.lib.pod]perldebug.pod [.lib.pod]perldelta.pod [.lib.pod]perldiag.pod [.lib.pod]perldsc.pod
369 pod3 = [.lib.pod]perlembed.pod [.lib.pod]perlform.pod [.lib.pod]perlfunc.pod [.lib.pod]perlguts.pod
370 pod4 = [.lib.pod]perlipc.pod [.lib.pod]perllocale.pod [.lib.pod]perllol.pod [.lib.pod]perlmod.pod [.lib.pod]perlobj.pod
371 pod5 = [.lib.pod]perlop.pod [.lib.pod]perlpod.pod [.lib.pod]perlre.pod [.lib.pod]perlref.pod [.lib.pod]perlreftut.pod
372 pod6 = [.lib.pod]perlrun.pod [.lib.pod]perlsec.pod [.lib.pod]perlstyle.pod [.lib.pod]perlsub.pod [.lib.pod]perlsyn.pod
373 pod7 = [.lib.pod]perltie.pod [.lib.pod]perltoc.pod [.lib.pod]perltoot.pod
374 pod8 = [.lib.pod]perltrap.pod [.lib.pod]perlvar.pod [.lib.pod]perlxs.pod [.lib.pod]perlxstut.pod
376 perlpods : $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) [.lib.pod]perlvms.pod
379 archcorefiles : $(ac) $(acth) $(ARCHAUTO)time.stamp
382 miniperl : $(DBG)miniperl$(E)
384 $(MINIPERL_EXE) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
385 Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
386 $(DBG)miniperl$(E) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
387 Link $(LINKFLAGS)/Trace/Exe=$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
389 $(DBG)libperl$(OLB) : $(obj)
390 @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
391 Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)
393 perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
394 $(MINIPERL) [.VMS]Writemain.pl "$(EXT)"
397 # Link an extra perl that doesn't invoke the debugger
398 perl : $(DBG)perl$(E)
399 Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)perl$(E) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
401 perl : $(DBG)perl$(E)
405 $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
406 @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
408 Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)/THREAD=(MULTI,UPCALL)
410 Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
413 $(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
414 Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
416 # The following files are built in one go by gen_shrfls.pl:
417 # perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP
418 # perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only
419 # The song and dance with gen_shrfls.opt accommodates DCL's 255 character
422 # This is a backup target used only with older versions of the DECCRTL which
423 # can't deal with pipes properly. See ReadMe.VMS for details.
424 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
425 $(CC) $(CFLAGS)/NoObject/NoList/PreProcess=perl.i perl.h
426 @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "~~NOCC~~perl.i~~$(CC)$(CFLAGS)" >gen_shrfls.opt
427 @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
428 $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
429 @ Delete/NoLog/NoConfirm perl.i;, gen_shrfls.opt;
430 @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
431 @ Copy _NLA0: $(DBG)perlshr_xtras.ts
433 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
434 @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "$(CC)$(CFLAGS)" >gen_shrfls.opt
435 @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
436 $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
437 @ Delete/NoLog/NoConfirm gen_shrfls.opt;
438 @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
439 @ Copy _NLA0: $(DBG)perlshr_xtras.ts
442 $(ARCHDIR)config.pm : [.lib]config.pm
443 Create/Directory $(ARCHDIR)
444 Copy $(MMS$SOURCE) $(MMS$TARGET)
446 [.lib]config.pm : config.h $(MINIPERL_EXE)
447 $(MINIPERL) ConfigPM.
449 [.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs $(ARCHDIR)Config.pm [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
450 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
452 [.ext.dynaloader]dl_vms$(O) : [.ext.dynaloader]dl_vms.c
453 $(CC) $(CFLAGS) /Include=([],[.ext.dynaloader])/Object=$(MMS$TARGET) $(MMS$SOURCE)
455 [.lib]DynaLoader.pm : [.ext.dynaloader]dynaloader.pm
456 Copy/Log/NoConfirm [.ext.dynaloader]dynaloader.pm [.lib]DynaLoader.pm
457 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
458 @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]DynaLoader.pm
460 [.ext.dynaloader]dynaloader.pm : [.ext.dynaloader]dynaloader_pm.pl
461 $(MINIPERL) $(MMS$SOURCE)
462 @ Rename/Log dynaloader.pm [.ext.dynaloader]
464 dynext : $(LIBPREREQ) $(DBG)perlshr$(E)
465 @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)"
467 [.lib]vmsish.pm : [.vms.ext]vmsish.pm
468 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
470 [.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
471 @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
472 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
474 [.lib.ExtUtils]XSSymSet.pm : [.vms.ext]XSSymSet.pm
475 @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
476 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
478 [.lib.pod]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
479 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
480 $(MINIPERL) $(MMS$SOURCE)
481 Copy/Log [.utils]perldoc.com $(MMS$TARGET)
483 [.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c $(ARCHDIR)Config.pm
484 $(MINIPERL) $(MMS$SOURCE) >$(MMS$TARGET)
486 [.utils]c2ph.com : [.utils]c2ph.PL $(ARCHDIR)Config.pm
487 $(MINIPERL) $(MMS$SOURCE)
489 [.utils]dprofpp.com : [.utils]dprofpp.PL $(ARCHDIR)Config.pm
490 $(MINIPERL) $(MMS$SOURCE)
492 [.utils]h2ph.com : [.utils]h2ph.PL $(ARCHDIR)Config.pm
493 $(MINIPERL) $(MMS$SOURCE)
495 [.utils]h2xs.com : [.utils]h2xs.PL $(ARCHDIR)Config.pm
496 $(MINIPERL) $(MMS$SOURCE)
498 [.lib]perlbug.com : [.utils]perlbug.PL $(ARCHDIR)Config.pm
499 $(MINIPERL) $(MMS$SOURCE)
500 Copy/Log [.utils]perlbug.com $(MMS$TARGET)
502 [.lib]perlcc.com : [.utils]perlcc.PL $(ARCHDIR)Config.pm
503 $(MINIPERL) $(MMS$SOURCE)
504 Copy/Log [.utils]perlcc.com $(MMS$TARGET)
506 [.utils]pl2pm.com : [.utils]pl2pm.PL $(ARCHDIR)Config.pm
507 $(MINIPERL) $(MMS$SOURCE)
509 [.lib]splain.com : [.utils]splain.PL $(ARCHDIR)Config.pm
510 $(MINIPERL) $(MMS$SOURCE)
511 Copy/Log [.utils]splain.com $(MMS$TARGET)
513 [.x2p]find2perl.com : [.x2p]find2perl.PL $(ARCHDIR)Config.pm
514 $(MINIPERL) $(MMS$SOURCE)
516 [.x2p]s2p.com : [.x2p]s2p.PL $(ARCHDIR)Config.pm
517 $(MINIPERL) $(MMS$SOURCE)
519 # Rename catches problem with some DECC versions in which object file is
520 # placed in current default dir, not same one as source file.
521 [.x2p]$(DBG)a2p$(E) : [.x2p]a2p$(O), [.x2p]hash$(O), [.x2p]str$(O), [.x2p]util$(O), [.x2p]walk$(O)
522 @ If F$Search("hash$(O)").nes."" Then Rename/NoLog hash$(O),str$(O),util$(O),walk$(O) [.x2p]
523 Link $(LINKFLAGS) /Exe=$(MMS$TARGET) $(MMS$SOURCE_LIST) $(CRTLOPTS)
525 # Accommodate buggy cpp in some version of DECC, which chokes on illegal
526 # filespec "y.tab.c", and broken gcc cpp, which doesn't start #include ""
527 # search in same dir as source file
528 [.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h vmsish.h $(SOCKH) $(MINIPERL_EXE)
529 $(MINIPERL) -pe "s/^#line\s+(\d+)\s+\Q""y.tab.c""/#line $1 ""y_tab.c""/;" $(MMS$SOURCE) >$(MMS$TARGET_NAME)_vms.c
530 $(CC) $(X2PCFLAGS) /Object=$(MMS$TARGET)/Include=([.x2p],[]) $(MMS$TARGET_NAME)_vms.c
531 Delete/Log/NoConfirm $(MMS$TARGET_NAME)_vms.c;
533 # gcc cpp broken -- doesn't look in directory of source file for #include ""
535 [.x2p]hash$(O) : [.x2p]hash.c
536 $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
538 [.x2p]str$(O) : [.x2p]str.c
539 $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
541 [.x2p]util$(O) : [.x2p]util.c
542 $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
544 [.x2p]walk$(O) : [.x2p]walk.c
545 $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
548 [.lib.pod]pod2html.com : [.pod]pod2html.PL $(ARCHDIR)Config.pm
549 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
550 $(MINIPERL) $(MMS$SOURCE)
551 Copy/Log [.pod]pod2html.com $(MMS$TARGET)
553 [.lib.pod]pod2latex.com : [.pod]pod2latex.PL $(ARCHDIR)Config.pm
554 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
555 $(MINIPERL) $(MMS$SOURCE)
556 Copy/Log [.pod]pod2latex.com $(MMS$TARGET)
558 [.lib.pod]pod2man.com : [.pod]pod2man.PL $(ARCHDIR)Config.pm
559 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
560 $(MINIPERL) $(MMS$SOURCE)
561 Copy/Log [.pod]pod2man.com $(MMS$TARGET)
563 [.lib.pod]pod2text.com : [.pod]pod2text.PL $(ARCHDIR)Config.pm
564 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
565 $(MINIPERL) $(MMS$SOURCE)
566 Copy/Log [.pod]pod2text.com $(MMS$TARGET)
568 preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) $(SOCKPM)
569 @ Write Sys$Output "Autosplitting Perl library . . ."
570 @ Create/Directory [.lib.auto]
571 @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm
573 [.lib.pod]perl.pod : [.pod]perl.pod
574 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
575 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
577 [.lib.pod]perlapio.pod : [.pod]perlapio.pod
578 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
579 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
581 [.lib.pod]perlbook.pod : [.pod]perlbook.pod
582 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
583 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
585 [.lib.pod]perlbot.pod : [.pod]perlbot.pod
586 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
587 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
589 [.lib.pod]perlcall.pod : [.pod]perlcall.pod
590 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
591 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
593 [.lib.pod]perldata.pod : [.pod]perldata.pod
594 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
595 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
597 [.lib.pod]perldebug.pod : [.pod]perldebug.pod
598 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
599 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
601 [.lib.pod]perldelta.pod : [.pod]perldelta.pod
602 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
603 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
605 [.lib.pod]perldiag.pod : [.pod]perldiag.pod
606 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
607 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
609 [.lib.pod]perldsc.pod : [.pod]perldsc.pod
610 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
611 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
613 [.lib.pod]perlembed.pod : [.pod]perlembed.pod
614 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
615 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
617 [.lib.pod]perlform.pod : [.pod]perlform.pod
618 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
619 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
621 [.lib.pod]perlfunc.pod : [.pod]perlfunc.pod
622 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
623 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
625 [.lib.pod]perlguts.pod : [.pod]perlguts.pod
626 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
627 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
629 [.lib.pod]perllocale.pod : [.pod]perllocale.pod
630 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
631 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
633 [.lib.pod]perlipc.pod : [.pod]perlipc.pod
634 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
635 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
637 [.lib.pod]perllol.pod : [.pod]perllol.pod
638 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
639 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
641 [.lib.pod]perlmod.pod : [.pod]perlmod.pod
642 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
643 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
645 [.lib.pod]perlobj.pod : [.pod]perlobj.pod
646 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
647 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
649 [.lib.pod]perlop.pod : [.pod]perlop.pod
650 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
651 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
653 [.lib.pod]perlpod.pod : [.pod]perlpod.pod
654 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
655 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
657 [.lib.pod]perlre.pod : [.pod]perlre.pod
658 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
659 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
661 [.lib.pod]perlref.pod : [.pod]perlref.pod
662 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
663 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
665 [.lib.pod]perlrun.pod : [.pod]perlrun.pod
666 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
667 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
669 [.lib.pod]perlsec.pod : [.pod]perlsec.pod
670 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
671 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
673 [.lib.pod]perlstyle.pod : [.pod]perlstyle.pod
674 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
675 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
677 [.lib.pod]perlsub.pod : [.pod]perlsub.pod
678 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
679 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
681 [.lib.pod]perlsyn.pod : [.pod]perlsyn.pod
682 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
683 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
685 [.lib.pod]perltie.pod : [.pod]perltie.pod
686 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
687 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
689 [.lib.pod]perltoc.pod : [.pod]perltoc.pod
690 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
691 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
693 [.lib.pod]perltoot.pod : [.pod]perltoot.pod
694 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
695 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
697 [.lib.pod]perlreftut.pod : [.pod]perlreftut.pod
698 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
699 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
701 [.lib.pod]perltrap.pod : [.pod]perltrap.pod
702 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
703 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
705 [.lib.pod]perlvar.pod : [.pod]perlvar.pod
706 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
707 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
709 [.lib.pod]perlxs.pod : [.pod]perlxs.pod
710 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
711 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
713 [.lib.pod]perlxstut.pod : [.pod]perlxstut.pod
714 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
715 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
717 [.lib.pod]perlvms.pod : [.vms]perlvms.pod
718 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
719 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
722 @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
723 @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(SOCKLIB)" "$(EXT)" "$(DBG)"
729 [.ext.Socket]Socket$(O) : [.ext.Socket]Socket.c
730 $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$SOURCE)
732 [.ext.Socket]Socket.c : [.ext.Socket]Socket.xs [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
733 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
738 $(SOCKOBJ) : $(SOCKC) EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h opnames.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h perlio.h
740 $(SOCKC) : [.vms]$(SOCKC)
741 Copy/Log/NoConfirm [.vms]$(SOCKC) []$(SOCKC)
743 $(SOCKH) : [.vms]$(SOCKH)
744 Copy/Log/NoConfirm [.vms]$(SOCKH) []$(SOCKH)
746 [.lib]Socket.pm : [.ext.Socket]Socket.pm
747 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
750 # The following files are generated automatically
751 # keywords.h: keywords.pl
752 # opcode.h: opcode.pl
753 # opnames.h: opcode.pl
754 # pp_proto.h: opcode.pl
756 # embed.h: embed.pl [* needs pp.sym generated by opcode.pl! *]
757 # embedvar.h: embed.pl [* needs pp.sym generated by opcode.pl! *]
758 # ext/ByteLoader/byterun.h: bytecode.pl
759 # ext/ByteLoader/byterun.c: bytecode.pl
760 # ext/B/Asmdata.pm: bytecode.pl
761 # global.sym: embed.pl
762 # regnodes.h: regcomp.pl
763 # warnings.h lib/warnings.pm: warnings.pl
764 # The correct versions should be already supplied with the perl kit,
765 # in case you don't have perl available.
766 # To force them to run, type
769 $(INSTPERL) keywords.pl
770 $(INSTPERL) opcode.pl
772 $(INSTPERL) bytecode.pl
773 $(INSTPERL) regcomp.pl
774 $(INSTPERL) warnings.pl
776 # VMS uses modified perly.[ch] with tags for globaldefs if using DEC compiler
777 perly.c : [.vms]perly_c.vms
778 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
779 perly.h : [.vms]perly_h.vms
780 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
784 perly$(O) : perly.c, perly.h, $(allh)
787 [.t.lib]vmsfspec.t : [.vms.ext]filespec.t
788 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
790 [.t.lib]vmsish.t : [.vms.ext]vmsish.t
791 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
793 test : all [.t.lib]vmsfspec.t [.t.lib]vmsish.t
794 - @[.VMS]Test.Com "$(E)" "$(__DEBUG__)"
796 # install ought not need a source, but it doesn't work if one's not
797 # there. Go figure...
798 install : $(MINIPERL_EXE)
799 $(MINIPERL) installperl
802 @ Write Sys$Output "Moving files to architecture-specific locations for $(ARCH)"
803 archroot = "$(ARCHAUTO)" - "]" + "...]"
804 Backup/Log/Verify [.lib.auto...]*.*;/Exclude=(*.al,*.ix) 'archroot'/New_Version
805 Delete/Log/NoConfirm [.lib.auto...]*.*;*/exclude=(*.al,*.ix,*.dir)
806 Delete/Log/NoConfirm [.lib]Config.pm;*
807 Copy/Log/NoConfirm *$(E);,[.x2p]a2p$(E); $(ARCHDIR)
808 Delete/Log/NoConfirm Perl*$(E);*,[.x2p]a2p$(E);*
809 @ Write Sys$Output "Architecture-specific setup completed."
810 @ Write Sys$Output "Before building for another architecture, be sure to"
811 @ Write Sys$Output " 1. $(MMS)$(MMSQUALIFIERS) clean"
812 @ Write Sys$Output " 2. Delete Miniperl$(E)"
814 # CORE subset for MakeMaker, so we can build Perl without sources
815 # Should move to VMS installperl when we get one
817 $(ARCHCORE)$(sockh) : $(sockh)
818 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
819 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
821 $(ARCHCORE)av.h : av.h
822 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
823 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
824 $(ARCHCORE)cc_runtime.h : cc_runtime.h
825 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
826 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
827 $(ARCHCORE)config.h : config.h
828 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
829 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
830 $(ARCHCORE)cop.h : cop.h
831 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
832 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
833 $(ARCHCORE)cv.h : cv.h
834 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
835 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
836 $(ARCHCORE)embed.h : embed.h
837 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
838 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
839 $(ARCHCORE)embedvar.h : embedvar.h
840 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
841 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
842 $(ARCHCORE)extern.h : extern.h
843 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
844 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
846 $(ARCHCORE)fakethr.h : fakethr.h
847 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
848 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
850 $(ARCHCORE)form.h : form.h
851 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
852 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
853 $(ARCHCORE)gv.h : gv.h
854 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
855 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
856 $(ARCHCORE)handy.h : handy.h
857 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
858 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
859 $(ARCHCORE)hv.h : hv.h
860 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
861 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
862 $(ARCHCORE)intern.h : intern.h
863 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
864 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
865 $(ARCHCORE)intrpvar.h : intrpvar.h
866 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
867 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
868 $(ARCHCORE)iperlsys.h : iperlsys.h
869 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
870 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
871 $(ARCHCORE)keywords.h : keywords.h
872 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
873 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
874 $(ARCHCORE)mg.h : mg.h
875 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
876 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
877 $(ARCHCORE)nostdio.h : nostdio.h
878 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
879 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
880 $(ARCHCORE)op.h : op.h
881 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
882 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
883 $(ARCHCORE)opcode.h : opcode.h
884 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
885 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
886 $(ARCHCORE)opnames.h : opnames.h
887 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
888 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
889 $(ARCHCORE)patchlevel.h : patchlevel.h
890 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
891 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
892 $(ARCHCORE)perl.h : perl.h
893 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
894 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
895 $(ARCHCORE)perlio.h : perlio.h
896 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
897 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
898 $(ARCHCORE)perlsdio.h : perlsdio.h
899 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
900 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
901 $(ARCHCORE)perlvars.h : perlvars.h
902 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
903 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
904 $(ARCHCORE)perly.h : perly.h
905 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
906 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
907 $(ARCHCORE)pp.h : pp.h
908 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
909 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
910 $(ARCHCORE)pp_proto.h : pp_proto.h
911 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
912 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
913 $(ARCHCORE)proto.h : proto.h
914 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
915 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
916 $(ARCHCORE)regcomp.h : regcomp.h
917 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
918 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
919 $(ARCHCORE)regexp.h : regexp.h
920 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
921 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
922 $(ARCHCORE)regnodes.h : regnodes.h
923 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
924 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
925 $(ARCHCORE)scope.h : scope.h
926 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
927 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
928 $(ARCHCORE)sv.h : sv.h
929 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
930 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
931 $(ARCHCORE)thrdvar.h : thrdvar.h
932 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
933 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
934 $(ARCHCORE)thread.h : thread.h
935 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
936 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
937 $(ARCHCORE)utf8.h : utf8.h
938 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
939 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
940 $(ARCHCORE)util.h : util.h
941 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
942 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
943 $(ARCHCORE)vmsish.h : vmsish.h
944 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
945 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
946 $(ARCHCORE)warnings.h : warnings.h
947 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
948 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
949 $(ARCHCORE)xsub.h : xsub.h
950 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
951 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
952 $(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts
953 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
954 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
955 $(ARCHCORE)perlshr_attr.opt : $(DBG)perlshr_xtras.ts
956 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
957 Copy/Log perlshr_attr.opt $(MMS$TARGET)
958 $(ARCHCORE)$(DBG)perlshr_bld.opt : $(DBG)perlshr_xtras.ts
959 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
960 Copy/Log $(DBG)perlshr_bld.opt $(MMS$TARGET)
961 $(ARCHAUTO)time.stamp :
962 @ If F$Search("$(ARCHDIR)auto.dir").eqs."" Then Create/Directory $(ARCHAUTO)
963 @ If F$Search("$(MMS$TARGET)").eqs."" Then Copy/NoConfirm _NLA0: $(MMS$TARGET)
967 # We need an action line here for broken older versions of MMS which
968 # otherwise conclude that they should be compiling [.x2p]utils.c :-(
970 # $(CC) $(CORECFLAGS) $(MMS$SOURCE)
971 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
973 $(SOCKOBJ) : $(SOCKC) $(h)
974 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
977 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
979 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
980 doio$(O) : doio.c $(h)
981 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
982 doop$(O) : doop.c $(h)
983 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
984 dump$(O) : dump.c $(h) $(h6)
985 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
986 globals$(O) : globals.c $(h)
987 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
989 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
991 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
993 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
994 miniperlmain$(O) : miniperlmain.c $(h)
995 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
997 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
998 perl$(O) : perl.c $(h)
999 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1000 perlio$(O) : perlio.c $(h)
1001 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1002 perlmain$(O) : perlmain.c $(h)
1003 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1004 perly$(O) : perly.c $(h)
1005 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1007 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1008 pp_ctl$(O) : pp_ctl.c $(h)
1009 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1010 pp_hot$(O) : pp_hot.c $(h)
1011 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1012 pp_sys$(O) : pp_sys.c $(h)
1013 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1014 regcomp$(O) : regcomp.c $(h) $(h6)
1015 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1016 regexec$(O) : regexec.c $(h) $(h6)
1017 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1018 run$(O) : run.c $(h)
1019 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1020 scope$(O) : scope.c $(h)
1021 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1023 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1024 taint$(O) : taint.c $(h)
1025 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1026 toke$(O) : toke.c $(h) $(h7)
1027 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1028 universal$(O) : universal.c $(h)
1029 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1030 utf8$(O) : utf8.c $(h)
1031 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1032 util$(O) : util.c $(h)
1033 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1034 vms$(O) : vms.c $(h)
1035 $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1037 [.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
1038 $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1040 [.x2p]str$(O) : [.x2p]str.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
1041 $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1043 [.x2p]util$(O) : [.x2p]util.c [.x2p]EXTERN.h [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
1044 $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1046 [.x2p]walk$(O) : [.x2p]walk.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
1047 $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1049 # End of automatically generated make dependencies
1052 vmsish.h : [.vms]vmsish.h
1053 Copy/Log/NoConfirm [.vms]vmsish.h []vmsish.h
1056 Copy/Log/Noconfirm [.vms]vms.c []
1058 $(CRTL) : $(MAKEFILE)
1059 @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)|$(SOCKLIB)"
1063 - If F$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;*
1064 - If F$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;*
1065 - If F$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;*
1068 - If F$Search("[...]*.Opt;-1").nes."" Then Purge/NoConfirm/Log [...]*.Opt
1069 - If F$Search("[...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [...]*$(O)
1070 - If F$Search("[...]*$(E);-1").nes."" Then Purge/NoConfirm/Log [...]*$(E)
1071 - If F$Search("Config.H;-1").nes."" Then Purge/NoConfirm/Log Config.H
1072 - If F$Search("Config.SH;-1").nes."" Then Purge/NoConfirm/Log Config.SH
1073 - If F$Search("perly.c;-1").nes."" Then Purge/NoConfirm/Log perly.c
1074 - If F$Search("perly.h;-1").nes."" Then Purge/NoConfirm/Log perly.h
1075 - If F$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H
1076 - If F$Search("VMS.C;-1") .nes."" Then Purge/NoConfirm/Log VMS.C
1077 - If F$Search("Perlmain.C;-1") .nes."" Then Purge/NoConfirm/Log Perlmain.C
1078 - If F$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
1079 - If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
1080 - If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
1081 - If F$Search("[.Ext.Socket]Socket.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
1082 - If F$Search("[.Ext.Opcode...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.Opcode]
1083 - If F$Search("[.VMS.Ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*.C
1084 - If F$Search("[.VMS.Ext...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*$(O)
1085 - If F$Search("[.Lib.Auto...]*.al;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]*.al
1086 - If F$Search("[.Lib.Auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]autosplit.ix
1087 - If F$Search("[.Lib]DynaLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]DynaLoader.pm
1088 - If F$Search("[.Lib]Socket.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Socket.pm
1089 - If F$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm
1090 - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm
1091 - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm
1092 - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm
1093 - If F$Search("[.Lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.Lib.VMS]*.*
1094 - If F$Search("[.Lib.Pod]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Pod]*.Pod
1095 - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
1096 - If F$Search("[.lib]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib]*.com
1097 - If F$Search("[.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.pod]*.com
1098 - If F$Search("[.utils]*.com;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.com
1099 - If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com
1100 - If F$Search("[.lib.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pod]*.com
1103 - @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" clean
1104 - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
1105 - If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
1106 - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
1107 - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
1108 - If F$Search("perly.c").nes."" Then Delete/NoConfirm/Log perly.c;*
1109 - Copy [.vms]perly_c.vms []perly.c
1110 - If F$Search("perly.h").nes."" Then Delete/NoConfirm/Log perly.h;*
1111 - Copy [.vms]perly_h.vms []perly.h
1112 - If F$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;*
1113 - If F$Search("VMS.C") .nes."" Then Delete/NoConfirm/Log VMS.C;*
1114 - If F$Search("Perlmain.C") .nes."" Then Delete/NoConfirm/Log Perlmain.C;*
1115 - If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
1116 - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
1117 - If F$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);*
1118 - If F$Search("[.Ext.DynaLoader]DL_VMS.C").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C;*
1119 - If F$Search("[.Ext.DynaLoader]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DynaLoader.pm;*
1120 - If F$Search("[.Ext.Socket]Socket$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket$(O);*
1121 - If F$Search("[.Ext.Socket]Socket.C").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket.C;*
1122 - If F$Search("[.VMS.Ext...]*.C").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*.C;*
1123 - If F$Search("[.VMS.Ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*$(O);*
1124 - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
1127 - @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" realclean
1128 - If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
1129 - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
1130 - If F$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
1131 - If F$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
1132 - $(MINIPERL) -e "use File::Path; rmtree(\@ARGV,1,0);" config
1133 - If F$Search("Descrip.MMS").nes."" Then Delete/NoConfirm/Log Descrip.MMS;*
1134 - If F$Search("Build_Ext.Com").nes."" Then Delete/NoConfirm/Log Build_Ext.Com;*
1135 - $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
1136 - If F$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
1137 - If F$Search("[.Lib]Socket.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Socket.pm;*
1138 - If F$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
1139 - If F$Search("[.Lib]*.com").nes."" Then Delete/NoConfirm/Log [.Lib]*.com;*
1140 - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
1141 - If F$Search("[.utils]*.com").nes."" Then Delete/NoConfirm/Log [.utils]*.com;*
1142 - If F$Search("[.x2p]*.com").nes."" Then Delete/NoConfirm/Log [.x2p]*.com;*
1143 - If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;*
1144 - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
1145 - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
1146 - If F$Search("[.lib.pod]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pod]*.pod;*
1147 - If F$Search("[.lib.pod]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]perldoc.com;*
1148 - If F$Search("[.lib.pod]pod2*.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]pod2*.com;*
1149 - If F$Search("[.t.lib]vms*.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms*.t;*
1150 - If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);*
1151 - If F$Search("[.vms]Perl_Setup.Com").nes."" Then Delete/NoConfirm/Log [.vms]Perl_Setup.Com;*
1155 - If F$Search("*.C;-1").nes."" Then Purge/NoConfirm/Log *.C
1156 - If F$Search("*.H;-1").nes."" Then Purge/NoConfirm/Log *.H
1157 - If F$Search("*.VMS;-1").nes."" Then Purge/NoConfirm/Log *.VMS
1158 - If F$Search("[.VMS]$(MAKEFILE);-1").nes."" Then Purge/NoConfirm/Log [.VMS]$(MAKEFILE)
1159 - If F$Search("[.VMS]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.C
1160 - If F$Search("[.VMS]*.H;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.H
1161 - If F$Search("[.VMS]*.Pl;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.Pl
1162 - If F$Search("[.VMS]*.VMS;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.VMS
1163 - If F$Search("[.VMS...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.pm
1164 - If F$Search("[.VMS...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.xs