1 # Descrip.MMS for perl5 on VMS
2 # Last revised 22-Mar-1996 by Charles Bailey bailey@genetics.upenn.edu
4 #: This file uses MMS syntax, and can be processed using DEC's MMS product,
5 #: or the free MMK clone (available by ftp at ftp.spc.edu). If you want to
6 #: a Unix-style MAKE tool, run this file through mms2make.pl, which should
7 #: be found in the same directory as this file. (There should be a pre-made
8 #: copy of Makefile for VAXC in this directory to allow you to build perl.)
10 #: Lines beginning with "#:" will be removed by mms2make.pl when converting
11 #: this file to MAKE syntax.
14 #: Building with VAX C, on system without DEC C installed or with VAX C default:
16 #: Building with VAX C, on system with DEC C installed as default C compiler:
17 #: $ MMS /MACRO=("cc=CC/VAXC")
18 #: Building with DEC C, on system without VAX C installed or with DEC C default:
19 #: $ MMS /MACRO=("decc=1")
20 #: Building with DEC C, on system with VAX C installed as default C compiler:
21 #: $ MMS /MACRO=("decc=1","cc=CC/DECC")
22 #: Building with GNU C
23 #: $ MMS /MACRO=("gnuc=1")
24 #: To each of the above, add /Macro="__AXP__=1" if building on an AXP,
25 #: /Macro="__DEBUG__=1" to build a debug version
26 #: (i.e. VMS debugger, not perl -D), and
27 #: /Macro="SOCKET=1" to include socket support.
29 # tidy -- purge files generated by executing this file
30 # clean -- remove all intermediate (e.g. object files, C files generated
31 # during build) files generated by executing this file,
32 # but leave `installable' files (images, library) intact
33 # realclean -- remove all files generated by executing this file
34 # cleansrc -- `realclean' + purge *.c,*.h,descrip.mms
35 # crtl.opt -- compiler-specific linker options file (made automatically)
38 #### Start of system configuration section. ####
41 #: >>>>> Architecture-specific options <<<<<
43 # File type to use for object files
45 # File type to use for object libraries
47 # File type to use for executable images
50 # File type to use for object files
52 # File type to use for object libraries
54 # File type to use for executable images
64 OBJVAL = $(MMS$TARGET_NAME)$(O)
67 # Updated by fndvers.com -- do not edit by hand
68 PERL_VERSION = 5_00327#
71 ARCHDIR = [.lib.$(ARCH).$(PERL_VERSION)]
72 ARCHCORE = [.lib.$(ARCH).$(PERL_VERSION).CORE]
73 ARCHAUTO = [.lib.$(ARCH).$(PERL_VERSION).auto]
76 #: Backwards compatibility
77 .ifdef DECC_PIPES_BROKEN
82 #: >>>>>Compiler-specific options <<<<<
85 @ @[.vms]fndvers.com "" "" "[.vms]descrip.mms"
86 @ If F$TrnLnm("Sys").eqs."" Then Define/NoLog SYS GNU_CC_Include:[VMS]
88 # -fno-builtin avoids bug in gcc up to version 2.6.2 which can destroy
89 # data when memcpy() is called on large (>64 kB) blocks of memory
90 # (fixed in gcc 2.6.3)
91 XTRACCFLAGS = /Obj=$(MMS$TARGET_NAME)$(O)/NoCase_Hack/Optimize=2/CC1="""""-fno-builtin"""""
93 XTRADEF = ,GNUC_ATTRIBUTE_CHECK
95 LIBS1 = GNU_CC:[000000]GCCLIB.OLB/Library
96 LIBS2 = Sys$Share:VAXCRTL/Shareable
101 DBGSPECFLAGS = /Show=(Source,Include,Expansion)
103 # Some versions of DECCRTL on AXP have a bug in chdir() which causes the change
104 # to persist after the image exits, even when this was not requested, iff
105 # SYSNAM is enabled. This is fixed in CSC Patch # AXPACRT04_061, but turning
106 # off SYSNAM for the MM[SK] subprocess doesn't hurt anything, so we do it
109 @ Set Process/Privilege=(NoSYSNAM)
110 @ @[.vms]fndvers.com "" "" "[.vms]descrip.mms"
111 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").nes."" Then Define/NoLog SYS DECC$System_Include
113 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS Sys$Library
115 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS DECC$Library_Include
119 XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(OBJVAL)
124 @ @[.vms]fndvers.com "" "" "[.vms]descrip.mms"
125 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("VAXC$Include").eqs."" Then Define/NoLog SYS Sys$Library
126 @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("VAXC$Include").nes."" Then Define/NoLog SYS VAXC$Include
128 XTRACCFLAGS = /Include=[]/Object=$(O)
130 LIBS2 = Sys$Share:VAXCRTL/Shareable
136 #: >>>>> Configuration options <<<<<
137 #: __DEBUG__: builds images with full VMS debugger support
139 DBGCCFLAGS = /List/Debug/NoOpt$(DBGSPECFLAGS)
140 DBGLINKFLAGS = /Trace/Debug/Map/Full/Cross
144 DBGLINKFLAGS = /NoMap
148 #: SOCKET: build in support for TCP/IP sockets
149 #: By default, used SOCKETSHR library; see ReadMe.VMS
150 #: for information on changing socket support
152 SOCKDEF = ,VMS_DO_SOCKETS
153 SOCKLIB = SocketShr/Share
154 # N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
155 # copies live in [.vms], and the `clean' target will delete copies of
156 # these files in the current default directory.
161 SOCKOBJ = ,sockadapt$(O)
162 SOCKPM = [.lib]Socket.pm
174 # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
175 CFLAGS = /Define=(DEBUGGING$(SOCKDEF)$(XTRADEF))$(XTRACCFLAGS)$(DBGCCFLAGS)
176 LINKFLAGS = $(DBGLINKFLAGS)
179 MAKEFILE = [.VMS]Descrip.MMS # this file
182 # Macros to invoke a copy of miniperl during the build. Targets which
183 # are built using these macros should depend on $(MINIPERL_EXE)
184 MINIPERL_EXE = Sys$Disk:[]miniperl$(E)
185 MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
186 XSUBPP = $(MINIPERL) [.lib.extutils]xsubpp -noprototypes
187 # Macro to invoke a preexisting copy of Perl. This is used to regenerate
188 # some header files when rebuilding Perl, but premade versions are provided
189 # in the distribution, so it's OK if this doesn't work; it's here to make
190 # life easier for those who modify Perl and rebuild it.
193 # Space-separated list of "static" extensions to build into perlshr (case counts).
195 # object files for these extensions; the trailing comma is required if
196 # there are any object files specified
197 # These must be built separately, or you must add rules below to build them
198 myextobj = [.ext.dynaloader]dl_vms$(O),
199 #: We include the Socket extension by default if we're building with socket
200 #: support, since it's small and not really worth bothering to keep track
203 EXT = $(MYEXT) Socket
204 extobj = $(myextobj) [.ext.socket]socket$(O),
211 #### End of system configuration section. ####
214 h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, config.h, cop.h, cv.h
215 h2 = embed.h, form.h, gv.h, handy.h, hv.h, keywords.h, mg.h, op.h
216 h3 = opcode.h, patchlevel.h, perl.h, perly.h, pp.h, proto.h, regcomp.h
217 h4 = regexp.h, scope.h, sv.h, vmsish.h, util.h, perlio.h, perlsdio.h
218 h = $(h1), $(h2), $(h3), $(h4) $(SOCKHLIS)
220 c1 = av.c, scope.c, op.c, doop.c, doio.c, dump.c, hv.c, mg.c, universal.c, perlio.c
221 c2 = perl.c, perly.c, pp.c, pp_hot.c, pp_ctl.c, pp_sys.c, regcomp.c, regexec.c
222 c3 = gv.c, sv.c, taint.c, toke.c, util.c, deb.c, run.c, globals.c, vms.c $(SOCKCLIS)
224 c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c
226 obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), util$(O), mg$(O), perlio$(O)
227 obj2 = hv$(O), av$(O), run$(O), pp_hot$(O), sv$(O), pp$(O), scope$(O), pp_ctl$(O), pp_sys$(O)
228 obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O) $(SOCKOBJ)
230 obj = $(obj1), $(obj2), $(obj3)
232 ac1 = $(ARCHCORE)EXTERN.h $(ARCHCORE)INTERN.h $(ARCHCORE)XSUB.h $(ARCHCORE)av.h
233 ac2 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
234 ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
235 ac4 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)op.h $(ARCHCORE)opcode.h
236 ac5 = $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h $(ARCHCORE)perly.h
237 ac6 = $(ARCHCORE)pp.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h
238 ac7 = $(ARCHCORE)regexp.h $(ARCHCORE)scope.h $(ARCHCORE)sv.h $(ARCHCORE)util.h
239 ac8 = $(ARCHCORE)vmsish.h $(ARCHCORE)$(DBG)libperl$(OLB) $(ARCHCORE)perlshr_attr.opt
240 ac9 = $(ARCHCORE)$(DBG)perlshr_bld.opt
242 acs = $(ARCHCORE)$(SOCKH)
248 CRTLOPTS =,$(CRTL)/Options
254 .SUFFIXES $(O) .c .xs
257 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
261 $(CC) $(CFLAGS) $(MMS$SOURCE)
264 $(XSUBPP) $(MMS$SOURCE) >$(MMS$SOURCE_NAME).c
265 $(CC) $(CFLAGS) $(MMS$SOURCE_NAME).c
268 # Modules which must be installed before we can build extensions
269 LIBPREREQ = $(ARCHDIR)Config.pm [.lib]DynaLoader.pm [.lib]vmsish.pm [.lib.VMS]Filespec.pm [.lib.ExtUtils]XSSymSet.pm
271 utils1 = [.lib.pod]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com [.utils]h2xs.com [.lib]perlbug.com
272 utils2 = [.lib]splain.com [.utils]pl2pm.com
274 all : base extras x2p archcorefiles preplibrary perlpods
278 extras : Fcntl IO Opcode $(POSIX) libmods utils podxform
280 libmods : $(LIBPREREQ)
282 utils : $(utils1) $(utils2)
284 podxform : [.lib.pod]pod2text.com [.lib.pod]pod2html.com [.lib.pod]pod2latex.com [.lib.pod]pod2man.com
286 x2p : [.x2p]a2p$(E) [.x2p]s2p.com [.x2p]find2perl.com
289 pod1 = [.lib.pod]perl.pod [.lib.pod]perlapio.pod [.lib.pod]perlbook.pod [.lib.pod]perlbot.pod [.lib.pod]perlcall.pod
290 pod2 = [.lib.pod]perldata.pod [.lib.pod]perldebug.pod [.lib.pod]perldelta.pod [.lib.pod]perldiag.pod [.lib.pod]perldsc.pod
291 pod3 = [.lib.pod]perlembed.pod [.lib.pod]perlform.pod [.lib.pod]perlfunc.pod [.lib.pod]perlguts.pod
292 pod4 = [.lib.pod]perlipc.pod [.lib.pod]perllocale.pod [.lib.pod]perllol.pod [.lib.pod]perlmod.pod [.lib.pod]perlobj.pod
293 pod5 = [.lib.pod]perlop.pod [.lib.pod]perlpod.pod [.lib.pod]perlre.pod [.lib.pod]perlref.pod [.lib.pod]perlrun.pod
294 pod6 = [.lib.pod]perlsec.pod [.lib.pod]perlstyle.pod [.lib.pod]perlsub.pod [.lib.pod]perlsyn.pod
295 pod7 = [.lib.pod]perltie.pod [.lib.pod]perltoc.pod [.lib.pod]perltoot.pod
296 pod8 = [.lib.pod]perltrap.pod [.lib.pod]perlvar.pod [.lib.pod]perlxs.pod [.lib.pod]perlxstut.pod
298 perlpods : $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) [.lib.pod]perlvms.pod
301 archcorefiles : $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(acs) $(ARCHAUTO)time.stamp
304 miniperl : $(DBG)miniperl$(E)
306 miniperl_objs = miniperlmain$(O), $(obj)
307 $(MINIPERL_EXE) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
308 Link $(LINKFLAGS)/NoDebug/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
309 $(DBG)miniperl$(E) : $(miniperl_objs), $(DBG)libperl$(OLB) $(CRTL)
310 Link $(LINKFLAGS)/Exe=$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
312 $(DBG)libperl$(OLB) : $(obj)
313 @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
314 Library/Object/Replace $(MMS$TARGET) $(obj1)
315 Library/Object/Replace $(MMS$TARGET) $(obj2)
316 Library/Object/Replace $(MMS$TARGET) $(obj3)
318 perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
319 $(MINIPERL) [.VMS]Writemain.pl "$(EXT)"
321 perl : $(DBG)perl$(E)
323 $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
324 @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
326 Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option, crtl.opt/Option
328 Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option
331 $(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
332 Link /NoTrace$(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
334 # The following files are built in one go by gen_shrfls.pl:
335 # perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP
336 # perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only
337 # The song and dance with gen_shrfls.opt accomodates DCL's 255 character
340 # This is a backup target used only with older versions of the DECCRTL which
341 # can't deal with pipes properly. See ReadMe.VMS for details.
342 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
343 $(CC) $(CFLAGS)/NoObject/NoList/PreProcess=perl.i perl.h
344 @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "~~NOCC~~perl.i~~$(CC)$(CFLAGS)" >gen_shrfls.opt
345 @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
346 $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
347 @ Delete/NoLog/NoConfirm perl.i;, gen_shrfls.opt;
348 @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
349 @ Copy _NLA0: $(DBG)perlshr_xtras.ts
351 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
352 @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "$(CC)$(CFLAGS)" >gen_shrfls.opt
353 @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
354 $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
355 @ Delete/NoLog/NoConfirm gen_shrfls.opt;
356 @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
357 @ Copy _NLA0: $(DBG)perlshr_xtras.ts
360 $(ARCHDIR)config.pm : [.lib]config.pm
361 Create/Directory $(ARCHDIR)
362 Copy $(MMS$SOURCE) $(MMS$TARGET)
364 # Once again, we accomodate DCL's 255 character buffer
365 [.lib]config.pm : [.vms]config.vms [.vms]genconfig.pl $(MINIPERL_EXE)
366 @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "cc=$(CC)$(CFLAGS)" >genconfig.opt
367 @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "ldflags=$(LINKFLAGS)|obj_ext=$(O)|exe_ext=$(E)|lib_ext=$(OLB)" >>genconfig.opt
368 $(MINIPERL) [.VMS]GenConfig.Pl -f genconfig.opt
369 @ Delete/NoLog/NoConfirm genconfig.opt;
370 $(MINIPERL) ConfigPM.
372 [.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
373 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
375 [.ext.dynaloader]dl_vms$(O) : [.ext.dynaloader]dl_vms.c
376 $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$SOURCE)
378 [.lib]DynaLoader.pm : [.ext.dynaloader]dynaloader.pm
379 Copy/Log/NoConfirm [.ext.dynaloader]dynaloader.pm [.lib]DynaLoader.pm
380 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
381 @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]DynaLoader.pm
383 Opcode : [.lib]Opcode.pm [.lib]ops.pm [.lib]Safe.pm [.lib.auto.Opcode]Opcode$(E)
386 [.lib]Opcode.pm : [.ext.Opcode]Descrip.MMS
387 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
388 @ Set Default [.ext.Opcode]
392 [.lib]ops.pm : [.ext.Opcode]Descrip.MMS
393 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
394 @ Set Default [.ext.Opcode]
398 [.lib]Safe.pm : [.ext.Opcode]Descrip.MMS
399 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
400 @ Set Default [.ext.Opcode]
404 [.lib.auto.Opcode]Opcode$(E) : [.ext.Opcode]Descrip.MMS
405 @ Set Default [.ext.Opcode]
409 # Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
410 # ${@} necessary to distract different versions of MM[SK]/make
411 [.ext.Opcode]Descrip.MMS : [.ext.Opcode]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
412 $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.Opcode]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
414 Fcntl : [.lib]Fcntl.pm [.lib.auto.Fcntl]Fcntl$(E)
417 [.lib]Fcntl.pm : [.ext.Fcntl]Descrip.MMS
418 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
419 @ Set Default [.ext.Fcntl]
423 [.lib.auto.Fcntl]Fcntl$(E) : [.ext.Fcntl]Descrip.MMS
424 @ Set Default [.ext.Fcntl]
428 # Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
429 # ${@} necessary to distract different versions of MM[SK]/make
430 [.ext.Fcntl]Descrip.MMS : [.ext.Fcntl]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
431 $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.Fcntl]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
433 POSIX : [.lib]POSIX.pm [.lib.auto.POSIX]POSIX$(E)
436 [.lib]POSIX.pm : [.ext.POSIX]Descrip.MMS
437 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
438 @ Set Default [.ext.POSIX]
442 [.lib.auto.POSIX]POSIX$(E) : [.ext.POSIX]Descrip.MMS
443 @ Set Default [.ext.POSIX]
447 # Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
448 # ${@} necessary to distract different versions of MM[SK]/make
449 [.ext.POSIX]Descrip.MMS : [.ext.POSIX]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
450 $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.POSIX]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
452 IO : [.lib]IO.pm [.lib.IO]File.pm [.lib.IO]Handle.pm [.lib.IO]Pipe.pm [.lib.IO]Seekable.pm [.lib.IO]Socket.pm [.lib.auto.IO]IO$(E)
455 [.lib]IO.pm : [.ext.IO]Descrip.MMS
456 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
457 @ Set Default [.ext.IO]
461 [.lib.IO]File.pm : [.ext.IO]Descrip.MMS
462 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
463 @ Set Default [.ext.IO]
467 [.lib.IO]Handle.pm : [.ext.IO]Descrip.MMS
468 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
469 @ Set Default [.ext.IO]
473 [.lib.IO]Pipe.pm : [.ext.IO]Descrip.MMS
474 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
475 @ Set Default [.ext.IO]
479 [.lib.IO]Seekable.pm : [.ext.IO]Descrip.MMS
480 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
481 @ Set Default [.ext.IO]
485 [.lib.IO]Socket.pm : [.ext.IO]Descrip.MMS
486 @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
487 @ Set Default [.ext.IO]
491 [.lib.auto.IO]IO$(E) : [.ext.IO]Descrip.MMS
492 @ Set Default [.ext.IO]
496 # Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
497 # ${@} necessary to distract different versions of MM[SK]/make
498 [.ext.IO]Descrip.MMS : [.ext.IO]Makefile.PL $(LIBPREREQ) $(DBG)perlshr$(E)
499 $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.IO]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]"
501 [.lib]vmsish.pm : [.vms.ext]vmsish.pm
502 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
504 [.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
505 @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
506 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
508 [.lib.ExtUtils]XSSymSet.pm : [.vms.ext]XSSymSet.pm
509 @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
510 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
512 [.lib.pod]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
513 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
514 $(MINIPERL) $(MMS$SOURCE)
515 Copy/Log [.utils]perldoc.com $(MMS$TARGET)
517 [.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c $(ARCHDIR)Config.pm
518 $(MINIPERL) $(MMS$SOURCE) >$(MMS$TARGET)
520 [.utils]c2ph.com : [.utils]c2ph.PL $(ARCHDIR)Config.pm
521 $(MINIPERL) $(MMS$SOURCE)
523 [.utils]h2ph.com : [.utils]h2ph.PL $(ARCHDIR)Config.pm
524 $(MINIPERL) $(MMS$SOURCE)
526 [.utils]h2xs.com : [.utils]h2xs.PL $(ARCHDIR)Config.pm
527 $(MINIPERL) $(MMS$SOURCE)
529 [.lib]perlbug.com : [.utils]perlbug.PL $(ARCHDIR)Config.pm
530 $(MINIPERL) $(MMS$SOURCE)
531 Rename/Log [.utils]perlbug.com $(MMS$TARGET)
533 [.utils]pl2pm.com : [.utils]pl2pm.PL $(ARCHDIR)Config.pm
534 $(MINIPERL) $(MMS$SOURCE)
536 [.lib]splain.com : [.utils]splain.PL $(ARCHDIR)Config.pm
537 $(MINIPERL) $(MMS$SOURCE)
538 Rename/Log [.utils]splain.com $(MMS$TARGET)
540 [.x2p]find2perl.com : [.x2p]find2perl.PL $(ARCHDIR)Config.pm
541 $(MINIPERL) $(MMS$SOURCE)
543 [.x2p]s2p.com : [.x2p]s2p.PL $(ARCHDIR)Config.pm
544 $(MINIPERL) $(MMS$SOURCE)
546 # Rename catches problem with some DECC versions in which object file is
547 # placed in current default dir, not same one as source file.
548 [.x2p]$(DBG)a2p$(E) : [.x2p]a2p$(O), [.x2p]hash$(O), [.x2p]str$(O), [.x2p]util$(O), [.x2p]walk$(O)
549 @ If F$Search("a2p$(O)").nes."" Then Rename/NoLog a2p$(O),hash$(O),str$(O),util$(O),walk$(O) [.x2p]
550 Link $(LINKFLAGS) /Exe=$(MMS$TARGET) $(MMS$SOURCE_LIST) $(CRTLOPTS)
552 # Accomodate buggy cpp in some version of DECC, which chokes on illegal
554 [.x2p]a2p$(O) : [.x2p]a2p.c $(MINIPERL_EXE)
555 $(MINIPERL) -pe "s/^#line\s+(\d+)\s+\Q""y.tab.c""/#line $1 ""y_tab.c""/;" $(MMS$SOURCE) >$(MMS$TARGET_NAME)_vms.c
556 $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$TARGET_NAME)_vms.c
557 Delete/Log/NoConfirm $(MMS$TARGET_NAME)_vms.c;
559 [.lib.pod]pod2html.com : [.pod]pod2html.PL $(ARCHDIR)Config.pm
560 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
561 $(MINIPERL) $(MMS$SOURCE)
562 Rename/Log [.pod]pod2html.com $(MMS$TARGET)
564 [.lib.pod]pod2latex.com : [.pod]pod2latex.PL $(ARCHDIR)Config.pm
565 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
566 $(MINIPERL) $(MMS$SOURCE)
567 Rename/Log [.pod]pod2latex.com $(MMS$TARGET)
569 [.lib.pod]pod2man.com : [.pod]pod2man.PL $(ARCHDIR)Config.pm
570 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
571 $(MINIPERL) $(MMS$SOURCE)
572 Rename/Log [.pod]pod2man.com $(MMS$TARGET)
574 [.lib.pod]pod2text.com : [.pod]pod2text.PL $(ARCHDIR)Config.pm
575 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
576 $(MINIPERL) $(MMS$SOURCE)
577 Rename/Log [.pod]pod2text.com $(MMS$TARGET)
579 preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) $(SOCKPM)
580 @ Write Sys$Output "Autosplitting Perl library . . ."
581 @ Create/Directory [.lib.auto]
582 @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm
584 [.lib.pod]perl.pod : [.pod]perl.pod
585 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
586 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
588 [.lib.pod]perlapio.pod : [.pod]perlapio.pod
589 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
590 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
592 [.lib.pod]perlbook.pod : [.pod]perlbook.pod
593 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
594 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
596 [.lib.pod]perlbot.pod : [.pod]perlbot.pod
597 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
598 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
600 [.lib.pod]perlcall.pod : [.pod]perlcall.pod
601 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
602 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
604 [.lib.pod]perldata.pod : [.pod]perldata.pod
605 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
606 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
608 [.lib.pod]perldebug.pod : [.pod]perldebug.pod
609 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
610 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
612 [.lib.pod]perldiag.pod : [.pod]perldiag.pod
613 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
614 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
616 [.lib.pod]perldsc.pod : [.pod]perldsc.pod
617 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
618 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
620 [.lib.pod]perlembed.pod : [.pod]perlembed.pod
621 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
622 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
624 [.lib.pod]perlform.pod : [.pod]perlform.pod
625 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
626 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
628 [.lib.pod]perlfunc.pod : [.pod]perlfunc.pod
629 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
630 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
632 [.lib.pod]perlguts.pod : [.pod]perlguts.pod
633 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
634 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
636 [.lib.pod]perllocale.pod : [.pod]perllocale.pod
637 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
638 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
640 [.lib.pod]perlipc.pod : [.pod]perlipc.pod
641 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
642 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
644 [.lib.pod]perllol.pod : [.pod]perllol.pod
645 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
646 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
648 [.lib.pod]perlmod.pod : [.pod]perlmod.pod
649 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
650 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
652 [.lib.pod]perlobj.pod : [.pod]perlobj.pod
653 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
654 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
656 [.lib.pod]perlop.pod : [.pod]perlop.pod
657 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
658 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
660 [.lib.pod]perlpod.pod : [.pod]perlpod.pod
661 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
662 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
664 [.lib.pod]perlre.pod : [.pod]perlre.pod
665 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
666 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
668 [.lib.pod]perlref.pod : [.pod]perlref.pod
669 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
670 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
672 [.lib.pod]perlrun.pod : [.pod]perlrun.pod
673 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
674 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
676 [.lib.pod]perlsec.pod : [.pod]perlsec.pod
677 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
678 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
680 [.lib.pod]perlstyle.pod : [.pod]perlstyle.pod
681 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
682 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
684 [.lib.pod]perlsub.pod : [.pod]perlsub.pod
685 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
686 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
688 [.lib.pod]perlsyn.pod : [.pod]perlsyn.pod
689 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
690 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
692 [.lib.pod]perltie.pod : [.pod]perltie.pod
693 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
694 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
696 [.lib.pod]perltoc.pod : [.pod]perltoc.pod
697 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
698 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
700 [.lib.pod]perltrap.pod : [.pod]perltrap.pod
701 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
702 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
704 [.lib.pod]perlvar.pod : [.pod]perlvar.pod
705 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
706 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
708 [.lib.pod]perlxs.pod : [.pod]perlxs.pod
709 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
710 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
712 [.lib.pod]perlxstut.pod : [.pod]perlxstut.pod
713 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
714 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
716 [.lib.pod]perlvms.pod : [.vms]perlvms.pod
717 @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
718 @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
721 @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
722 @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(LIBS2)" "$(SOCKLIB)" "$(EXT)" "$(DBG)"
728 $(SOCKOBJ) : $(SOCKC) $(SOCKH)
730 [.ext.Socket]Socket$(O) : [.ext.Socket]Socket.c
731 $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$SOURCE)
733 [.ext.Socket]Socket.c : [.ext.Socket]Socket.xs [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
734 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
739 $(SOCKC) : [.vms]$(SOCKC)
740 Copy/Log/NoConfirm [.vms]$(SOCKC) []$(SOCKC)
742 $(SOCKH) : [.vms]$(SOCKH)
743 Copy/Log/NoConfirm [.vms]$(SOCKH) []$(SOCKH)
745 [.lib]Socket.pm : [.ext.Socket]Socket.pm
746 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
749 # The following three header files are generated automatically
750 # keywords.h : keywords.pl
751 # opcode.h : opcode.pl
752 # embed.h : embed.pl global.sym interp.sym
753 # The correct versions should be already supplied with the perl kit,
754 # in case you don't have perl available.
755 # To force them to run, type
758 $(INSTPERL) keywords.pl
759 $(INSTPERL) opcode.pl
762 # VMS uses modified perly.[ch] with tags for globaldefs if using DEC compiler
763 perly.c : [.vms]perly_c.vms
764 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
765 perly.h : [.vms]perly_h.vms
766 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
768 # I now supply perly.c with the kits, so the following section is
769 # commented out if you don't have byacc.
770 # Altered for VMS by Charles Bailey bailey@genetics.upenn.edu
772 # @ Write Sys$Output "Expect 80 shift/reduce and 62 reduce/reduce conflicts"
773 # \$(BYACC) -d perly.y
774 # Has to be done by hand or by POSIX shell under VMS
775 # sh \$(shellflags) ./perly.fixer y.tab.c perly.c
776 # rename y.tab.h perly.h
777 # $(INSTPERL) [.vms]vms_yfix.pl perly.c perly.h [.vms]perly_c.vms [.vms]perly_h.vms
781 perly$(O) : perly.c, perly.h, $(h)
782 $(CC) $(CFLAGS) $(MMS$SOURCE)
785 [.t.lib]vmsfspec.t : [.vms.ext]filespec.t
786 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
788 test : all [.t.lib]vmsfspec.t
789 - @[.VMS]Test.Com "$(E)"
791 # CORE subset for MakeMaker, so we can build Perl without sources
792 # Should move to VMS installperl when we get one
793 $(ARCHCORE)EXTERN.h : EXTERN.h
794 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
795 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
796 $(ARCHCORE)INTERN.h : INTERN.h
797 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
798 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
799 $(ARCHCORE)XSUB.h : XSUB.h
800 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
801 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
802 $(ARCHCORE)av.h : av.h
803 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
804 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
805 $(ARCHCORE)config.h : config.h
806 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
807 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
808 $(ARCHCORE)cop.h : cop.h
809 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
810 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
811 $(ARCHCORE)cv.h : cv.h
812 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
813 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
814 $(ARCHCORE)embed.h : embed.h
815 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
816 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
817 $(ARCHCORE)form.h : form.h
818 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
819 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
820 $(ARCHCORE)gv.h : gv.h
821 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
822 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
823 $(ARCHCORE)handy.h : handy.h
824 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
825 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
826 $(ARCHCORE)hv.h : hv.h
827 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
828 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
829 $(ARCHCORE)keywords.h : keywords.h
830 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
831 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
832 $(ARCHCORE)mg.h : mg.h
833 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
834 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
835 $(ARCHCORE)op.h : op.h
836 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
837 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
838 $(ARCHCORE)opcode.h : opcode.h
839 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
840 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
841 $(ARCHCORE)patchlevel.h : patchlevel.h
842 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
843 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
844 $(ARCHCORE)perl.h : perl.h
845 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
846 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
847 $(ARCHCORE)perlio.h : perlio.h
848 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
849 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
850 $(ARCHCORE)perlsdio.h : perlsdio.h
851 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
852 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
853 $(ARCHCORE)perly.h : perly.h
854 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
855 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
856 $(ARCHCORE)pp.h : pp.h
857 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
858 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
859 $(ARCHCORE)proto.h : proto.h
860 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
861 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
862 $(ARCHCORE)regcomp.h : regcomp.h
863 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
864 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
865 $(ARCHCORE)regexp.h : regexp.h
866 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
867 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
868 $(ARCHCORE)scope.h : scope.h
869 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
870 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
871 $(ARCHCORE)sv.h : sv.h
872 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
873 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
874 $(ARCHCORE)util.h : util.h
875 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
876 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
877 $(ARCHCORE)vmsish.h : vmsish.h
878 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
879 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
881 $(ARCHCORE)$(SOCKH) : $(SOCKH)
882 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
883 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
885 $(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts
886 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
887 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
888 $(ARCHCORE)perlshr_attr.opt : $(DBG)perlshr_xtras.ts
889 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
890 Copy/Log perlshr_attr.opt $(MMS$TARGET)
891 $(ARCHCORE)$(DBG)perlshr_bld.opt : $(DBG)perlshr_xtras.ts
892 @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
893 Copy/Log $(DBG)perlshr_bld.opt $(MMS$TARGET)
894 $(ARCHAUTO)time.stamp :
895 @ If F$Search("$(ARCHDIR)auto.dir").eqs."" Then Create/Directory $(ARCHAUTO)
896 @ If F$Search("$(MMS$TARGET)").eqs."" Then Copy/NoConfirm _NLA0: $(MMS$TARGET)
900 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
1085 universal$(O) : EXTERN.h
1086 universal$(O) : av.h
1087 universal$(O) : config.h
1088 universal$(O) : cop.h
1089 universal$(O) : cv.h
1090 universal$(O) : embed.h
1091 universal$(O) : form.h
1092 universal$(O) : gv.h
1093 universal$(O) : handy.h
1094 universal$(O) : hv.h
1095 universal$(O) : mg.h
1096 universal$(O) : op.h
1097 universal$(O) : opcode.h
1098 universal$(O) : perl.h
1099 universal$(O) : perly.h
1100 universal$(O) : pp.h
1101 universal$(O) : proto.h
1102 universal$(O) : regexp.h
1103 universal$(O) : scope.h
1104 universal$(O) : sv.h
1105 universal$(O) : vmsish.h
1106 universal$(O) : util.h
1107 universal$(O) : universal.c
1131 perly$(O) : EXTERN.h
1133 perly$(O) : config.h
1143 perly$(O) : opcode.h
1149 perly$(O) : regexp.h
1152 perly$(O) : vmsish.h
1177 pp_ctl$(O) : EXTERN.h
1179 pp_ctl$(O) : config.h
1182 pp_ctl$(O) : embed.h
1185 pp_ctl$(O) : handy.h
1189 pp_ctl$(O) : opcode.h
1191 pp_ctl$(O) : perly.h
1192 pp_ctl$(O) : pp_ctl.c
1194 pp_ctl$(O) : proto.h
1195 pp_ctl$(O) : regexp.h
1196 pp_ctl$(O) : scope.h
1198 pp_ctl$(O) : vmsish.h
1200 pp_hot$(O) : EXTERN.h
1202 pp_hot$(O) : config.h
1205 pp_hot$(O) : embed.h
1208 pp_hot$(O) : handy.h
1212 pp_hot$(O) : opcode.h
1214 pp_hot$(O) : perly.h
1215 pp_hot$(O) : pp_hot.c
1217 pp_hot$(O) : proto.h
1218 pp_hot$(O) : regexp.h
1219 pp_hot$(O) : scope.h
1221 pp_hot$(O) : vmsish.h
1223 pp_sys$(O) : EXTERN.h
1225 pp_sys$(O) : config.h
1228 pp_sys$(O) : embed.h
1231 pp_sys$(O) : handy.h
1235 pp_sys$(O) : opcode.h
1237 pp_sys$(O) : perly.h
1238 pp_sys$(O) : pp_sys.c
1240 pp_sys$(O) : proto.h
1241 pp_sys$(O) : regexp.h
1242 pp_sys$(O) : scope.h
1244 pp_sys$(O) : vmsish.h
1246 regcomp$(O) : EXTERN.h
1247 regcomp$(O) : INTERN.h
1249 regcomp$(O) : config.h
1252 regcomp$(O) : embed.h
1253 regcomp$(O) : form.h
1255 regcomp$(O) : handy.h
1259 regcomp$(O) : opcode.h
1260 regcomp$(O) : perl.h
1261 regcomp$(O) : perly.h
1263 regcomp$(O) : proto.h
1264 regcomp$(O) : regcomp.c
1265 regcomp$(O) : regcomp.h
1266 regcomp$(O) : regexp.h
1267 regcomp$(O) : scope.h
1269 regcomp$(O) : vmsish.h
1270 regcomp$(O) : util.h
1271 regexec$(O) : EXTERN.h
1273 regexec$(O) : config.h
1276 regexec$(O) : embed.h
1277 regexec$(O) : form.h
1279 regexec$(O) : handy.h
1283 regexec$(O) : opcode.h
1284 regexec$(O) : perl.h
1285 regexec$(O) : perly.h
1287 regexec$(O) : proto.h
1288 regexec$(O) : regcomp.h
1289 regexec$(O) : regexec.c
1290 regexec$(O) : regexp.h
1291 regexec$(O) : scope.h
1293 regexec$(O) : vmsish.h
1294 regexec$(O) : util.h
1341 taint$(O) : EXTERN.h
1343 taint$(O) : config.h
1353 taint$(O) : opcode.h
1358 taint$(O) : regexp.h
1362 taint$(O) : vmsish.h
1374 toke$(O) : keywords.h
1480 perlio$(O) : EXTERN.h
1482 perlio$(O) : config.h
1485 perlio$(O) : embed.h
1488 perlio$(O) : handy.h
1492 perlio$(O) : opcode.h
1494 perlio$(O) : perly.h
1496 perlio$(O) : proto.h
1497 perlio$(O) : regexp.h
1498 perlio$(O) : perlio.c
1499 perlio$(O) : scope.h
1501 perlio$(O) : vmsish.h
1503 miniperlmain$(O) : EXTERN.h
1504 miniperlmain$(O) : av.h
1505 miniperlmain$(O) : config.h
1506 miniperlmain$(O) : cop.h
1507 miniperlmain$(O) : cv.h
1508 miniperlmain$(O) : embed.h
1509 miniperlmain$(O) : form.h
1510 miniperlmain$(O) : gv.h
1511 miniperlmain$(O) : handy.h
1512 miniperlmain$(O) : hv.h
1513 miniperlmain$(O) : mg.h
1514 miniperlmain$(O) : miniperlmain.c
1515 miniperlmain$(O) : op.h
1516 miniperlmain$(O) : opcode.h
1517 miniperlmain$(O) : perl.h
1518 miniperlmain$(O) : perly.h
1519 miniperlmain$(O) : pp.h
1520 miniperlmain$(O) : proto.h
1521 miniperlmain$(O) : regexp.h
1522 miniperlmain$(O) : scope.h
1523 miniperlmain$(O) : sv.h
1524 miniperlmain$(O) : vmsish.h
1525 miniperlmain$(O) : util.h
1526 perlmain$(O) : EXTERN.h
1528 perlmain$(O) : config.h
1529 perlmain$(O) : cop.h
1531 perlmain$(O) : embed.h
1532 perlmain$(O) : form.h
1534 perlmain$(O) : handy.h
1538 perlmain$(O) : opcode.h
1539 perlmain$(O) : perl.h
1540 perlmain$(O) : perly.h
1541 perlmain$(O) : perlmain.c
1543 perlmain$(O) : proto.h
1544 perlmain$(O) : regexp.h
1545 perlmain$(O) : scope.h
1547 perlmain$(O) : vmsish.h
1548 perlmain$(O) : util.h
1549 globals$(O) : INTERN.h
1551 globals$(O) : config.h
1554 globals$(O) : embed.h
1555 globals$(O) : form.h
1557 globals$(O) : handy.h
1561 globals$(O) : opcode.h
1562 globals$(O) : perl.h
1563 globals$(O) : perly.h
1564 globals$(O) : globals.c
1566 globals$(O) : proto.h
1567 globals$(O) : regexp.h
1568 globals$(O) : scope.h
1570 globals$(O) : vmsish.h
1571 globals$(O) : util.h
1572 [.x2p]a2p$(O) : [.x2p]a2p.c
1573 [.x2p]a2p$(O) : [.x2p]a2py.c
1574 [.x2p]a2p$(O) : [.x2p]INTERN.h
1575 [.x2p]a2p$(O) : [.x2p]a2p.h
1576 [.x2p]a2p$(O) : [.x2p]hash.h
1577 [.x2p]a2p$(O) : [.x2p]str.h
1578 [.x2p]a2p$(O) : handy.h
1579 [.x2p]hash$(O) : [.x2p]hash.c
1580 [.x2p]hash$(O) : [.x2p]EXTERN.h
1581 [.x2p]hash$(O) : [.x2p]a2p.h
1582 [.x2p]hash$(O) : [.x2p]hash.h
1583 [.x2p]hash$(O) : [.x2p]str.h
1584 [.x2p]hash$(O) : handy.h
1585 [.x2p]hash$(O) : [.x2p]util.h
1586 [.x2p]str$(O) : [.x2p]str.c
1587 [.x2p]str$(O) : [.x2p]EXTERN.h
1588 [.x2p]str$(O) : [.x2p]a2p.h
1589 [.x2p]str$(O) : [.x2p]hash.h
1590 [.x2p]str$(O) : [.x2p]str.h
1591 [.x2p]str$(O) : handy.h
1592 [.x2p]str$(O) : [.x2p]util.h
1593 [.x2p]util$(O) : [.x2p]util.c
1594 [.x2p]util$(O) : [.x2p]EXTERN.h
1595 [.x2p]util$(O) : [.x2p]a2p.h
1596 [.x2p]util$(O) : [.x2p]hash.h
1597 [.x2p]util$(O) : [.x2p]str.h
1598 [.x2p]util$(O) : handy.h
1599 [.x2p]util$(O) : [.x2p]INTERN.h
1600 [.x2p]util$(O) : [.x2p]util.h
1601 [.x2p]walk$(O) : [.x2p]walk.c
1602 [.x2p]walk$(O) : [.x2p]EXTERN.h
1603 [.x2p]walk$(O) : [.x2p]a2p.h
1604 [.x2p]walk$(O) : [.x2p]hash.h
1605 [.x2p]walk$(O) : [.x2p]str.h
1606 [.x2p]walk$(O) : handy.h
1607 [.x2p]walk$(O) : [.x2p]util.h
1610 config.h : [.vms]config.vms
1611 Copy/Log/NoConfirm [.vms]config.vms []config.h
1613 vmsish.h : [.vms]vmsish.h
1614 Copy/Log/NoConfirm [.vms]vmsish.h []vmsish.h
1617 Copy/Log/Noconfirm [.vms]vms.c []
1619 $(CRTL) : $(MAKEFILE)
1620 @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(LIBS2)|$(SOCKLIB)"
1624 - If F$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;*
1625 - If F$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;*
1626 - If F$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;*
1629 - If F$Search("[...]*.Opt;-1").nes."" Then Purge/NoConfirm/Log [...]*.Opt
1630 - If F$Search("[...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [...]*$(O)
1631 - If F$Search("[...]*$(E);-1").nes."" Then Purge/NoConfirm/Log [...]*$(E)
1632 - If F$Search("Config.H;-1").nes."" Then Purge/NoConfirm/Log Config.H
1633 - If F$Search("Config.SH;-1").nes."" Then Purge/NoConfirm/Log Config.SH
1634 - If F$Search("perly.c;-1").nes."" Then Purge/NoConfirm/Log perly.c
1635 - If F$Search("perly.h;-1").nes."" Then Purge/NoConfirm/Log perly.h
1636 - If F$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H
1637 - If F$Search("VMS.C;-1") .nes."" Then Purge/NoConfirm/Log VMS.C
1638 - If F$Search("Perlmain.C;-1") .nes."" Then Purge/NoConfirm/Log Perlmain.C
1639 - If F$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
1640 - If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
1641 - If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
1642 - If F$Search("[.Ext.Opcode...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.Opcode]
1643 - If F$Search("[.Ext.FileHandle...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.FileHandle]
1644 - If F$Search("[.VMS.Ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*.C
1645 - If F$Search("[.VMS.Ext...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*$(O)
1646 - If F$Search("[.Lib.Auto...]*.al;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]*.al
1647 - If F$Search("[.Lib.Auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]autosplit.ix
1648 - If F$Search("[.Lib]DynaLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]DynaLoader.pm
1649 - If F$Search("[.Lib]Socket.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Socket.pm
1650 - If F$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm
1651 - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm
1652 - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
1653 - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
1654 - If F$Search("[.Lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.Lib.VMS]*.*
1655 - If F$Search("[.Lib.Pod]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Pod]*.Pod
1656 - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
1657 - If F$Search("[.lib]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib]*.com
1658 - If F$Search("[.utils]*.com;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.com
1659 - If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com
1660 - If F$Search("[.lib.pod]*.;-1").nes."" Then Purge/NoConfirm/Log [.lib.pod]*.
1663 Set Default [.ext.Fcntl]
1666 Set Default [.ext.FileHandle]
1669 Set Default [.ext.IO]
1672 Set Default [.ext.Opcode]
1676 Set Default [.ext.POSIX]
1680 - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
1681 - If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
1682 - If F$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
1683 - If F$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
1684 - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
1685 - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
1686 - If F$Search("perly.c").nes."" Then Delete/NoConfirm/Log perly.c;*
1687 - If F$Search("perly.h").nes."" Then Delete/NoConfirm/Log perly.h;*
1688 - If F$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;*
1689 - If F$Search("VMS.C") .nes."" Then Delete/NoConfirm/Log VMS.C;*
1690 - If F$Search("Perlmain.C") .nes."" Then Delete/NoConfirm/Log Perlmain.C;*
1691 - If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
1692 - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
1693 - If F$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);*
1694 - If F$Search("[.Ext.DynaLoader]DL_VMS.C").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C;*
1695 - If F$Search("[.Ext.Socket]Socket$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket$(O);*
1696 - If F$Search("[.Ext.Socket]Socket.C").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket.C;*
1697 - If F$Search("[.VMS.Ext...]*.C").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*.C;*
1698 - If F$Search("[.VMS.Ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*$(O);*
1701 Set Default [.ext.Fcntl]
1704 Set Default [.ext.FileHandle]
1707 Set Default [.ext.IO]
1710 Set Default [.ext.Opcode]
1714 Set Default [.ext.POSIX]
1718 - If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
1719 - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
1720 - $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
1721 - If F$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
1722 - If F$Search("[.Lib]Socket.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Socket.pm;*
1723 - If F$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
1724 - If F$Search("[.Lib]*.com").nes."" Then Delete/NoConfirm/Log [.Lib]*.com;*
1725 - If F$Search("[.utils]*.com").nes."" Then Delete/NoConfirm/Log [.utils]*.com;*
1726 - If F$Search("[.x2p]*.com").nes."" Then Delete/NoConfirm/Log [.x2p]*.com;*
1727 - If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;*
1728 - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
1729 - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
1730 - If F$Search("[.lib.pod]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pod]*.pod;*
1731 - If F$Search("[.lib.pod]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]perldoc.com;*
1732 - If F$Search("[.lib.pod]pod2*.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]pod2*.com;*
1733 - If F$Search("[.t.lib]vmsfspec.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsfspec.t;*
1734 - If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);*
1737 - If F$Search("*.C;-1").nes."" Then Purge/NoConfirm/Log *.C
1738 - If F$Search("*.H;-1").nes."" Then Purge/NoConfirm/Log *.H
1739 - If F$Search("*.VMS;-1").nes."" Then Purge/NoConfirm/Log *.VMS
1740 - If F$Search("[.VMS]$(MAKEFILE);-1").nes."" Then Purge/NoConfirm/Log [.VMS]$(MAKEFILE)
1741 - If F$Search("[.VMS]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.C
1742 - If F$Search("[.VMS]*.H;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.H
1743 - If F$Search("[.VMS]*.Pl;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.Pl
1744 - If F$Search("[.VMS]*.VMS;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.VMS
1745 - If F$Search("[.VMS...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.pm
1746 - If F$Search("[.VMS...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.xs