This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Housekeeping
[perl5.git] / vms / descrip_mms.template
1 !GROK!THIS!
2 # Descrip.MMS for perl5 on VMS
3 # Last revised 01-Mar-2000 by Charles Bailey  bailey@newman.upenn.edu
4 #
5 #: This file uses MMS syntax, and can be processed using DEC's MMS product,
6 #: or the free MMK clone (available by ftp at ftp.spc.edu).  If you want to
7 #: a Unix-style MAKE tool, run this file through mms2make.pl, which should
8 #: be found in the same directory as this file.
9 #:
10 #: Lines beginning with "#:" will be removed by mms2make.pl when converting
11 #: this file to MAKE syntax.
12 #
13 #       tidy      -- purge files generated by executing this file
14 #       clean     -- remove all intermediate (e.g. object files, C files generated
15 #                    during build) files generated by executing this file,
16 #                    but leave `installable' files (images, library) intact
17 #       realclean -- remove all files generated by executing this file
18 #       cleansrc  -- `realclean' + purge *.c,*.h,descrip.mms
19 #       crtl.opt  -- compiler-specific linker options file (made automatically)
20 #
21
22 #### Start of system configuration section. ####
23
24 ~DECC~
25 ~DECCXX~
26 ~GNUC~
27 ~ARCH-TYPE~ = 1
28 ~THREAD~
29 ~SOCKET~
30 ~MALLOC~
31 ~CC~
32 ~MT~
33 ~FLAGS~
34
35 #: >>>>> Architecture-specific options <<<<<
36 .ifdef AXE
37 # File type to use for object files
38 O = .abj
39 # File type to use for object libraries
40 OLB = .alb
41 # File type to use for executable images
42 E = .axe
43 .else
44 # File type to use for object files
45 O = .obj
46 # File type to use for object libraries
47 OLB = .olb
48 # File type to use for executable images
49 E = .exe
50 .endif
51
52 .ifdef __AXP__
53 ARCH = VMS_AXP
54 OBJVAL = $(O)
55 .else
56 ARCH = VMS_VAX
57 OBJVAL = $(MMS$TARGET_NAME)$(O)
58 .endif
59
60 PERL_VERSION = ~PV~
61
62 .ifdef MALLOC
63 MALLOC_O = malloc$(O)
64 MALLOC_C = malloc$(C)
65 .endif
66
67 .ifdef DECC_SOCKETS
68 SOCKET=1
69 .endif
70
71 .ifdef SOCKETSHR_SOCKETS
72 SOCKET=1
73 .endif
74
75 # If they defined SOCKET but didn't choose a stack, default to SOCKETSHR
76 .ifdef DECC_SOCKETS
77 .else
78 .ifdef SOCKETSHR_SOCKETS
79 .else
80 .ifdef SOCKET
81 SOCKETSHR_SOCKETS=1
82 .endif
83 .endif
84 .endif
85
86
87 ARCHDIR =  [.lib.$(ARCH).$(PERL_VERSION)]
88 ARCHCORE = [.lib.$(ARCH).$(PERL_VERSION).CORE]
89 ARCHAUTO = [.lib.$(ARCH).$(PERL_VERSION).auto]
90
91
92 #: Backwards compatibility
93 .ifdef DECC_PIPES_BROKEN
94 PIPES_BROKEN = 1
95 .endif
96
97 .ifdef __DEBUG__
98 NOX2P = 1
99 .endif
100
101 #: >>>>>Compiler-specific options <<<<<
102 .ifdef GNUC
103 .first
104         @ If F$TrnLnm("Sys").eqs."" Then Define/NoLog SYS GNU_CC_Include:[VMS]
105 CC = gcc
106 PIPES_BROKEN = 1
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
111 DBGSPECFLAGS =
112 XTRADEF = 
113 XTRAOBJS =
114 LIBS1 = GNU_CC:[000000]GCCLIB.OLB/Library
115 LIBS2 = Sys$Share:VAXCRTL/Shareable
116 POSIX =
117 .else
118 XTRAOBJS = 
119 LIBS1 = $(XTRAOBJS)
120 DBGSPECFLAGS = /Show=All
121 # Some versions of DECCRTL on AXP have a bug in chdir() which causes the change
122 # to persist after the image exits, even when this was not requested, iff
123 # SYSNAM is enabled.  This is fixed in CSC Patch # AXPACRT04_061, but turning
124 # off SYSNAM for the MM[SK] subprocess doesn't hurt anything, so we do it
125 # just in case.
126 .first
127         @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").nes."" Then Define/NoLog SYS DECC$System_Include
128 .ifdef __AXP__
129         @ Set Process/Privilege=(NoSYSNAM)
130         @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS Sys$Library
131 .else
132         @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS DECC$Library_Include
133 .endif
134
135 .ifdef DECCXX
136 XTRACCFLAGS = /Include=[]/Standard=ANSI/Prefix=All/Obj=$(OBJVAL)
137 .else
138 XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(OBJVAL)
139 .endif
140 XTRADEF =
141 POSIX = POSIX
142 .endif
143
144
145 #: >>>>> Configuration options <<<<<
146 #: __DEBUG__: builds images with full VMS debugger support
147 .ifdef __DEBUG__
148 DBGCCFLAGS = /List/Debug/NoOpt$(DBGSPECFLAGS)
149 DBGLINKFLAGS = /Trace/Debug/Map/Full/Cross
150 DBG = DBG
151 .else
152 DBGCCFLAGS = /NoList
153 DBGLINKFLAGS = /NoTrace/NoMap
154 DBG = 
155 .endif
156
157 #: SOCKET: build in support for TCP/IP sockets
158 #: By default, used SOCKETSHR library; see ReadMe.VMS
159 #: for information on changing socket support
160 .ifdef SOCKET
161 .ifdef DECC_SOCKETS
162 SOCKDEF = 
163 SOCKLIB = 
164 .else
165 SOCKDEF = 
166 SOCKLIB = SocketShr/Share
167 .endif
168 # N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
169 # copies live in [.vms], and the `clean' target will delete copies of
170 # these files in the current default directory.
171 SOCKC = sockadapt.c
172 SOCKH = sockadapt.h
173 SOCKARCH = $(ARCHCORE)$(SOCKH)
174 SOCKO = sockadapt$(O)
175 SOCKPM = [.lib]Socket.pm
176 .else
177 SOCKDEF =
178 SOCKLIB =
179 SOCKC =
180 SOCKH =
181 SOCKARCH =
182 SOCKO =
183 SOCKPM =
184 .endif
185
186 .ifdef THREADED
187 THREADDEF = 
188 THREAD = THREAD
189 .endif
190
191 .ifdef OLDTHREADED
192 THREADDEF = 
193 THREAD = THREAD
194 THRLIBS1 = sys$share:cma$lib_shr/share|sys$share:cma$rtl/share
195 .ifdef __AXP__
196 THRLIBS2 = sys$share:cma$open_lib_shr/share|sys$share:cma$open_rtl/share
197 .endif
198 .endif
199
200 .ifdef FAKETHREADED
201 THREADDEF = 
202 THREADH = fakethr.h
203 acth = $(ARCHCORE)fakethr.h
204 THREAD = THREAD
205 .else
206 THREADH =
207 acth =
208 .endif
209
210 # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
211 CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS)
212 # Flags for a core compile
213 X2PCFLAGS = $(CFLAGS)/Define=PERL_FOR_X2P
214 # Flags for an x2p compile
215 CORECFLAGS = $(CFLAGS)/Define=PERL_CORE
216 LINKFLAGS = $(DBGLINKFLAGS)
217
218 MAKE = $(MMS)
219 MAKEFILE = Descrip.MMS   # this file
220 NOOP = continue
221
222 # Macros to invoke a copy of miniperl during the build.  Targets which
223 # are built using these macros should depend on $(MINIPERL_EXE)
224 MINIPERL_EXE = Sys$Disk:[]miniperl$(E)
225 MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
226 MINIPERLQ = MCR $(MINIPERL_EXE) ""-I[.lib]""
227 XSUBPP = $(MINIPERL) "-I[.ext.re]" [.lib.extutils]xsubpp -noprototypes
228 # Macro to invoke a preexisting copy of Perl.  This is used to regenerate
229 # some header files when rebuilding Perl, but premade versions are provided
230 # in the distribution, so it's OK if this doesn't work; it's here to make
231 # life easier for those who modify Perl and rebuild it.
232 INSTPERL = perl
233
234 # Space-separated list of "dynamic" extensions which should be built for
235 # run-time dynamic loading.
236 dynamic_ext = $extensions
237
238 # Space-separated list of "static" extensions to build into perlshr (case counts).
239 MYEXT = DynaLoader
240 # object files for these extensions; the trailing comma is required if
241 # there are any object files specified
242 # These must be built separately, or you must add rules below to build them
243 myextobj = [.ext.dynaloader]dl_vms$(O),
244 #: We include the Socket extension by default if we're building with socket
245 #: support, since it's small and not really worth bothering to keep track
246 #: of separately.
247 .ifdef SOCKET
248 EXT = $(MYEXT) Socket
249 extobj = $(myextobj) [.ext.socket]socket$(O), 
250 .else
251 EXT = $(MYEXT)
252 extobj = $(myextobj)
253 .endif
254
255 .ifdef LIBS2
256 .else
257 LIBS2=
258 .endif
259
260 .ifdef THRLIBS1
261 .else
262 THRLIBS1=
263 .endif
264
265 .ifdef THRLIBS2
266 .else
267 THRLIBS2=
268 .endif
269
270 FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
271
272 #### End of system configuration section. ####
273
274 c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c
275 c1 = hv.c mg.c miniperlmain.c op.c perl.c perlapi.c perlio.c perly.c pp.c pp_ctl.c
276 c2 = pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c sv.c taint.c
277 c3 = toke.c universal.c utf8.c util.c vms.c xsutils.c
278 c = $(c0) $(c1) $(c2) $(c3)
279
280 obj0 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O)
281 obj1 = globals$(O) gv$(O) hv$(O) mg$(O) miniperlmain$(O) op$(O) perl$(O) perlapi$(O)
282 obj2 = perlio$(O) perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) pp_sys$(O) regcomp$(O)
283 obj3 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O)
284 obj4 = utf8$(O) util$(O) vms$(O) xsutils$(O)
285 obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4)
286
287 h0 = av.h cc_runtime.h config.h cop.h cv.h embed.h embedvar.h
288 h1 = extern.h form.h gv.h handy.h hv.h intern.h intrpvar.h
289 h2 = iperlsys.h keywords.h mg.h nostdio.h objxsub.h op.h opcode.h opnames.h
290 h3 = patchlevel.h perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h
291 h4 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h
292 h5 = sv.h thrdvar.h thread.h utf8.h util.h vmsish.h warnings.h
293 h6 = xsub.h $(SOCKH) $(THREADH)
294 h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5) $(h6)
295
296 ac0 = $(ARCHCORE)$(sockh) $(ARCHCORE)av.h $(ARCHCORE)cc_runtime.h
297 ac1 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
298 ac2 = $(ARCHCORE)embedvar.h $(ARCHCORE)extern.h $(acth)
299 ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
300 ac4 = $(ARCHCORE)intern.h $(ARCHCORE)intrpvar.h $(ARCHCORE)iperlsys.h
301 ac5 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)nostdio.h
302 ac6 = $(ARCHCORE)objxsub.h $(ARCHCORE)op.h $(ARCHCORE)opcode.h
303 ac7 = $(ARCHCORE)opnames.h $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h
304 ac8 = $(ARCHCORE)perlapi.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h
305 ac9 = $(ARCHCORE)perlvars.h $(ARCHCORE)perly.h $(ARCHCORE)pp.h
306 ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
307 ac11 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
308 .ifdef SOCKARCH
309 ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h $(SOCKARCH)
310 .else
311 ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h
312 .endif 
313 ac13 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
314 ac14 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
315 acopt = $(ARCHCORE)perlshr_attr.opt $(ARCHCORE)$(DBG)perlshr_bld.opt
316 ac = $(ac0) $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(ac11) $(ac12) $(ac13) $(ac14) $(acopt)
317
318 CRTL = []crtl.opt
319 CRTLOPTS =,$(CRTL)/Options
320
321 .SUFFIXES
322
323 .ifdef LINK_ONLY
324 .else
325 .SUFFIXES $(O) .c .xs
326
327 .xs.c :
328         $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
329
330
331 .c$(O) :
332         $(CC) $(CFLAGS) $(MMS$SOURCE)
333
334 .xs$(O) :
335         $(XSUBPP) $(MMS$SOURCE) >$(MMS$SOURCE_NAME).c
336         $(CC) $(CFLAGS) $(MMS$SOURCE_NAME).c
337 .endif
338
339 # Modules which must be installed before we can build extensions
340 LIBPREREQ = $(ARCHDIR)Config.pm [.lib.VMS]Filespec.pm [.lib]DynaLoader.pm [.lib]XSLoader.pm [.lib]lib.pm [.lib]vmsish.pm [.lib.ExtUtils]XSSymSet.pm $(ARCHDIR)vmspipe.com [.lib]re.pm
341
342 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
343 utils2 = [.lib]splain.com [.utils]pl2pm.com
344
345 .ifdef NOX2P
346 all : base extras archcorefiles preplibrary perlpods
347         @ write sys$output " "
348         @ write sys$output " Everything is up to date. '$(MMS)$(MMSQUALIFIERS) test' to run test suite."
349 .else
350 all : base extras x2p archcorefiles preplibrary perlpods
351         @ write sys$output " "
352         @ write sys$output " Everything is up to date. '$(MMS)$(MMSQUALIFIERS) test' to run test suite."
353 .endif
354 base : miniperl perl
355         @ $(NOOP)
356 extras : dynext libmods utils podxform extra.pods
357         @ $(NOOP)
358 libmods : $(LIBPREREQ)
359         @ $(NOOP)
360 utils : $(utils1) $(utils2)
361         @ $(NOOP)
362 podxform : [.lib.pod]pod2text.com [.lib.pod]pod2html.com [.lib.pod]pod2latex.com [.lib.pod]pod2man.com [.lib.pod]podchecker.com [.lib.pod]pod2usage.com [.lib.pod]podselect.com
363         @ $(NOOP)
364 x2p : [.x2p]a2p$(E) [.x2p]s2p.com [.x2p]find2perl.com 
365         @ $(NOOP)
366 extra.pods : miniperl
367         @ @extra_pods.com
368
369 pod0 = [.lib.pod]perl.pod [.lib.pod]perl5004delta.pod [.lib.pod]perl5005delta.pod
370 pod1 = [.lib.pod]perlapi.pod [.lib.pod]perlapio.pod [.lib.pod]perlbook.pod
371 pod2 = [.lib.pod]perlbot.pod [.lib.pod]perlcall.pod [.lib.pod]perlcompile.pod
372 pod3 = [.lib.pod]perldata.pod [.lib.pod]perldbmfilter.pod [.lib.pod]perldebug.pod
373 pod4 = [.lib.pod]perldelta.pod [.lib.pod]perldiag.pod [.lib.pod]perldsc.pod
374 pod5 = [.lib.pod]perlembed.pod [.lib.pod]perlfaq.pod [.lib.pod]perlfaq1.pod
375 pod6 = [.lib.pod]perlfaq2.pod [.lib.pod]perlfaq3.pod [.lib.pod]perlfaq4.pod
376 pod7 = [.lib.pod]perlfaq5.pod [.lib.pod]perlfaq6.pod [.lib.pod]perlfaq7.pod
377 pod8 = [.lib.pod]perlfaq8.pod [.lib.pod]perlfaq9.pod [.lib.pod]perlfilter.pod
378 pod9 = [.lib.pod]perlfork.pod [.lib.pod]perlform.pod [.lib.pod]perlfunc.pod
379 pod10 = [.lib.pod]perlguts.pod [.lib.pod]perlhack.pod [.lib.pod]perlhist.pod
380 pod11 = [.lib.pod]perlintern.pod [.lib.pod]perlipc.pod [.lib.pod]perllexwarn.pod
381 pod12 = [.lib.pod]perllocale.pod [.lib.pod]perllol.pod [.lib.pod]perlmod.pod
382 pod13 = [.lib.pod]perlmodinstall.pod [.lib.pod]perlmodlib.pod [.lib.pod]perlobj.pod
383 pod14 = [.lib.pod]perlop.pod [.lib.pod]perlopentut.pod [.lib.pod]perlpod.pod
384 pod15 = [.lib.pod]perlport.pod [.lib.pod]perlre.pod [.lib.pod]perlref.pod
385 pod16 = [.lib.pod]perlreftut.pod [.lib.pod]perlrun.pod [.lib.pod]perlsec.pod
386 pod17 = [.lib.pod]perlstyle.pod [.lib.pod]perlsub.pod [.lib.pod]perlsyn.pod
387 pod18 = [.lib.pod]perlthrtut.pod [.lib.pod]perltie.pod [.lib.pod]perltoc.pod
388 pod19 = [.lib.pod]perltodo.pod [.lib.pod]perltoot.pod [.lib.pod]perltootc.pod
389 pod20 = [.lib.pod]perltrap.pod [.lib.pod]perlunicode.pod [.lib.pod]perlvar.pod
390 pod21 = [.lib.pod]perlxs.pod [.lib.pod]perlxstut.pod [.lib.pod]win32.pod [.lib.pod]perlvms.pod
391 pod = $(pod0) $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(pod9) $(pod10) $(pod11) $(pod12) $(pod13) $(pod14) $(pod15) $(pod16) $(pod17) $(pod18) $(pod19) $(pod20) $(pod21)
392
393 perlpods : $(pod)
394         @ $(NOOP)
395
396 archcorefiles : $(ac) $(acth) $(ARCHAUTO)time.stamp
397         @ $(NOOP)
398
399 [.lib]re.pm  : [.ext.re]re.pm
400         copy/log $(MMS$SOURCE) $(MMS$TARGET)
401
402 vmspipe.com : [.vms]vmspipe.com
403         copy/log $(MMS$SOURCE) $(MMS$TARGET)
404
405 miniperl : $(DBG)miniperl$(E)  vmspipe.com
406         @ Continue
407 $(MINIPERL_EXE) :  miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
408         Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
409 $(DBG)miniperl$(E) :  miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
410         Link $(LINKFLAGS)/Trace/Exe=$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals  $(CRTLOPTS)
411
412 $(DBG)libperl$(OLB) : $(obj)
413         @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
414         Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)
415
416 perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
417         $(MINIPERL) [.VMS]Writemain.pl "$(EXT)"
418
419 .ifdef __DEBUG__
420 # Link an extra perl that doesn't invoke the debugger
421 perl : $(DBG)perl$(E)
422         Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)perl$(E) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
423 .else
424 perl : $(DBG)perl$(E)
425         @ Continue
426 .endif
427
428 $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
429         @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
430 .ifdef MT
431         Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)/THREAD=(MULTI,UPCALL)
432 .else
433         Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
434 .endif
435
436 $(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
437         Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
438
439 # The following files are built in one go by gen_shrfls.pl:
440 #  perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP
441 #  perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only
442 # The song and dance with gen_shrfls.opt accommodates DCL's 255 character
443 # line length limit.
444 .ifdef PIPES_BROKEN
445 # This is a backup target used only with older versions of the DECCRTL which
446 # can't deal with pipes properly.  See ReadMe.VMS for details.
447 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
448         $(CC) $(CFLAGS)/NoObject/NoList/PreProcess=perl.i perl.h
449         @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "~~NOCC~~perl.i~~$(CC)$(CFLAGS)" >gen_shrfls.opt
450         @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
451         $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
452         @ Delete/NoLog/NoConfirm perl.i;, gen_shrfls.opt;
453         @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
454         @ Copy _NLA0: $(DBG)perlshr_xtras.ts
455 .else
456 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
457         @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "$(CC)$(CFLAGS)" >gen_shrfls.opt
458         @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
459         $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
460         @ Delete/NoLog/NoConfirm gen_shrfls.opt;
461         @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
462         @ Copy _NLA0: $(DBG)perlshr_xtras.ts
463 .endif
464
465 $(ARCHDIR)config.pm : [.lib]config.pm
466         Create/Directory $(ARCHDIR)
467         Copy $(MMS$SOURCE) $(MMS$TARGET)
468
469 [.lib]config.pm : config.h $(MINIPERL_EXE)
470         $(MINIPERL) ConfigPM.
471
472 $(ARCHDIR)vmspipe.com : vmspipe.com
473         Copy $(MMS$SOURCE) $(MMS$TARGET)
474
475 [.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs $(ARCHDIR)Config.pm [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
476         $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
477
478 [.ext.dynaloader]dl_vms$(O) : [.ext.dynaloader]dl_vms.c
479         $(CC) $(CFLAGS) /Include=([],[.ext.dynaloader])/Object=$(MMS$TARGET) $(MMS$SOURCE)
480
481 [.lib]DynaLoader.pm : [.ext.dynaloader]dynaloader.pm
482         Copy/Log/NoConfirm [.ext.dynaloader]dynaloader.pm [.lib]DynaLoader.pm
483         @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
484         @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]DynaLoader.pm
485
486 [.lib]XSLoader.pm : [.ext.dynaloader]xsloader.pm
487         Copy/Log/NoConfirm [.ext.dynaloader]xsloader.pm [.lib]XSLoader.pm
488         @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
489         @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]XSLoader.pm
490
491 [.ext.dynaloader]dynaloader.pm : [.ext.dynaloader]dynaloader_pm.pl
492         $(MINIPERL) $(MMS$SOURCE)
493         @ Rename/Log dynaloader.pm [.ext.dynaloader]
494
495 [.ext.dynaloader]xsloader.pm : [.ext.dynaloader]xsloader_pm.pl
496         $(MINIPERL) $(MMS$SOURCE)
497         @ Rename/Log xsloader.pm [.ext.dynaloader]
498
499 dynext : $(LIBPREREQ) $(DBG)perlshr$(E)
500         @make_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)"
501
502 [.lib]vmsish.pm : [.vms.ext]vmsish.pm
503         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
504
505 [.lib]lib.pm : [.lib]lib_pm.PL
506         $(MINIPERL) $(MMS$SOURCE)
507
508 [.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
509         @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
510         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
511
512 [.lib.ExtUtils]XSSymSet.pm : [.vms.ext]XSSymSet.pm
513         @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
514         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
515
516 [.lib.pod]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
517         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
518         $(MINIPERL) $(MMS$SOURCE)
519         Copy/Log [.utils]perldoc.com $(MMS$TARGET)
520
521 [.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c $(ARCHDIR)Config.pm
522         $(MINIPERL) $(MMS$SOURCE) >$(MMS$TARGET)
523
524 [.utils]c2ph.com : [.utils]c2ph.PL $(ARCHDIR)Config.pm
525         $(MINIPERL) $(MMS$SOURCE)
526
527 [.utils]dprofpp.com : [.utils]dprofpp.PL $(ARCHDIR)Config.pm
528         $(MINIPERL) $(MMS$SOURCE)
529
530 [.utils]h2ph.com : [.utils]h2ph.PL $(ARCHDIR)Config.pm
531         $(MINIPERL) $(MMS$SOURCE)
532
533 [.utils]h2xs.com : [.utils]h2xs.PL $(ARCHDIR)Config.pm
534         $(MINIPERL) $(MMS$SOURCE)
535
536 [.lib]perlbug.com : [.utils]perlbug.PL $(ARCHDIR)Config.pm
537         $(MINIPERL) $(MMS$SOURCE)
538         Copy/Log [.utils]perlbug.com $(MMS$TARGET)
539
540 [.lib]perlcc.com : [.utils]perlcc.PL $(ARCHDIR)Config.pm
541         $(MINIPERL) $(MMS$SOURCE)
542         Copy/Log [.utils]perlcc.com $(MMS$TARGET)
543
544 [.utils]pl2pm.com : [.utils]pl2pm.PL $(ARCHDIR)Config.pm
545         $(MINIPERL) $(MMS$SOURCE)
546
547 [.lib]splain.com : [.utils]splain.PL $(ARCHDIR)Config.pm
548         $(MINIPERL) $(MMS$SOURCE)
549         Copy/Log [.utils]splain.com $(MMS$TARGET)
550
551 [.x2p]find2perl.com : [.x2p]find2perl.PL $(ARCHDIR)Config.pm
552         $(MINIPERL) $(MMS$SOURCE)
553
554 [.x2p]s2p.com : [.x2p]s2p.PL $(ARCHDIR)Config.pm
555         $(MINIPERL) $(MMS$SOURCE)
556
557 # Rename catches problem with some DECC versions in which object file is
558 # placed in current default dir, not same one as source file.
559 [.x2p]$(DBG)a2p$(E) : [.x2p]a2p$(O), [.x2p]hash$(O), [.x2p]str$(O), [.x2p]util$(O), [.x2p]walk$(O)
560         @ If F$Search("hash$(O)").nes."" Then Rename/NoLog hash$(O),str$(O),util$(O),walk$(O) [.x2p]
561         Link $(LINKFLAGS) /Exe=$(MMS$TARGET) $(MMS$SOURCE_LIST) $(CRTLOPTS)
562
563 # Accommodate buggy cpp in some version of DECC, which chokes on illegal
564 # filespec "y.tab.c", and broken gcc cpp, which doesn't start #include ""
565 # search in same dir as source file
566 [.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)
567         $(MINIPERL) -pe "s/^#line\s+(\d+)\s+\Q""y.tab.c""/#line $1 ""y_tab.c""/;" $(MMS$SOURCE) >$(MMS$TARGET_NAME)_vms.c
568         $(CC) $(X2PCFLAGS) /Object=$(MMS$TARGET)/Include=([.x2p],[]) $(MMS$TARGET_NAME)_vms.c
569         Delete/Log/NoConfirm $(MMS$TARGET_NAME)_vms.c;
570
571 # gcc cpp broken -- doesn't look in directory of source file for #include ""
572 .ifdef GNUC
573 [.x2p]hash$(O) : [.x2p]hash.c
574         $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
575
576 [.x2p]str$(O) : [.x2p]str.c
577         $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
578
579 [.x2p]util$(O) : [.x2p]util.c
580         $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
581
582 [.x2p]walk$(O) : [.x2p]walk.c
583         $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
584 .endif
585
586 [.lib.pod]pod2html.com : [.pod]pod2html.PL $(ARCHDIR)Config.pm
587         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
588         $(MINIPERL) $(MMS$SOURCE)
589         Copy/Log [.pod]pod2html.com $(MMS$TARGET)
590
591 [.lib.pod]pod2latex.com : [.pod]pod2latex.PL $(ARCHDIR)Config.pm
592         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
593         $(MINIPERL) $(MMS$SOURCE)
594         Copy/Log [.pod]pod2latex.com $(MMS$TARGET)
595
596 [.lib.pod]pod2man.com : [.pod]pod2man.PL $(ARCHDIR)Config.pm
597         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
598         $(MINIPERL) $(MMS$SOURCE)
599         Copy/Log [.pod]pod2man.com $(MMS$TARGET)
600
601 [.lib.pod]pod2text.com : [.pod]pod2text.PL $(ARCHDIR)Config.pm
602         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
603         $(MINIPERL) $(MMS$SOURCE)
604         Copy/Log [.pod]pod2text.com $(MMS$TARGET)
605
606 [.lib.pod]podchecker.com : [.pod]podchecker.PL $(ARCHDIR)Config.pm
607         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
608         $(MINIPERL) $(MMS$SOURCE)
609         Copy/Log [.pod]podchecker.com $(MMS$TARGET)
610
611 [.lib.pod]pod2usage.com : [.pod]pod2usage.PL $(ARCHDIR)Config.pm
612         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
613         $(MINIPERL) $(MMS$SOURCE)
614         Copy/Log [.pod]pod2usage.com $(MMS$TARGET)
615
616 [.lib.pod]podselect.com : [.pod]podselect.PL $(ARCHDIR)Config.pm
617         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
618         $(MINIPERL) $(MMS$SOURCE)
619         Copy/Log [.pod]podselect.com $(MMS$TARGET)
620
621 preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) $(SOCKPM)
622         @ Write Sys$Output "Autosplitting Perl library . . ."
623         @ Create/Directory [.lib.auto]
624         @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm
625
626 [.lib.pod]perl.pod : [.pod]perl.pod
627         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
628         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
629 [.lib.pod]perl5004delta.pod : [.pod]perl5004delta.pod
630         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
631         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
632 [.lib.pod]perl5005delta.pod : [.pod]perl5005delta.pod
633         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
634         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
635 [.lib.pod]perlapi.pod : [.pod]perlapi.pod
636         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
637         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
638 [.lib.pod]perlapio.pod : [.pod]perlapio.pod
639         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
640         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
641 [.lib.pod]perlbook.pod : [.pod]perlbook.pod
642         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
643         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
644 [.lib.pod]perlbot.pod : [.pod]perlbot.pod
645         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
646         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
647 [.lib.pod]perlcall.pod : [.pod]perlcall.pod
648         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
649         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
650 [.lib.pod]perlcompile.pod : [.pod]perlcompile.pod
651         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
652         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
653 [.lib.pod]perldata.pod : [.pod]perldata.pod
654         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
655         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
656 [.lib.pod]perldbmfilter.pod : [.pod]perldbmfilter.pod
657         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
658         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
659 [.lib.pod]perldebug.pod : [.pod]perldebug.pod
660         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
661         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
662 [.lib.pod]perldelta.pod : [.pod]perldelta.pod
663         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
664         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
665 [.lib.pod]perldiag.pod : [.pod]perldiag.pod
666         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
667         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
668 [.lib.pod]perldsc.pod : [.pod]perldsc.pod
669         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
670         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
671 [.lib.pod]perlembed.pod : [.pod]perlembed.pod
672         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
673         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
674 [.lib.pod]perlfaq.pod : [.pod]perlfaq.pod
675         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
676         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
677 [.lib.pod]perlfaq1.pod : [.pod]perlfaq1.pod
678         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
679         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
680 [.lib.pod]perlfaq2.pod : [.pod]perlfaq2.pod
681         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
682         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
683 [.lib.pod]perlfaq3.pod : [.pod]perlfaq3.pod
684         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
685         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
686 [.lib.pod]perlfaq4.pod : [.pod]perlfaq4.pod
687         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
688         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
689 [.lib.pod]perlfaq5.pod : [.pod]perlfaq5.pod
690         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
691         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
692 [.lib.pod]perlfaq6.pod : [.pod]perlfaq6.pod
693         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
694         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
695 [.lib.pod]perlfaq7.pod : [.pod]perlfaq7.pod
696         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
697         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
698 [.lib.pod]perlfaq8.pod : [.pod]perlfaq8.pod
699         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
700         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
701 [.lib.pod]perlfaq9.pod : [.pod]perlfaq9.pod
702         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
703         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
704 [.lib.pod]perlfilter.pod : [.pod]perlfilter.pod
705         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
706         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
707 [.lib.pod]perlfork.pod : [.pod]perlfork.pod
708         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
709         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
710 [.lib.pod]perlform.pod : [.pod]perlform.pod
711         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
712         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
713 [.lib.pod]perlfunc.pod : [.pod]perlfunc.pod
714         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
715         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
716 [.lib.pod]perlguts.pod : [.pod]perlguts.pod
717         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
718         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
719 [.lib.pod]perlhack.pod : [.pod]perlhack.pod
720         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
721         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
722 [.lib.pod]perlhist.pod : [.pod]perlhist.pod
723         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
724         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
725 [.lib.pod]perlintern.pod : [.pod]perlintern.pod
726         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
727         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
728 [.lib.pod]perlipc.pod : [.pod]perlipc.pod
729         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
730         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
731 [.lib.pod]perllexwarn.pod : [.pod]perllexwarn.pod
732         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
733         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
734 [.lib.pod]perllocale.pod : [.pod]perllocale.pod
735         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
736         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
737 [.lib.pod]perllol.pod : [.pod]perllol.pod
738         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
739         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
740 [.lib.pod]perlmod.pod : [.pod]perlmod.pod
741         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
742         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
743 [.lib.pod]perlmodinstall.pod : [.pod]perlmodinstall.pod
744         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
745         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
746 [.lib.pod]perlmodlib.pod : [.pod]perlmodlib.pod
747         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
748         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
749 [.lib.pod]perlobj.pod : [.pod]perlobj.pod
750         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
751         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
752 [.lib.pod]perlop.pod : [.pod]perlop.pod
753         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
754         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
755 [.lib.pod]perlopentut.pod : [.pod]perlopentut.pod
756         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
757         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
758 [.lib.pod]perlpod.pod : [.pod]perlpod.pod
759         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
760         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
761 [.lib.pod]perlport.pod : [.pod]perlport.pod
762         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
763         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
764 [.lib.pod]perlre.pod : [.pod]perlre.pod
765         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
766         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
767 [.lib.pod]perlref.pod : [.pod]perlref.pod
768         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
769         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
770 [.lib.pod]perlreftut.pod : [.pod]perlreftut.pod
771         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
772         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
773 [.lib.pod]perlrun.pod : [.pod]perlrun.pod
774         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
775         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
776 [.lib.pod]perlsec.pod : [.pod]perlsec.pod
777         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
778         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
779 [.lib.pod]perlstyle.pod : [.pod]perlstyle.pod
780         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
781         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
782 [.lib.pod]perlsub.pod : [.pod]perlsub.pod
783         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
784         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
785 [.lib.pod]perlsyn.pod : [.pod]perlsyn.pod
786         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
787         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
788 [.lib.pod]perlthrtut.pod : [.pod]perlthrtut.pod
789         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
790         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
791 [.lib.pod]perltie.pod : [.pod]perltie.pod
792         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
793         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
794 [.lib.pod]perltoc.pod : [.pod]perltoc.pod
795         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
796         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
797 [.lib.pod]perltodo.pod : [.pod]perltodo.pod
798         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
799         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
800 [.lib.pod]perltoot.pod : [.pod]perltoot.pod
801         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
802         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
803 [.lib.pod]perltootc.pod : [.pod]perltootc.pod
804         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
805         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
806 [.lib.pod]perltrap.pod : [.pod]perltrap.pod
807         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
808         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
809 [.lib.pod]perlunicode.pod : [.pod]perlunicode.pod
810         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
811         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
812 [.lib.pod]perlvar.pod : [.pod]perlvar.pod
813         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
814         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
815 [.lib.pod]perlxs.pod : [.pod]perlxs.pod
816         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
817         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
818 [.lib.pod]perlxstut.pod : [.pod]perlxstut.pod
819         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
820         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
821 [.lib.pod]win32.pod : [.lib]win32.pod
822         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
823         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
824 [.lib.pod]perlvms.pod : [.vms]perlvms.pod
825         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
826         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
827
828 install.html : $(perlpods)
829         @ @perl_setup.com
830         @ If F$Search("perl_root:[lib]html.dir").eqs."" Then Create/Directory perl_root:[lib.html]
831         $(MINIPERL) installhtml. "--podroot=. --recurse --htmldir=/perl_root/lib/html --htmlroot=.. --verbose"
832
833 printconfig :
834         @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
835         @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(SOCKLIB)" "$(EXT)" "$(DBG)"
836
837 .ifdef SOCKET
838
839 .ifdef LINK_ONLY
840 .else
841 [.ext.Socket]Socket$(O) : [.ext.Socket]Socket.c
842         $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$SOURCE)
843
844 [.ext.Socket]Socket.c : [.ext.Socket]Socket.xs [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
845         $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
846 .endif # !LINK_ONLY
847
848 vmsish.h : $(SOCKH)
849
850 $(SOCKO) : $(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
851
852 $(SOCKC) : [.vms]$(SOCKC)
853         Copy/Log/NoConfirm [.vms]$(SOCKC) []$(SOCKC)
854
855 $(SOCKH) : [.vms]$(SOCKH)
856         Copy/Log/NoConfirm [.vms]$(SOCKH) []$(SOCKH)
857
858 [.lib]Socket.pm : [.ext.Socket]Socket.pm
859         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
860 .endif
861
862 # The following files are generated automatically
863 #       keywords.h:     keywords.pl
864 #       opcode.h:       opcode.pl
865 #       opnames.h:      opcode.pl
866 #       pp_proto.h:     opcode.pl
867 #       pp.sym:         opcode.pl
868 #       embed.h:        embed.pl  [* needs pp.sym generated by opcode.pl! *]
869 #       embedvar.h:     embed.pl  [* needs pp.sym generated by opcode.pl! *]
870 #       ext/ByteLoader/byterun.h:       bytecode.pl
871 #       ext/ByteLoader/byterun.c:       bytecode.pl
872 #       ext/B/Asmdata.pm:       bytecode.pl
873 #       global.sym:     embed.pl
874 #       regnodes.h:     regcomp.pl
875 #       warnings.h lib/warnings.pm:     warnings.pl
876 # The correct versions should be already supplied with the perl kit,
877 # in case you don't have perl available.
878 # To force them to run, type
879 #       MMS regen_headers
880 regen_headers :
881         $(INSTPERL) keywords.pl
882         $(INSTPERL) opcode.pl
883         $(INSTPERL) embed.pl
884         $(INSTPERL) bytecode.pl
885         $(INSTPERL) regcomp.pl
886         $(INSTPERL) warnings.pl
887
888 # VMS uses modified perly.[ch] with tags for globaldefs if using DEC compiler
889 perly.c : [.vms]perly_c.vms
890         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
891 perly.h : [.vms]perly_h.vms
892         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
893
894 .ifdef LINK_ONLY
895 .else
896 perly$(O) : perly.c, perly.h, $(h)
897 .endif
898
899 [.t.lib]vmsfspec.t : [.vms.ext]filespec.t
900         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
901
902 [.t.lib]vmsish.t : [.vms.ext]vmsish.t
903         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
904
905 check : test
906         @ Continue
907
908 test : all [.t.lib]vmsfspec.t [.t.lib]vmsish.t
909         - @[.VMS]Test.Com "$(E)" "$(__DEBUG__)"
910         @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
911
912 # install ought not need a source, but it doesn't work if one's not
913 # there. Go figure...
914 install : $(MINIPERL_EXE)
915         @ @perl_setup.com
916         If F$TrnLnm("Sys") .nes. "" Then Deass SYS
917         $(MINIPERL) installperl
918
919 archify : all
920         @ Write Sys$Output "Moving files to architecture-specific locations for $(ARCH)"
921         archroot = "$(ARCHAUTO)" - "]" + "...]"
922         Backup/Log/Verify [.lib.auto...]*.*;/Exclude=(*.al,*.ix) 'archroot'/New_Version
923         Delete/Log/NoConfirm [.lib.auto...]*.*;*/exclude=(*.al,*.ix,*.dir)
924         Delete/Log/NoConfirm [.lib]Config.pm;*
925         Copy/Log/NoConfirm *$(E);,[.x2p]a2p$(E); $(ARCHDIR)
926         Delete/Log/NoConfirm Perl*$(E);*,[.x2p]a2p$(E);*
927         @ Write Sys$Output "Architecture-specific setup completed."
928         @ Write Sys$Output "Before building for another architecture, be sure to"
929         @ Write Sys$Output "    1. $(MMS)$(MMSQUALIFIERS) clean"
930         @ Write Sys$Output "    2. Delete Miniperl$(E)"
931
932 # CORE subset for MakeMaker, so we can build Perl without sources
933 # Should move to VMS installperl when we get one
934 .ifdef SOCKET
935 $(SOCKARCH) : $(SOCKH)
936         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
937         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
938 .endif
939 $(ARCHCORE)av.h : av.h
940         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
941         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
942 $(ARCHCORE)cc_runtime.h : cc_runtime.h
943         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
944         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
945 $(ARCHCORE)config.h : config.h
946         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
947         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
948 $(ARCHCORE)cop.h : cop.h
949         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
950         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
951 $(ARCHCORE)cv.h : cv.h
952         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
953         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
954 $(ARCHCORE)embed.h : embed.h
955         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
956         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
957 $(ARCHCORE)embedvar.h : embedvar.h
958         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
959         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
960 $(ARCHCORE)extern.h : extern.h
961         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
962         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
963 .ifdef FAKETHREADED
964 $(ARCHCORE)fakethr.h : fakethr.h
965         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
966         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
967 .endif
968 $(ARCHCORE)form.h : form.h
969         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
970         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
971 $(ARCHCORE)gv.h : gv.h
972         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
973         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
974 $(ARCHCORE)handy.h : handy.h
975         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
976         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
977 $(ARCHCORE)hv.h : hv.h
978         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
979         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
980 $(ARCHCORE)intern.h : intern.h
981         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
982         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
983 $(ARCHCORE)intrpvar.h : intrpvar.h
984         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
985         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
986 $(ARCHCORE)iperlsys.h : iperlsys.h
987         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
988         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
989 $(ARCHCORE)keywords.h : keywords.h
990         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
991         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
992 $(ARCHCORE)mg.h : mg.h
993         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
994         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
995 $(ARCHCORE)nostdio.h : nostdio.h
996         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
997         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
998 $(ARCHCORE)objxsub.h : objxsub.h
999         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1000         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1001 $(ARCHCORE)op.h : op.h
1002         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1003         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1004 $(ARCHCORE)opcode.h : opcode.h
1005         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1006         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1007 $(ARCHCORE)opnames.h : opnames.h
1008         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1009         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1010 $(ARCHCORE)patchlevel.h : patchlevel.h
1011         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1012         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1013 $(ARCHCORE)perl.h : perl.h
1014         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1015         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1016 $(ARCHCORE)perlapi.h : perlapi.h
1017         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1018         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1019 $(ARCHCORE)perlio.h : perlio.h
1020         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1021         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1022 $(ARCHCORE)perlsdio.h : perlsdio.h
1023         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1024         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1025 $(ARCHCORE)perlvars.h : perlvars.h
1026         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1027         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1028 $(ARCHCORE)perly.h : perly.h
1029         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1030         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1031 $(ARCHCORE)pp.h : pp.h
1032         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1033         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1034 $(ARCHCORE)pp_proto.h : pp_proto.h
1035         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1036         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1037 $(ARCHCORE)proto.h : proto.h
1038         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1039         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1040 $(ARCHCORE)regcomp.h : regcomp.h
1041         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1042         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1043 $(ARCHCORE)regexp.h : regexp.h
1044         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1045         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1046 $(ARCHCORE)regnodes.h : regnodes.h
1047         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1048         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1049 $(ARCHCORE)scope.h : scope.h
1050         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1051         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1052 $(ARCHCORE)sv.h : sv.h
1053         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1054         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1055 $(ARCHCORE)thrdvar.h : thrdvar.h
1056         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1057         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1058 $(ARCHCORE)thread.h : thread.h
1059         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1060         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1061 $(ARCHCORE)utf8.h : utf8.h
1062         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1063         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1064 $(ARCHCORE)util.h : util.h
1065         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1066         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1067 $(ARCHCORE)vmsish.h : vmsish.h
1068         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1069         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1070 $(ARCHCORE)warnings.h : warnings.h
1071         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1072         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1073 $(ARCHCORE)xsub.h : xsub.h
1074         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1075         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1076 $(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts
1077         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1078         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1079 $(ARCHCORE)perlshr_attr.opt : $(DBG)perlshr_xtras.ts
1080         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1081         Copy/Log perlshr_attr.opt $(MMS$TARGET)
1082 $(ARCHCORE)$(DBG)perlshr_bld.opt : $(DBG)perlshr_xtras.ts
1083         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1084         Copy/Log $(DBG)perlshr_bld.opt $(MMS$TARGET)
1085 $(ARCHAUTO)time.stamp :
1086         @ If F$Search("$(ARCHDIR)auto.dir").eqs."" Then Create/Directory $(ARCHAUTO)
1087         @ If F$Search("$(MMS$TARGET)").eqs."" Then Copy/NoConfirm _NLA0: $(MMS$TARGET)
1088
1089 .ifdef LINK_ONLY
1090 .else
1091 # We need an action line here for broken older versions of MMS which
1092 # otherwise conclude that they should be compiling [.x2p]utils.c :-(
1093 #util$(O) : util.c
1094 #       $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1095 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
1096 .ifdef SOCKET
1097 $(SOCKO) : $(SOCKC) extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1098         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1099 .endif
1100 av$(O) : av.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1101         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1102 deb$(O) : deb.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1103         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1104 doio$(O) : doio.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1105         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1106 doop$(O) : doop.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1107         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1108 dump$(O) : dump.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h regcomp.h regnodes.h
1109         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1110 globals$(O) : globals.c intern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h perlapi.h
1111         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1112 gv$(O) : gv.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1113         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1114 hv$(O) : hv.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1115         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1116 malloc$(O) : malloc.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1117         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1118 mg$(O) : mg.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1119         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1120 miniperlmain$(O) : miniperlmain.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1121         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1122 op$(O) : op.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h keywords.h
1123         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1124 perl$(O) : perl.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h patchlevel.h intrpvar.h thrdvar.h
1125         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1126 perlapi$(O) : perlapi.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h patchlevel.h intrpvar.h thrdvar.h
1127         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1128 perlio$(O) : perlio.c config.h extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1129         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1130 perlmain$(O) : perlmain.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1131         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1132 perly$(O) : perly.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1133         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1134 pp$(O) : pp.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1135         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1136 pp_ctl$(O) : pp_ctl.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1137         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1138 pp_hot$(O) : pp_hot.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1139         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1140 pp_sys$(O) : pp_sys.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1141         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1142 regcomp$(O) : regcomp.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h intern.h regcomp.h regnodes.h
1143         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1144 regexec$(O) : regexec.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h regcomp.h regnodes.h
1145         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1146 run$(O) : run.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1147         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1148 scope$(O) : scope.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1149         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1150 sv$(O) : sv.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1151         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1152 taint$(O) : taint.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1153         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1154 toke$(O) : toke.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h keywords.h
1155         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1156 universal$(O) : universal.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h xsub.h perlapi.h objxsub.h
1157         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1158 utf8$(O) : utf8.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1159         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1160 util$(O) : util.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1161         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1162 vms$(O) : vms.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h
1163         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1164 xsutils$(O) : xsutils.c extern.h perl.h config.h embed.h handy.h vmsish.h $(SOCKH) iperlsys.h perlsdio.h perl.h regexp.h sv.h util.h form.h gv.h cv.h opnames.h op.h cop.h av.h hv.h mg.h scope.h warnings.h utf8.h perly.h thread.h pp.h proto.h pp_proto.h opcode.h embedvar.h intrpvar.h thrdvar.h perlvars.h patchlevel.h xsub.h perlapi.h objxsub.h
1165         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1166
1167 [.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)
1168         $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1169
1170 [.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)
1171         $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1172
1173 [.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)
1174         $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1175
1176 [.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)
1177         $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1178
1179 # End of automatically generated make dependencies
1180 .endif # !LINK_ONLY
1181
1182 vmsish.h : [.vms]vmsish.h
1183         Copy/Log/NoConfirm [.vms]vmsish.h []vmsish.h
1184
1185 vms.c : [.vms]vms.c
1186         Copy/Log/Noconfirm [.vms]vms.c []
1187
1188 $(CRTL) : $(MAKEFILE)
1189         @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)|$(SOCKLIB)"
1190
1191
1192 ok : $(utils)
1193         $(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)"
1194
1195 okfile : $(utils)
1196         $(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)" "-F" perl.ok
1197
1198 nok : $(utils)
1199         @ write sys$output " "
1200         @ write sys$output " Please type the command:"
1201         @ write sys$output " "
1202         @ write sys$output "$(MINIPERLQ) lib/perlbug.com -nok -s ""(UNINSTALLED)"""
1203
1204 nokfile : $(utils)
1205         @ write sys$output " "
1206         @ write sys$output " Please type the command:"
1207         @ write sys$output " "
1208         @ write sys$output "$(MINIPERLQ) lib/perlbug.com -nok -s ""(UNINSTALLED)"" ""-F"" perl.nok"
1209
1210
1211 cleanlis :
1212         - If F$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;*
1213         - If F$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;*
1214         - If F$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;*
1215
1216 cleantest :
1217         - If F$Search("[.t]Perl.").nes."" Then Delete/NoConfirm/Log [.t]Perl.;*
1218         - If F$Search("[.t]VMSPIPE.COM").nes."" Then Delete/NoConfirm/Log [.t]VMSPIPE.COM;*
1219         - If F$Search("[.t]Echo.exe").nes."" Then Delete/NoConfirm/Log [.t]Echo.exe;*
1220
1221 tidy : cleanlis
1222         - If F$Search("[...]*.Opt;-1").nes."" Then Purge/NoConfirm/Log [...]*.Opt
1223         - If F$Search("[...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [...]*$(O)
1224         - If F$Search("[...]*$(E);-1").nes."" Then Purge/NoConfirm/Log [...]*$(E)
1225         - If F$Search("Config.H;-1").nes."" Then Purge/NoConfirm/Log Config.H
1226         - If F$Search("Config.SH;-1").nes."" Then Purge/NoConfirm/Log Config.SH
1227         - If F$Search("perly.c;-1").nes."" Then Purge/NoConfirm/Log perly.c
1228         - If F$Search("perly.h;-1").nes."" Then Purge/NoConfirm/Log perly.h
1229         - If F$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H
1230         - If F$Search("VMS.C;-1")   .nes."" Then Purge/NoConfirm/Log VMS.C
1231         - If F$Search("Perlmain.C;-1")   .nes."" Then Purge/NoConfirm/Log Perlmain.C
1232         - If F$Search("Perlshr_Gbl*.Mar;-1")   .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
1233         - If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
1234         - If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
1235         - If F$Search("[.Ext.Socket]Socket.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
1236         - If F$Search("[.Ext.Opcode...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.Opcode]
1237         - If F$Search("[.VMS.Ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*.C
1238         - If F$Search("[.VMS.Ext...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*$(O)
1239         - If F$Search("[.Lib.Auto...]*.al;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]*.al
1240         - If F$Search("[.Lib.Auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]autosplit.ix
1241         - If F$Search("[.Lib]DynaLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]DynaLoader.pm
1242         - If F$Search("[.Lib]XSLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]XSLoader.pm
1243         - If F$Search("[.Lib]Socket.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Socket.pm
1244         - If F$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm
1245         - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm
1246         - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm
1247         - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm
1248         - If F$Search("[.Lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.Lib.VMS]*.*
1249         - If F$Search("[.Lib.Pod]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Pod]*.Pod
1250         - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
1251         - If F$Search("[.lib]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib]*.com
1252         - If F$Search("[.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.pod]*.com
1253         - If F$Search("[.utils]*.com;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.com
1254         - If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com
1255         - If F$Search("[.lib.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pod]*.com
1256
1257 clean : tidy cleantest
1258         - @make_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" clean
1259         - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
1260         - If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
1261         - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
1262         - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
1263         - If F$Search("perly.c").nes."" Then Delete/NoConfirm/Log perly.c;*
1264         - Copy [.vms]perly_c.vms []perly.c
1265         - If F$Search("perly.h").nes."" Then Delete/NoConfirm/Log perly.h;*
1266         - Copy [.vms]perly_h.vms []perly.h
1267         - If F$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;*
1268         - If F$Search("VMS.C")   .nes."" Then Delete/NoConfirm/Log VMS.C;*
1269         - If F$Search("Perlmain.C")   .nes."" Then Delete/NoConfirm/Log Perlmain.C;*
1270         - If F$Search("Perlshr_Gbl*.Mar")   .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
1271         - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
1272         - If F$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);*
1273         - If F$Search("[.Ext.DynaLoader]DL_VMS.C").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C;*
1274         - If F$Search("[.Ext.DynaLoader]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DynaLoader.pm;*
1275         - If F$Search("[.Ext.DynaLoader]XSLoader.pm").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]XSLoader.pm;*
1276         - If F$Search("[.Ext.Socket]Socket$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket$(O);*
1277         - If F$Search("[.Ext.Socket]Socket.C").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket.C;*
1278         - If F$Search("[.VMS.Ext...]*.C").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*.C;*
1279         - If F$Search("[.VMS.Ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*$(O);*
1280         - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
1281         - @extra_pods CLEAN
1282
1283 realclean : clean
1284         - @make_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" realclean
1285         - If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
1286         - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
1287         - If F$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
1288         - If F$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
1289         - $(MINIPERL) -e "use File::Path; rmtree(\@ARGV,1,0);" config
1290         - If F$Search("Descrip.MMS").nes."" Then Delete/NoConfirm/Log Descrip.MMS;*
1291         - If F$Search("make_ext.Com").nes."" Then Delete/NoConfirm/Log make_ext.Com;*
1292         - If F$Search("extra_pods.Com").nes."" Then Delete/NoConfirm/Log extra_pods.Com;*
1293         - $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
1294         - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
1295         - If F$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
1296         - If F$Search("[.Lib]XSLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]XSLoader.pm;*
1297         - If F$Search("[.Lib]Socket.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Socket.pm;*
1298         - If F$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
1299         - If F$Search("[.Lib]*.com").nes."" Then Delete/NoConfirm/Log [.Lib]*.com;*
1300         - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
1301         - If F$Search("[.utils]*.com").nes."" Then Delete/NoConfirm/Log [.utils]*.com;*
1302         - If F$Search("[.x2p]*.com").nes."" Then Delete/NoConfirm/Log [.x2p]*.com;*
1303         - If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;*
1304         - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
1305         - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
1306         - If F$Search("[.lib.pod]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pod]*.pod;*
1307         - If F$Search("[.lib.pod]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]perldoc.com;*
1308         - If F$Search("[.lib.pod]pod2*.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]pod2*.com;*
1309         - If F$Search("[.t.lib]vms*.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms*.t;*
1310         - If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);*
1311         - If F$Search("[.vms]Perl_Setup.Com").nes."" Then Delete/NoConfirm/Log [.vms]Perl_Setup.Com;*
1312         - If F$Search("[.t]rantests.").nes."" Then Delete/NoConfirm/Log [.t]rantests.;*
1313
1314 cleansrc : clean
1315 !GROK!THIS!
1316         - If F$Search("*.C;-1").nes."" Then Purge/NoConfirm/Log *.C
1317         - If F$Search("*.H;-1").nes."" Then Purge/NoConfirm/Log *.H
1318         - If F$Search("*.VMS;-1").nes."" Then Purge/NoConfirm/Log *.VMS
1319         - If F$Search("[.VMS]$(MAKEFILE);-1").nes."" Then Purge/NoConfirm/Log [.VMS]$(MAKEFILE)
1320         - If F$Search("[.VMS]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.C
1321         - If F$Search("[.VMS]*.H;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.H
1322         - If F$Search("[.VMS]*.Pl;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.Pl
1323         - If F$Search("[.VMS]*.VMS;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.VMS
1324         - If F$Search("[.VMS...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.pm
1325         - If F$Search("[.VMS...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.xs