1 #> This file produced from descrip.mms by mms2make.pl
2 #> Lines beginning with "#>" were commented out during the
3 #> conversion process. For more information, see mms2make.pl
5 # Makefile for perl5 on VMS
6 # Last revised 17-Jan-1995 by Charles Bailey bailey@genetics.upenn.edu
9 # tidy -- purge files generated by executing this file
10 # clean -- remove all intermediate (e.g. object files, C files generated
11 # during build) files generated by executing this file,
12 # but leave `installable' files (images, library) intact
13 # realclean -- remove all files generated by executing this file
14 # cleansrc -- `realclean' + purge *.c,*.h,Makefile
15 # crtl.opt -- compiler-specific linker options file (made automatically)
18 #### Start of system configuration section. ####
21 # File type to use for object files
22 # File type to use for object libraries
23 # File type to use for executable images
24 # File type to use for object files
26 # File type to use for object libraries
28 # File type to use for executable images
33 ARCHDIR = [.lib.$(ARCH)]
34 ARCHCORE = [.lib.$(ARCH).CORE]
35 ARCHAUTO = [.lib.$(ARCH).auto]
40 # -fno-builtin avoids bug in gcc up to version 2.6.2 which can destroy
41 # data when memcpy() is called on large (>64 kB) blocks of memory
42 # (fixed in gcc 2.6.3)
45 DBGSPECFLAGS = /Show=(Source,Include,Expansion)
46 # Some versions of DECCRTL on AXP have a bug in chdir() which causes the change
47 # to persist after the image exits, even when this was not requested, iff
48 # SYSNAM is enabled. This is fixed in CSC Patch # AXPACRT04_061, but turning
49 # off SYSNAM for the MM[SK] subprocess doesn't hurt anything, so we do it
52 @ If f$$TrnLnm("Sys").eqs."" .and. f$$TrnLnm("VAXC$Include").eqs."" Then Define/NoLog SYS sys$$Library
53 @ If f$$TrnLnm("Sys").eqs."" .and. f$$TrnLnm("VAXC$Include").nes."" Then Define/NoLog SYS VAXC$Include
55 XTRACCFLAGS = /Include=[]/Object=$(O)
57 LIBS2 = sys$$Share:VAXCRTL/Shareable
64 # N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
65 # copies live in [.vms], and the `clean' target will delete copies of
66 # these files in the current default directory.
76 # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
77 CFLAGS = /Define=(DEBUGGING$(SOCKDEF)$(XTRADEF))$(XTRACCFLAGS)$(DBGCCFLAGS)
78 LINKFLAGS = $(DBGLINKFLAGS)
81 MAKEFILE = [.VMS]Makefile # this file
84 # Macros to invoke a copy of miniperl during the build. Targets which
85 # are built using these macros should depend on $(MINIPERL_EXE)
86 MINIPERL_EXE = sys$$Disk:[]miniperl$(E)
87 MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
88 XSUBPP = $(MINIPERL) [.lib.extutils]xsubpp
89 # Macro to invoke a preexisting copy of Perl. This is used to regenerate
90 # some header files when rebuilding Perl, but premade versions are provided
91 # in the distribution, so it's OK if this doesn't work; it's here to make
92 # life easier for those who modify Perl and rebuild it.
95 # Space-separated list of "static" extensions to build into perlshr (case counts).
97 # object files for these extensions; the trailing comma is required if
98 # there are any object files specified
99 # These must be built separately, or you must add rules below to build them
100 myextobj = [.ext.dynaloader]dl_vms$(O),
105 #### End of system configuration section. ####
108 h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, config.h, cop.h, cv.h
109 h2 = embed.h, form.h, gv.h, handy.h, hv.h, keywords.h, mg.h, op.h
110 h3 = opcode.h, patchlevel.h, perl.h, perly.h, pp.h, proto.h, regcomp.h
111 h4 = regexp.h, scope.h, sv.h, vmsish.h, util.h
112 h = $(h1), $(h2), $(h3), $(h4) $(SOCKHLIS)
114 c1 = av.c, scope.c, op.c, doop.c, doio.c, dump.c, hv.c, mg.c
115 c2 = perl.c, perly.c, pp.c, pp_hot.c, pp_ctl.c, pp_sys.c, regcomp.c, regexec.c
116 c3 = gv.c, sv.c, taint.c, toke.c, util.c, deb.c, run.c, globals.c, vms.c $(SOCKCLIS)
118 c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c
120 obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), util$(O), mg$(O)
121 obj2 = hv$(O), av$(O), run$(O), pp_hot$(O), sv$(O), pp$(O), scope$(O), pp_ctl$(O), pp_sys$(O)
122 obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), globals$(O), vms$(O) $(SOCKOBJ)
124 obj = $(obj1), $(obj2), $(obj3)
126 ac1 = $(ARCHCORE)EXTERN.h $(ARCHCORE)INTERN.h $(ARCHCORE)XSUB.h $(ARCHCORE)av.h
127 ac2 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
128 ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
129 ac4 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)op.h $(ARCHCORE)opcode.h
130 ac5 = $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h $(ARCHCORE)perly.h
131 ac6 = $(ARCHCORE)pp.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
132 ac7 = $(ARCHCORE)regexp.h $(ARCHCORE)scope.h $(ARCHCORE)sv.h $(ARCHCORE)util.h
133 ac8 = $(ARCHCORE)vmsish.h $(ARCHCORE)$(DBG)libperl$(OLB) $(ARCHCORE)perlshr_attr.opt
134 ac9 = $(ARCHCORE)$(DBG)perlshr_bld.opt
138 CRTLOPTS =,$(CRTL)/Options
141 .suffixes: $(O) .c .xs
151 $(XSUBPP) $< >$(MMS$SOURCE_NAME).c
152 $(CC) $(CFLAGS) $(MMS$SOURCE_NAME).c
154 all : base extras archcorefiles preplibrary perlpods
156 base : miniperl$(E) perl$(E)
158 extras : FileHandle Safe libmods utils podxform
160 libmods : [.lib]Config.pm [.lib.$(ARCH)]Config.pm [.lib]DynaLoader.pm [.lib.VMS]Filespec.pm
162 utils : [.lib.pod]perldoc [.lib.ExtUtils]Miniperl.pm [.utils]c2ph [.utils]h2ph [.utils]h2xs [.lib]perlbug
164 podxform : [.lib.pod]pod2text [.lib.pod]pod2html [.lib.pod]pod2latex [.lib.pod]pod2man
167 pod1 = [.lib.pod]perl.pod [.lib.pod]perlbook.pod [.lib.pod]perlbot.pod [.lib.pod]perlcall.pod
168 pod2 = [.lib.pod]perldata.pod [.lib.pod]perldebug.pod [.lib.pod]perldiag.pod [.lib.pod]perldsc.pod
169 pod3 = [.lib.pod]perlembed.pod [.lib.pod]perlform.pod [.lib.pod]perlfunc.pod [.lib.pod]perlguts.pod
170 pod4 = [.lib.pod]perlipc.pod [.lib.pod]perllol.pod [.lib.pod]perlmod.pod [.lib.pod]perlobj.pod
171 pod5 = [.lib.pod]perlop.pod [.lib.pod]perlovl.pod [.lib.pod]perlpod.pod [.lib.pod]perlre.pod
172 pod6 = [.lib.pod]perlref.pod [.lib.pod]perlrun.pod [.lib.pod]perlsec.pod [.lib.pod]perlstyle.pod
173 pod7 = [.lib.pod]perlsub.pod [.lib.pod]perlsyn.pod [.lib.pod]perltie.pod [.lib.pod]perltoc.pod
174 pod8 = [.lib.pod]perltrap.pod [.lib.pod]perlvar.pod [.lib.pod]perlxs.pod [.lib.pod]perlxstut.pod
176 perlpods : $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) [.lib.pod]perlvms.pod
179 archcorefiles : $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(acs) $(ARCHAUTO)time.stamp
182 miniperl_objs = miniperlmain$(O), $(obj)
183 $(MINIPERL_EXE) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
184 Link $(LINKFLAGS)/NoDebug/Exe=$@ miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
185 miniperl$(E) : $(miniperl_objs), $(DBG)libperl$(OLB) $(CRTL)
186 Link $(LINKFLAGS)/Exe=$(DBG)$@ miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
188 $(DBG)libperl$(OLB) : $(obj)
189 @ If f$$Search("$@").eqs."" Then Library/Object/Create $(MMS$TARGET)
190 Library/Object/Replace $@ $(obj1)
191 Library/Object/Replace $@ $(obj2)
192 Library/Object/Replace $@ $(obj3)
194 perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
195 $(MINIPERL) [.VMS]Writemain.pl "$(EXT)"
197 perl$(E) : perlmain$(O), perlshr$(E), $(MINIPERL_EXE)
198 @ $$@[.vms]genopt "PerlShr.Opt/Write" "|" "''f$$Environment("Default")'$(DBG)PerlShr$(E)/Share"
199 Link $(LINKFLAGS)/Exe=$(DBG)$@ perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option
200 perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
201 Link /NoTrace$(LINKFLAGS)/Share=$(DBG)$@ $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
202 # The following files are built in one go by gen_shrfls.pl:
203 # perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP
204 # perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only
205 # This is a backup target used only with older versions of the DECCRTL which
206 # can't deal with pipes properly. See ReadMe.VMS for details.
207 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
208 $(MINIPERL) [.vms]gen_shrfls.pl "$(CC)$(CFLAGS)" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)"
209 @ If f$$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
210 @ Copy NLA0: $(DBG)perlshr_xtras.ts
212 [.lib.$(ARCH)]config.pm : [.lib]config.pm
213 Create/Directory [.lib.$(ARCH)]
214 Copy [.lib]config.pm $@
216 [.lib]config.pm : [.vms]config.vms [.vms]genconfig.pl $(MINIPERL_EXE)
217 $(MINIPERL) [.VMS]GenConfig.Pl cc=$(CC)$(CFLAGS) ldflags=$(LINKFLAGS) obj_ext=$(O) exe_ext=$(E) lib_ext=$(OLB)
218 $(MINIPERL) ConfigPM.
220 [.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs $(MINIPERL_EXE)
221 $(XSUBPP) [.ext.dynaloader]dl_vms.xs >$@
223 [.ext.dynaloader]dl_vms$(O) : [.ext.dynaloader]dl_vms.c
224 $(CC) $(CFLAGS) /Object=$@ [.ext.dynaloader]dl_vms.c
226 [.lib]DynaLoader.pm : [.ext.dynaloader]dynaloader.pm
227 Copy/Log/NoConfirm [.ext.dynaloader]dynaloader.pm [.lib]DynaLoader.pm
228 @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]DynaLoader.pm
230 Safe : [.lib]Safe.pm [.lib.auto]Safe$(E)
233 [.lib]Safe.pm : [.ext.Safe]Makefile
234 @ Set Default [.ext.Safe]
238 [.lib.auto]Safe$(E) : [.ext.Safe]Makefile
239 @ Set Default [.ext.Safe]
243 # Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
244 # ${@} necessary to distract different versions of MM[SK]/make
245 [.ext.Safe]Makefile : [.ext.Safe]Makefile.PL [.lib.$(ARCH)]Config.pm [.lib.VMS]Filespec.pm [.lib]DynaLoader.pm perlshr$(E)
246 $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.Safe]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" 2>_nla0:
248 FileHandle : [.lib]FileHandle.pm [.lib.auto]FileHandle$(E)
251 [.lib]FileHandle.pm : [.ext.FileHandle]Makefile
252 @ Set Default [.ext.FileHandle]
256 [.lib.auto]FileHandle$(E) : [.ext.FileHandle]Makefile
257 @ Set Default [.ext.FileHandle]
261 # Add "-I[--.lib]" t $(MINIPERL) so we use this copy of lib after C<chdir>
262 # ${@} necessary to distract different versions of MM[SK]/make
263 [.ext.FileHandle]Makefile : [.ext.FileHandle]Makefile.PL [.lib.$(ARCH)]Config.pm [.lib.VMS]Filespec.pm [.lib]DynaLoader.pm perlshr$(E)
264 $(MINIPERL) "-I[--.lib]" -e "chdir('[.ext.FileHandle]') or die $!; do 'Makefile.PL'; print ${@} if ${@};" 2>_nla0:
266 [.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
267 @ If f$$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
268 Copy/Log/NoConfirm [.vms.ext]Filespec.pm $@
270 [.lib.pod]perldoc : [.utils]perldoc.PL [.lib.$(ARCH)]Config.pm
271 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
272 $(MINIPERL) [.utils]perldoc.PL
273 Copy/Log [.utils]perldoc $@
275 [.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c [.lib.$(ARCH)]Config.pm
276 $(MINIPERL) Minimod.PL >$@
278 [.utils]c2ph : [.utils]c2ph.PL [.lib.$(ARCH)]Config.pm
279 $(MINIPERL) [.utils]c2ph.PL
281 [.utils]h2ph : [.utils]h2ph.PL [.lib.$(ARCH)]Config.pm
282 $(MINIPERL) [.utils]h2ph.PL
284 [.utils]h2xs : [.utils]h2xs.PL [.lib.$(ARCH)]Config.pm
285 $(MINIPERL) [.utils]h2xs.PL
287 [.lib]perlbug : [.utils]perlbug.PL [.lib.$(ARCH)]Config.pm
288 $(MINIPERL) [.utils]perlbug.PL
289 Rename/Log [.utils]perlbug $@
291 [.utils]pl2pm : [.utils]pl2pm.PL [.lib.$(ARCH)]Config.pm
292 $(MINIPERL) [.utils]pl2pm.PL
294 [.lib.pod]pod2html : [.pod]pod2html.PL [.lib.$(ARCH)]Config.pm
295 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
296 $(MINIPERL) [.pod]pod2html.PL
297 Rename/Log [.pod]pod2html $@
299 [.lib.pod]pod2latex : [.pod]pod2latex.PL [.lib.$(ARCH)]Config.pm
300 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
301 $(MINIPERL) [.pod]pod2latex.PL
302 Rename/Log [.pod]pod2latex $@
304 [.lib.pod]pod2man : [.pod]pod2man.PL [.lib.$(ARCH)]Config.pm
305 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
306 $(MINIPERL) [.pod]pod2man.PL
307 Rename/Log [.pod]pod2man $@
309 [.lib.pod]pod2text : [.pod]pod2text.PL [.lib.$(ARCH)]Config.pm
310 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
311 $(MINIPERL) [.pod]pod2text.PL
312 Rename/Log [.pod]pod2text $@
314 preplibrary : $(MINIPERL_EXE) [.lib.$(ARCH)]Config.pm [.lib]DynaLoader.pm [.lib.VMS]Filespec.pm $(SOCKPM)
315 @ Write sys$$Output "Autosplitting Perl library . . ."
316 @ Create/Directory [.lib.auto]
317 @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm
319 [.lib.pod]perl.pod : [.pod]perl.pod
320 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
321 @ Copy/Log [.pod]perl.pod $@
323 [.lib.pod]perlbook.pod : [.pod]perlbook.pod
324 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
325 @ Copy/Log [.pod]perlbook.pod $@
327 [.lib.pod]perlbot.pod : [.pod]perlbot.pod
328 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
329 @ Copy/Log [.pod]perlbot.pod $@
331 [.lib.pod]perlcall.pod : [.pod]perlcall.pod
332 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
333 @ Copy/Log [.pod]perlcall.pod $@
335 [.lib.pod]perldata.pod : [.pod]perldata.pod
336 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
337 @ Copy/Log [.pod]perldata.pod $@
339 [.lib.pod]perldebug.pod : [.pod]perldebug.pod
340 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
341 @ Copy/Log [.pod]perldebug.pod $@
343 [.lib.pod]perldiag.pod : [.pod]perldiag.pod
344 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
345 @ Copy/Log [.pod]perldiag.pod $@
347 [.lib.pod]perldsc.pod : [.pod]perldsc.pod
348 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
349 @ Copy/Log [.pod]perldsc.pod $@
351 [.lib.pod]perlembed.pod : [.pod]perlembed.pod
352 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
353 @ Copy/Log [.pod]perlembed.pod $@
355 [.lib.pod]perlform.pod : [.pod]perlform.pod
356 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
357 @ Copy/Log [.pod]perlform.pod $@
359 [.lib.pod]perlfunc.pod : [.pod]perlfunc.pod
360 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
361 @ Copy/Log [.pod]perlfunc.pod $@
363 [.lib.pod]perlguts.pod : [.pod]perlguts.pod
364 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
365 @ Copy/Log [.pod]perlguts.pod $@
367 [.lib.pod]perlipc.pod : [.pod]perlipc.pod
368 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
369 @ Copy/Log [.pod]perlipc.pod $@
371 [.lib.pod]perllol.pod : [.pod]perllol.pod
372 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
373 @ Copy/Log [.pod]perllol.pod $@
375 [.lib.pod]perlmod.pod : [.pod]perlmod.pod
376 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
377 @ Copy/Log [.pod]perlmod.pod $@
379 [.lib.pod]perlobj.pod : [.pod]perlobj.pod
380 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
381 @ Copy/Log [.pod]perlobj.pod $@
383 [.lib.pod]perlop.pod : [.pod]perlop.pod
384 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
385 @ Copy/Log [.pod]perlop.pod $@
387 [.lib.pod]perlovl.pod : [.pod]perlovl.pod
388 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
389 @ Copy/Log [.pod]perlovl.pod $@
391 [.lib.pod]perlpod.pod : [.pod]perlpod.pod
392 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
393 @ Copy/Log [.pod]perlpod.pod $@
395 [.lib.pod]perlre.pod : [.pod]perlre.pod
396 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
397 @ Copy/Log [.pod]perlre.pod $@
399 [.lib.pod]perlref.pod : [.pod]perlref.pod
400 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
401 @ Copy/Log [.pod]perlref.pod $@
403 [.lib.pod]perlrun.pod : [.pod]perlrun.pod
404 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
405 @ Copy/Log [.pod]perlrun.pod $@
407 [.lib.pod]perlsec.pod : [.pod]perlsec.pod
408 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
409 @ Copy/Log [.pod]perlsec.pod $@
411 [.lib.pod]perlstyle.pod : [.pod]perlstyle.pod
412 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
413 @ Copy/Log [.pod]perlstyle.pod $@
415 [.lib.pod]perlsub.pod : [.pod]perlsub.pod
416 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
417 @ Copy/Log [.pod]perlsub.pod $@
419 [.lib.pod]perlsyn.pod : [.pod]perlsyn.pod
420 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
421 @ Copy/Log [.pod]perlsyn.pod $@
423 [.lib.pod]perltie.pod : [.pod]perltie.pod
424 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
425 @ Copy/Log [.pod]perltie.pod $@
427 [.lib.pod]perltoc.pod : [.pod]perltoc.pod
428 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
429 @ Copy/Log [.pod]perltoc.pod $@
431 [.lib.pod]perltrap.pod : [.pod]perltrap.pod
432 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
433 @ Copy/Log [.pod]perltrap.pod $@
435 [.lib.pod]perlvar.pod : [.pod]perlvar.pod
436 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
437 @ Copy/Log [.pod]perlvar.pod $@
439 [.lib.pod]perlxs.pod : [.pod]perlxs.pod
440 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
441 @ Copy/Log [.pod]perlxs.pod $@
443 [.lib.pod]perlxstut.pod : [.pod]perlxstut.pod
444 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
445 @ Copy/Log [.pod]perlxstut.pod $@
447 [.lib.pod]perlvms.pod : [.vms]perlvms.pod
448 @ If f$$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
449 @ Copy/Log [.vms]perlvms.pod $@
452 @ $$@[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
453 @ $$@[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(LIBS2)" "$(SOCKLIB)" "$(EXT)" "$(DBG)"
456 # The following three header files are generated automatically
457 # keywords.h : keywords.pl
458 # opcode.h : opcode.pl
459 # embed.h : embed.pl global.sym interp.sym
460 # The correct versions should be already supplied with the perl kit,
461 # in case you don't have perl available.
462 # To force them to run, type
465 $(INSTPERL) keywords.pl
466 $(INSTPERL) opcode.pl
469 # VMS uses modified perly.[ch] with tags for globaldefs if using DEC compiler
470 perly.c : [.vms]perly_c.vms
471 Copy/Log [.vms]perly_c.vms $@
472 perly.h : [.vms]perly_h.vms
473 Copy/Log [.vms]perly_h.vms $@
475 # I now supply perly.c with the kits, so the following section is
476 # commented out if you don't have byacc.
477 # Altered for VMS by Charles Bailey bailey@genetics.upenn.edu
479 # @ Write Sys$Output "Expect 80 shift/reduce and 62 reduce/reduce conflicts"
480 # \$(BYACC) -d perly.y
481 # Has to be done by hand or by POSIX shell under VMS
482 # sh \$(shellflags) ./perly.fixer y.tab.c perly.c
483 # rename y.tab.h perly.h
484 # $(INSTPERL) [.vms]vms_yfix.pl perly.c perly.h [.vms]perly_c.vms [.vms]perly_h.vms
486 perly$(O) : perly.c, perly.h, $(h)
487 $(CC) $(CFLAGS) perly.c
492 # CORE subset for MakeMaker, so we can build Perl without sources
493 # Should move to VMS installperl when we get one
494 $(ARCHCORE)EXTERN.h : EXTERN.h
495 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
497 $(ARCHCORE)INTERN.h : INTERN.h
498 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
500 $(ARCHCORE)XSUB.h : XSUB.h
501 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
503 $(ARCHCORE)av.h : av.h
504 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
506 $(ARCHCORE)config.h : config.h
507 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
509 $(ARCHCORE)cop.h : cop.h
510 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
512 $(ARCHCORE)cv.h : cv.h
513 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
515 $(ARCHCORE)embed.h : embed.h
516 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
518 $(ARCHCORE)form.h : form.h
519 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
521 $(ARCHCORE)gv.h : gv.h
522 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
524 $(ARCHCORE)handy.h : handy.h
525 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
527 $(ARCHCORE)hv.h : hv.h
528 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
530 $(ARCHCORE)keywords.h : keywords.h
531 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
532 Copy/Log keywords.h $@
533 $(ARCHCORE)mg.h : mg.h
534 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
536 $(ARCHCORE)op.h : op.h
537 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
539 $(ARCHCORE)opcode.h : opcode.h
540 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
542 $(ARCHCORE)patchlevel.h : patchlevel.h
543 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
544 Copy/Log patchlevel.h $@
545 $(ARCHCORE)perl.h : perl.h
546 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
548 $(ARCHCORE)perly.h : perly.h
549 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
551 $(ARCHCORE)pp.h : pp.h
552 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
554 $(ARCHCORE)proto.h : proto.h
555 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
557 $(ARCHCORE)regcomp.h : regcomp.h
558 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
559 Copy/Log regcomp.h $@
560 $(ARCHCORE)regexp.h : regexp.h
561 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
563 $(ARCHCORE)scope.h : scope.h
564 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
566 $(ARCHCORE)sv.h : sv.h
567 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
569 $(ARCHCORE)util.h : util.h
570 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
572 $(ARCHCORE)vmsish.h : vmsish.h
573 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
575 $(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts
576 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
577 Copy/Log $(DBG)libperl$(OLB) $@
578 $(ARCHCORE)perlshr_attr.opt : $(DBG)perlshr_xtras.ts
579 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
580 Copy/Log perlshr_attr.opt $@
581 $(ARCHCORE)$(DBG)perlshr_bld.opt : $(DBG)perlshr_xtras.ts
582 @ If f$$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
583 Copy/Log $(DBG)perlshr_bld.opt $@
584 $(ARCHAUTO)time.stamp :
585 @ If f$$Search("[.lib.$(ARCH)]auto.dir").eqs."" Then Create/Directory $(ARCHAUTO)
586 @ If f$$Search("$@").eqs."" Then Copy/NoConfirm _NLA0: $(MMS$TARGET)
588 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
842 pp_ctl$(O) : EXTERN.h
844 pp_ctl$(O) : config.h
854 pp_ctl$(O) : opcode.h
857 pp_ctl$(O) : pp_ctl.c
860 pp_ctl$(O) : regexp.h
863 pp_ctl$(O) : vmsish.h
865 pp_hot$(O) : EXTERN.h
867 pp_hot$(O) : config.h
877 pp_hot$(O) : opcode.h
880 pp_hot$(O) : pp_hot.c
883 pp_hot$(O) : regexp.h
886 pp_hot$(O) : vmsish.h
888 pp_sys$(O) : EXTERN.h
890 pp_sys$(O) : config.h
900 pp_sys$(O) : opcode.h
903 pp_sys$(O) : pp_sys.c
906 pp_sys$(O) : regexp.h
909 pp_sys$(O) : vmsish.h
911 regcomp$(O) : EXTERN.h
912 regcomp$(O) : INTERN.h
914 regcomp$(O) : config.h
917 regcomp$(O) : embed.h
920 regcomp$(O) : handy.h
924 regcomp$(O) : opcode.h
926 regcomp$(O) : perly.h
928 regcomp$(O) : proto.h
929 regcomp$(O) : regcomp.c
930 regcomp$(O) : regcomp.h
931 regcomp$(O) : regexp.h
932 regcomp$(O) : scope.h
934 regcomp$(O) : vmsish.h
936 regexec$(O) : EXTERN.h
938 regexec$(O) : config.h
941 regexec$(O) : embed.h
944 regexec$(O) : handy.h
948 regexec$(O) : opcode.h
950 regexec$(O) : perly.h
952 regexec$(O) : proto.h
953 regexec$(O) : regcomp.h
954 regexec$(O) : regexec.c
955 regexec$(O) : regexp.h
956 regexec$(O) : scope.h
958 regexec$(O) : vmsish.h
1006 taint$(O) : EXTERN.h
1008 taint$(O) : config.h
1018 taint$(O) : opcode.h
1023 taint$(O) : regexp.h
1027 taint$(O) : vmsish.h
1039 toke$(O) : keywords.h
1145 miniperlmain$(O) : EXTERN.h
1146 miniperlmain$(O) : av.h
1147 miniperlmain$(O) : config.h
1148 miniperlmain$(O) : cop.h
1149 miniperlmain$(O) : cv.h
1150 miniperlmain$(O) : embed.h
1151 miniperlmain$(O) : form.h
1152 miniperlmain$(O) : gv.h
1153 miniperlmain$(O) : handy.h
1154 miniperlmain$(O) : hv.h
1155 miniperlmain$(O) : mg.h
1156 miniperlmain$(O) : miniperlmain.c
1157 miniperlmain$(O) : op.h
1158 miniperlmain$(O) : opcode.h
1159 miniperlmain$(O) : perl.h
1160 miniperlmain$(O) : perly.h
1161 miniperlmain$(O) : pp.h
1162 miniperlmain$(O) : proto.h
1163 miniperlmain$(O) : regexp.h
1164 miniperlmain$(O) : scope.h
1165 miniperlmain$(O) : sv.h
1166 miniperlmain$(O) : vmsish.h
1167 miniperlmain$(O) : util.h
1168 perlmain$(O) : EXTERN.h
1170 perlmain$(O) : config.h
1171 perlmain$(O) : cop.h
1173 perlmain$(O) : embed.h
1174 perlmain$(O) : form.h
1176 perlmain$(O) : handy.h
1180 perlmain$(O) : opcode.h
1181 perlmain$(O) : perl.h
1182 perlmain$(O) : perly.h
1183 perlmain$(O) : perlmain.c
1185 perlmain$(O) : proto.h
1186 perlmain$(O) : regexp.h
1187 perlmain$(O) : scope.h
1189 perlmain$(O) : vmsish.h
1190 perlmain$(O) : util.h
1191 globals$(O) : INTERN.h
1193 globals$(O) : config.h
1196 globals$(O) : embed.h
1197 globals$(O) : form.h
1199 globals$(O) : handy.h
1203 globals$(O) : opcode.h
1204 globals$(O) : perl.h
1205 globals$(O) : perly.h
1206 globals$(O) : globals.c
1208 globals$(O) : proto.h
1209 globals$(O) : regexp.h
1210 globals$(O) : scope.h
1212 globals$(O) : vmsish.h
1213 globals$(O) : util.h
1215 config.h : [.vms]config.vms
1216 Copy/Log/NoConfirm [.vms]config.vms []config.h
1218 vmsish.h : [.vms]vmsish.h
1219 Copy/Log/NoConfirm [.vms]vmsish.h []vmsish.h
1222 Copy/Log/Noconfirm [.vms]vms.c []
1224 $(CRTL) : $(MAKEFILE)
1225 @ $$@[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(LIBS2)|$(SOCKLIB)"
1229 - If f$$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;*
1230 - If f$$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;*
1231 - If f$$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;*
1234 - If f$$Search("*.Opt;-1").nes."" Then Purge/NoConfirm/Log *.Opt
1235 - If f$$Search("*$(O);-1").nes."" Then Purge/NoConfirm/Log *$(O)
1236 - If f$$Search("*$(E);-1").nes."" Then Purge/NoConfirm/Log *$(E)
1237 - If f$$Search("Config.H;-1").nes."" Then Purge/NoConfirm/Log Config.H
1238 - If f$$Search("Config.SH;-1").nes."" Then Purge/NoConfirm/Log Config.SH
1239 - If f$$Search("perly.c;-1").nes."" Then Purge/NoConfirm/Log perly.c
1240 - If f$$Search("perly.h;-1").nes."" Then Purge/NoConfirm/Log perly.h
1241 - If f$$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H
1242 - If f$$Search("VMS.C;-1") .nes."" Then Purge/NoConfirm/Log VMS.C
1243 - If f$$Search("Perlmain.C;-1") .nes."" Then Purge/NoConfirm/Log Perlmain.C
1244 - If f$$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
1245 - If f$$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
1246 - If f$$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
1247 - If f$$Search("[.Ext.Safe...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.Safe]
1248 - If f$$Search("[.Ext.FileHandle...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.FileHandle]
1249 - If f$$Search("[.VMS.Ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*.C
1250 - If f$$Search("[.VMS.Ext...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*$(O)
1251 - If f$$Search("[.Lib.Auto...]*.al;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]*.al
1252 - If f$$Search("[.Lib.Auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]autosplit.ix
1253 - If f$$Search("[.Lib]DynaLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]DynaLoader.pm
1254 - If f$$Search("[.Lib]Socket.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Socket.pm
1255 - If f$$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm
1256 - If f$$Search("[.Lib.$(ARCH)]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib.$(ARCH)]Config.pm
1257 - If f$$Search("[.Lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.Lib.VMS]*.*
1258 - If f$$Search("[.Lib.Pod]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Pod]*.Pod
1259 - If f$$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
1260 - If f$$Search("[.utils]*.;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.
1261 - If f$$Search("[.lib.pod]*.;-1").nes."" Then Purge/NoConfirm/Log [.lib.pod]*.
1264 - If f$$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
1265 - If f$$Search("*$(O);*") .nes."" Then Delete/NoConfirm/Log *$(O);*
1266 - If f$$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
1267 - If f$$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
1268 - If f$$Search(f$$Parse("sys$$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
1269 - If f$$Search(f$$Parse("sys$$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
1270 - If f$$Search("perly.c").nes."" Then Delete/NoConfirm/Log perly.c;*
1271 - If f$$Search("perly.h").nes."" Then Delete/NoConfirm/Log perly.h;*
1272 - If f$$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;*
1273 - If f$$Search("VMS.C") .nes."" Then Delete/NoConfirm/Log VMS.C;*
1274 - If f$$Search("Perlmain.C") .nes."" Then Delete/NoConfirm/Log Perlmain.C;*
1275 - If f$$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
1276 - If f$$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
1277 - If f$$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);*
1278 - If f$$Search("[.Ext.DynaLoader]DL_VMS.C").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C;*
1279 - If f$$Search("[.Ext.Socket]Socket$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket$(O);*
1280 - If f$$Search("[.Ext.Socket]Socket.C").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket.C;*
1281 - If f$$Search("[.VMS.Ext...]*.C").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*.C;*
1282 - If f$$Search("[.VMS.Ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*$(O);*
1283 Set Default [.ext.FileHandle]
1286 Set Default [.ext.Safe]
1291 - If f$$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
1292 - If f$$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
1293 - $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
1294 - If f$$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
1295 - If f$$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
1296 - If f$$Search("[.Lib.$(ARCH)]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib.$(ARCH)]Config.pm;*
1297 - If f$$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
1298 - If f$$Search("[.utils]*.").nes."" Then Delete/NoConfirm/Log [.utils]*.;*
1299 - If f$$Search("[.lib.pod]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pod]*.pod;*
1300 - If f$$Search("[.lib.pod]perldoc.").nes."" Then Delete/NoConfirm/Log [.lib.pod]perldoc.;*
1301 - If f$$Search("[.lib.pod]pod2*.").nes."" Then Delete/NoConfirm/Log [.lib.pod]pod2*.;*
1302 Set Default [.ext.FileHandle]
1305 Set Default [.ext.Safe]
1308 - If f$$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
1309 - If f$$Search("*$(E)").nes."" Then Delete/NoConfirm/Log *$(E);*
1312 - If f$$Search("*.C;-1").nes."" Then Purge/NoConfirm/Log *.C
1313 - If f$$Search("*.H;-1").nes."" Then Purge/NoConfirm/Log *.H
1314 - If f$$Search("*.VMS;-1").nes."" Then Purge/NoConfirm/Log *.VMS
1315 - If f$$Search("[.VMS]$(MAKEFILE);-1").nes."" Then Purge/NoConfirm/Log [.VMS]$(MAKEFILE)
1316 - If f$$Search("[.VMS]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.C
1317 - If f$$Search("[.VMS]*.H;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.H
1318 - If f$$Search("[.VMS]*.Pl;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.Pl
1319 - If f$$Search("[.VMS]*.VMS;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.VMS
1320 - If f$$Search("[.VMS...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.pm
1321 - If f$$Search("[.VMS...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.xs