XS build fix for VMS
[p5sagit/p5-mst-13.2.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 THREAD = THREAD
204 .else
205 THREADH =
206 .endif
207
208 # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
209 CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS)
210 # Flags for a core compile
211 X2PCFLAGS = $(CFLAGS)/Define=PERL_FOR_X2P
212 # Flags for an x2p compile
213 CORECFLAGS = $(CFLAGS)/Define=PERL_CORE
214 LINKFLAGS = $(DBGLINKFLAGS)
215
216 MAKE = $(MMS)
217 MAKEFILE = Descrip.MMS   # this file
218 NOOP = continue
219
220 # Macros to invoke a copy of miniperl during the build.  Targets which
221 # are built using these macros should depend on $(MINIPERL_EXE)
222 MINIPERL_EXE = Sys$Disk:[]miniperl$(E)
223 MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
224 MINIPERLQ = MCR $(MINIPERL_EXE) ""-I[.lib]""
225 XSUBPP = $(MINIPERL) "-I[.ext.re]" [.lib.extutils]xsubpp -noprototypes
226 # Macro to invoke a preexisting copy of Perl.  This is used to regenerate
227 # some header files when rebuilding Perl, but premade versions are provided
228 # in the distribution, so it's OK if this doesn't work; it's here to make
229 # life easier for those who modify Perl and rebuild it.
230 INSTPERL = perl
231
232 # Space-separated list of "static" extensions to build into perlshr (case counts).
233 MYEXT = DynaLoader
234 # object files for these extensions; the trailing comma is required if
235 # there are any object files specified
236 # These must be built separately, or you must add rules below to build them
237 myextobj = [.ext.dynaloader]dl_vms$(O),
238 EXT = $(MYEXT)
239 extobj = $(myextobj)
240
241 .ifdef LIBS2
242 .else
243 LIBS2=
244 .endif
245
246 .ifdef THRLIBS1
247 .else
248 THRLIBS1=
249 .endif
250
251 .ifdef THRLIBS2
252 .else
253 THRLIBS2=
254 .endif
255
256 FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
257
258 #### End of system configuration section. ####
259
260 c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c
261 c1 = mg.c locale.c miniperlmain.c numeric.c op.c perl.c perlapi.c perlio.c
262 c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c reentr.c
263 c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c xsutils.c
264 c = $(c0) $(c1) $(c2) $(c3)
265
266 obj0 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O)
267 obj1 = globals$(O) gv$(O) hv$(O) locale$(O) mg$(O) miniperlmain$(O) numeric$(O)
268 obj2 = op$(O) perl$(O) perlapi$(O) perlio$(O) perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O)
269 obj3 = pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O) regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O)
270 obj4 = universal$(O) utf8$(O) util$(O) vms$(O) xsutils$(O)
271 obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4)
272
273 h0 = av.h cc_runtime.h config.h cop.h cv.h embed.h embedvar.h
274 h1 = extern.h form.h gv.h handy.h hv.h intern.h intrpvar.h
275 h2 = iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h opnames.h
276 h3 = patchlevel.h perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h
277 h4 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h
278 h5 = sv.h thrdvar.h thread.h utf8.h util.h vmsish.h warnings.h
279 h6 = xsub.h $(SOCKH) $(THREADH)
280 h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5) $(h6)
281
282 ac0 = $(ARCHCORE)$(sockh) $(ARCHCORE)av.h $(ARCHCORE)cc_runtime.h
283 ac1 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
284 ac2 = $(ARCHCORE)embedvar.h $(ARCHCORE)EXTERN.h $(ARCHCORE)fakethr.h
285 ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
286 ac4 = $(ARCHCORE)INTERN.h $(ARCHCORE)intrpvar.h $(ARCHCORE)iperlsys.h
287 ac5 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)nostdio.h
288 ac6 = $(ARCHCORE)op.h $(ARCHCORE)opcode.h
289 ac7 = $(ARCHCORE)opnames.h $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h
290 ac8 = $(ARCHCORE)perlapi.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h
291 ac9 = $(ARCHCORE)perlsfio.h $(ARCHCORE)perlvars.h $(ARCHCORE)perly.h $(ARCHCORE)pp.h
292 .ifdef THREADED
293 ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)reentr.h $(ARCHCORE)regcomp.h
294 .else
295 ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
296 .endif
297 ac11 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
298 .ifdef SOCKARCH
299 ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h $(SOCKARCH)
300 .else
301 ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h
302 .endif 
303 ac13 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
304 ac14 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
305 acopt = $(ARCHCORE)perlshr_attr.opt $(ARCHCORE)$(DBG)perlshr_bld.opt
306 ac = $(ac0) $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(ac11) $(ac12) $(ac13) $(ac14) $(acopt)
307
308 CRTL = []crtl.opt
309 CRTLOPTS =,$(CRTL)/Options
310
311 .SUFFIXES
312
313 .ifdef LINK_ONLY
314 .else
315 .SUFFIXES $(O) .c .xs
316
317 .xs.c :
318         $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
319
320
321 .c$(O) :
322         $(CC) $(CFLAGS) $(MMS$SOURCE)
323
324 .xs$(O) :
325         $(XSUBPP) $(MMS$SOURCE) >$(MMS$SOURCE_NAME).c
326         $(CC) $(CFLAGS) $(MMS$SOURCE_NAME).c
327 .endif
328
329 # Modules which must be installed before we can build extensions
330 LIBPREREQ = $(ARCHDIR)Config.pm [.lib.VMS]Filespec.pm [.lib]DynaLoader.pm [.lib]XSLoader.pm [.lib]lib.pm [.lib.ExtUtils]XSSymSet.pm $(ARCHDIR)vmspipe.com [.lib]re.pm
331
332 utils1 = [.lib.pod]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com 
333 utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.lib]perlcc.com [.utils]dprofpp.com 
334 utils3 = [.utils]perlivp.com [.lib]splain.com [.utils]pl2pm.com [.lib.ExtUtils]xsubpp.com
335 utils4 = [.utils]enc2xs.com [.utils]piconv.com
336
337 .ifdef NOX2P
338 all : base extras archcorefiles preplibrary perlpods
339         @ write sys$output " "
340         @ write sys$output " Everything is up to date. '$(MMS)$(MMSQUALIFIERS) test' to run test suite."
341 .else
342 all : base extras x2p archcorefiles preplibrary perlpods
343         @ write sys$output " "
344         @ write sys$output " Everything is up to date. '$(MMS)$(MMSQUALIFIERS) test' to run test suite."
345 .endif
346 base : miniperl perl
347         @ $(NOOP)
348 extras : dynext libmods utils podxform extra.pods
349         @ $(NOOP)
350 libmods : $(LIBPREREQ)
351         @ $(NOOP)
352 utils : $(utils1) $(utils2) $(utils3) $(utils4)
353         @ $(NOOP)
354 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
355         @ $(NOOP)
356 x2p : [.x2p]a2p$(E) [.x2p]s2p.com [.x2p]find2perl.com 
357         @ $(NOOP)
358 extra.pods : miniperl
359         @ @extra_pods.com
360
361 pod0 = [.lib.pod]perl.pod [.lib.pod]perl5004delta.pod [.lib.pod]perl5005delta.pod
362 pod1 = [.lib.pod]perlapi.pod [.lib.pod]perlapio.pod [.lib.pod]perlbook.pod
363 pod2 = [.lib.pod]perlbot.pod [.lib.pod]perlcall.pod [.lib.pod]perlcompile.pod
364 pod3 = [.lib.pod]perldata.pod [.lib.pod]perldbmfilter.pod [.lib.pod]perldebug.pod
365 pod4 = [.lib.pod]perldelta.pod [.lib.pod]perldiag.pod [.lib.pod]perldsc.pod
366 pod5 = [.lib.pod]perlembed.pod [.lib.pod]perlfaq.pod [.lib.pod]perlfaq1.pod
367 pod6 = [.lib.pod]perlfaq2.pod [.lib.pod]perlfaq3.pod [.lib.pod]perlfaq4.pod
368 pod7 = [.lib.pod]perlfaq5.pod [.lib.pod]perlfaq6.pod [.lib.pod]perlfaq7.pod
369 pod8 = [.lib.pod]perlfaq8.pod [.lib.pod]perlfaq9.pod [.lib.pod]perlfilter.pod
370 pod9 = [.lib.pod]perlfork.pod [.lib.pod]perlform.pod [.lib.pod]perlfunc.pod
371 pod10 = [.lib.pod]perlguts.pod [.lib.pod]perlhack.pod [.lib.pod]perlhist.pod
372 pod11 = [.lib.pod]perlintern.pod [.lib.pod]perlipc.pod [.lib.pod]perllexwarn.pod
373 pod12 = [.lib.pod]perllocale.pod [.lib.pod]perllol.pod [.lib.pod]perlmod.pod
374 pod13 = [.lib.pod]perlmodinstall.pod [.lib.pod]perlmodlib.pod [.lib.pod]perlobj.pod
375 pod14 = [.lib.pod]perlop.pod [.lib.pod]perlopentut.pod [.lib.pod]perlpod.pod
376 pod15 = [.lib.pod]perlport.pod [.lib.pod]perlre.pod [.lib.pod]perlref.pod
377 pod16 = [.lib.pod]perlreftut.pod [.lib.pod]perlrun.pod [.lib.pod]perlsec.pod
378 pod17 = [.lib.pod]perlstyle.pod [.lib.pod]perlsub.pod [.lib.pod]perlsyn.pod
379 pod18 = [.lib.pod]perlthrtut.pod [.lib.pod]perltie.pod [.lib.pod]perltoc.pod
380 pod19 = [.lib.pod]perltodo.pod [.lib.pod]perltoot.pod [.lib.pod]perltooc.pod
381 pod20 = [.lib.pod]perltrap.pod [.lib.pod]perlunicode.pod [.lib.pod]perluniintro.pod [.lib.pod]perlvar.pod
382 pod21 = [.lib.pod]perlxs.pod [.lib.pod]perlxstut.pod [.lib.pod]win32.pod [.lib.pod]perlvms.pod
383 pod22 = [.lib.pod]perldebguts.pod [.lib.pod]perldebtut.pod [.lib.pod]perlebcdic.pod [.lib.pod]perliol.pod
384 pod23 = [.lib.pod]perlnewmod.pod [.lib.pod]perlnumber.pod [.lib.pod]perlrequick.pod [.lib.pod]perlretut.pod [.lib.pod]perlutil.pod
385 pod = $(pod0) $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(pod9) $(pod10) $(pod11) $(pod12) $(pod13) $(pod14) $(pod15) $(pod16) $(pod17) $(pod18) $(pod19) $(pod20) $(pod21) $(pod22) $(pod23)
386
387 perlpods : $(pod)
388         @ $(NOOP)
389
390 archcorefiles : $(ac) $(ARCHAUTO)time.stamp
391         @ $(NOOP)
392
393 [.lib]re.pm  : [.ext.re]re.pm
394         copy/log $(MMS$SOURCE) $(MMS$TARGET)
395
396 vmspipe.com : [.vms]vmspipe.com
397         copy/log $(MMS$SOURCE) $(MMS$TARGET)
398
399 miniperl : $(DBG)miniperl$(E)  vmspipe.com
400         @ Continue
401 $(MINIPERL_EXE) :  miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
402         Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
403 $(DBG)miniperl$(E) :  miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
404         Link $(LINKFLAGS)/Trace/Exe=$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals  $(CRTLOPTS)
405
406 $(DBG)libperl$(OLB) : $(obj)
407         @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
408         Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)
409
410 perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
411         $(MINIPERL) [.VMS]Writemain.pl "$(EXT)"
412
413 .ifdef __DEBUG__
414 # Link an extra perl that doesn't invoke the debugger
415 perl : $(DBG)perl$(E)
416         Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)perl$(E) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
417 .else
418 perl : $(DBG)perl$(E)
419         @ Continue
420 .endif
421
422 $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
423         @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
424 .ifdef MT
425         Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)/THREAD=(MULTI,UPCALL)
426 .else
427         Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
428 .endif
429
430 $(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
431         Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
432
433 # The following files are built in one go by gen_shrfls.pl:
434 #  perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP
435 #  perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only
436 # The song and dance with gen_shrfls.opt accommodates DCL's 255 character
437 # line length limit.
438 .ifdef PIPES_BROKEN
439 # This is a backup target used only with older versions of the DECCRTL which
440 # can't deal with pipes properly.  See ReadMe.VMS for details.
441 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
442         $(CC) $(CFLAGS)/NoObject/NoList/PreProcess=perl.i perl.h
443         @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "~~NOCC~~perl.i~~$(CC)$(CFLAGS)" >gen_shrfls.opt
444         @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
445         $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
446         @ Delete/NoLog/NoConfirm perl.i;, gen_shrfls.opt;
447         @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
448         @ Copy _NLA0: $(DBG)perlshr_xtras.ts
449 .else
450 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
451         @ $(MINIPERL) -e "print join('|',@ARGV),'|';" "$(CC)$(CFLAGS)" >gen_shrfls.opt
452         @ $(MINIPERL) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
453         $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
454         @ Delete/NoLog/NoConfirm gen_shrfls.opt;
455         @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
456         @ Copy _NLA0: $(DBG)perlshr_xtras.ts
457 .endif
458
459 $(ARCHDIR)config.pm : [.lib]config.pm
460         Create/Directory $(ARCHDIR)
461         Copy $(MMS$SOURCE) $(MMS$TARGET)
462
463 [.lib]config.pm : config.h $(MINIPERL_EXE)
464         $(MINIPERL) ConfigPM.
465
466 $(ARCHDIR)vmspipe.com : vmspipe.com
467         Copy $(MMS$SOURCE) $(MMS$TARGET)
468
469 [.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs $(ARCHDIR)Config.pm [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
470         $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
471
472 [.ext.dynaloader]dl_vms$(O) : [.ext.dynaloader]dl_vms.c
473         $(CC) $(CFLAGS) /Include=([],[.ext.dynaloader])/Object=$(MMS$TARGET) $(MMS$SOURCE)
474
475 [.lib]DynaLoader.pm : [.ext.dynaloader]dynaloader.pm
476         Copy/Log/NoConfirm [.ext.dynaloader]dynaloader.pm [.lib]DynaLoader.pm
477         @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
478         @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]DynaLoader.pm
479
480 [.lib]XSLoader.pm : [.ext.dynaloader]xsloader.pm
481         Copy/Log/NoConfirm [.ext.dynaloader]xsloader.pm [.lib]XSLoader.pm
482         @ If F$Search("[.lib]auto.dir").eqs."" Then Create/Directory [.lib.auto]
483         @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]XSLoader.pm
484
485 [.ext.dynaloader]dynaloader.pm : [.ext.dynaloader]dynaloader_pm.pl
486         $(MINIPERL) $(MMS$SOURCE)
487         @ Rename/Log dynaloader.pm [.ext.dynaloader]
488
489 [.ext.dynaloader]xsloader.pm : [.ext.dynaloader]xsloader_pm.pl
490         $(MINIPERL) $(MMS$SOURCE)
491         @ Rename/Log xsloader.pm [.ext.dynaloader]
492
493 dynext : $(LIBPREREQ) $(DBG)perlshr$(E) preplibrary
494        @make_ext "$(MINIPERL_EXE)" "$(MMS)"
495
496 [.lib]lib.pm : [.lib]lib_pm.PL
497         $(MINIPERL) $(MMS$SOURCE)
498
499 [.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
500         @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
501         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
502
503 [.lib.ExtUtils]XSSymSet.pm : [.vms.ext]XSSymSet.pm
504         @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
505         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
506
507 [.lib.pod]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
508         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
509         $(MINIPERL) $(MMS$SOURCE)
510         Copy/Log [.utils]perldoc.com $(MMS$TARGET)
511
512 [.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c $(ARCHDIR)Config.pm
513         $(MINIPERL) $(MMS$SOURCE) >$(MMS$TARGET)
514
515 [.utils]perlivp.com : [.utils]perlivp.PL $(ARCHDIR)Config.pm
516         $(MINIPERL) $(MMS$SOURCE)
517
518 [.utils]c2ph.com : [.utils]c2ph.PL $(ARCHDIR)Config.pm
519         $(MINIPERL) $(MMS$SOURCE)
520
521 [.utils]dprofpp.com : [.utils]dprofpp.PL $(ARCHDIR)Config.pm
522         $(MINIPERL) $(MMS$SOURCE)
523
524 [.utils]enc2xs.com : [.utils]enc2xs.PL $(ARCHDIR)Config.pm
525         $(MINIPERL) $(MMS$SOURCE)
526
527 [.utils]h2ph.com : [.utils]h2ph.PL $(ARCHDIR)Config.pm
528         $(MINIPERL) $(MMS$SOURCE)
529
530 [.utils]h2xs.com : [.utils]h2xs.PL $(ARCHDIR)Config.pm
531         $(MINIPERL) $(MMS$SOURCE)
532
533 [.utils]libnetcfg.com : [.utils]libnetcfg.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]piconv.com : [.utils]piconv.PL $(ARCHDIR)Config.pm
545         $(MINIPERL) $(MMS$SOURCE)
546
547 [.utils]pl2pm.com : [.utils]pl2pm.PL $(ARCHDIR)Config.pm
548         $(MINIPERL) $(MMS$SOURCE)
549
550 [.lib]splain.com : [.utils]splain.PL $(ARCHDIR)Config.pm
551         $(MINIPERL) $(MMS$SOURCE)
552         Copy/Log [.utils]splain.com $(MMS$TARGET)
553
554 [.x2p]find2perl.com : [.x2p]find2perl.PL $(ARCHDIR)Config.pm
555         $(MINIPERL) $(MMS$SOURCE)
556
557 [.x2p]s2p.com : [.x2p]s2p.PL $(ARCHDIR)Config.pm
558         $(MINIPERL) $(MMS$SOURCE)
559
560 [.lib.ExtUtils]xsubpp.com : [.lib.ExtUtils]xsubpp 
561         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
562
563 # Rename catches problem with some DECC versions in which object file is
564 # placed in current default dir, not same one as source file.
565 [.x2p]$(DBG)a2p$(E) : [.x2p]a2p$(O), [.x2p]hash$(O), [.x2p]str$(O), [.x2p]util$(O), [.x2p]walk$(O)
566         @ If F$Search("hash$(O)").nes."" Then Rename/NoLog hash$(O),str$(O),util$(O),walk$(O) [.x2p]
567         Link $(LINKFLAGS) /Exe=$(MMS$TARGET) $(MMS$SOURCE_LIST) $(CRTLOPTS)
568
569 # Accommodate buggy cpp in some version of DECC, which chokes on illegal
570 # filespec "y.tab.c", and broken gcc cpp, which doesn't start #include ""
571 # search in same dir as source file
572 [.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)
573         $(MINIPERL) -pe "s/^#line\s+(\d+)\s+\Q""y.tab.c""/#line $1 ""y_tab.c""/;" $(MMS$SOURCE) >$(MMS$TARGET_NAME)_vms.c
574         $(CC) $(X2PCFLAGS) /Object=$(MMS$TARGET)/Include=([.x2p],[]) $(MMS$TARGET_NAME)_vms.c
575         Delete/Log/NoConfirm $(MMS$TARGET_NAME)_vms.c;
576
577 # gcc cpp broken -- doesn't look in directory of source file for #include ""
578 .ifdef GNUC
579 [.x2p]hash$(O) : [.x2p]hash.c
580         $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
581
582 [.x2p]str$(O) : [.x2p]str.c
583         $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
584
585 [.x2p]util$(O) : [.x2p]util.c
586         $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
587
588 [.x2p]walk$(O) : [.x2p]walk.c
589         $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE)
590 .endif
591
592 [.lib.pod]pod2html.com : [.pod]pod2html.PL $(ARCHDIR)Config.pm
593         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
594         $(MINIPERL) $(MMS$SOURCE)
595         Copy/Log [.pod]pod2html.com $(MMS$TARGET)
596
597 [.lib.pod]pod2latex.com : [.pod]pod2latex.PL $(ARCHDIR)Config.pm
598         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
599         $(MINIPERL) $(MMS$SOURCE)
600         Copy/Log [.pod]pod2latex.com $(MMS$TARGET)
601
602 [.lib.pod]pod2man.com : [.pod]pod2man.PL $(ARCHDIR)Config.pm
603         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
604         $(MINIPERL) $(MMS$SOURCE)
605         Copy/Log [.pod]pod2man.com $(MMS$TARGET)
606
607 [.lib.pod]pod2text.com : [.pod]pod2text.PL $(ARCHDIR)Config.pm
608         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
609         $(MINIPERL) $(MMS$SOURCE)
610         Copy/Log [.pod]pod2text.com $(MMS$TARGET)
611
612 [.lib.pod]podchecker.com : [.pod]podchecker.PL $(ARCHDIR)Config.pm
613         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
614         $(MINIPERL) $(MMS$SOURCE)
615         Copy/Log [.pod]podchecker.com $(MMS$TARGET)
616
617 [.lib.pod]pod2usage.com : [.pod]pod2usage.PL $(ARCHDIR)Config.pm
618         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
619         $(MINIPERL) $(MMS$SOURCE)
620         Copy/Log [.pod]pod2usage.com $(MMS$TARGET)
621
622 [.lib.pod]podselect.com : [.pod]podselect.PL $(ARCHDIR)Config.pm
623         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
624         $(MINIPERL) $(MMS$SOURCE)
625         Copy/Log [.pod]podselect.com $(MMS$TARGET)
626
627 preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) 
628         @ Write Sys$Output "Autosplitting Perl library . . ."
629         @ Create/Directory [.lib.auto]
630         @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm
631
632 [.lib.pod]perl.pod : [.pod]perl.pod
633         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
634         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
635 [.lib.pod]perl5004delta.pod : [.pod]perl5004delta.pod
636         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
637         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
638 [.lib.pod]perl5005delta.pod : [.pod]perl5005delta.pod
639         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
640         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
641 [.lib.pod]perlapi.pod : [.pod]perlapi.pod
642         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
643         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
644 [.lib.pod]perlapio.pod : [.pod]perlapio.pod
645         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
646         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
647 [.lib.pod]perlbook.pod : [.pod]perlbook.pod
648         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
649         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
650 [.lib.pod]perlbot.pod : [.pod]perlbot.pod
651         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
652         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
653 [.lib.pod]perlcall.pod : [.pod]perlcall.pod
654         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
655         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
656 [.lib.pod]perlcompile.pod : [.pod]perlcompile.pod
657         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
658         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
659 [.lib.pod]perldata.pod : [.pod]perldata.pod
660         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
661         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
662 [.lib.pod]perldbmfilter.pod : [.pod]perldbmfilter.pod
663         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
664         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
665 [.lib.pod]perldebug.pod : [.pod]perldebug.pod
666         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
667         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
668 [.lib.pod]perldebguts.pod : [.pod]perldebguts.pod
669         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
670         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
671 [.lib.pod]perldebtut.pod : [.pod]perldebtut.pod
672         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
673         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
674 [.lib.pod]perldelta.pod : [.pod]perldelta.pod
675         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
676         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
677 [.lib.pod]perldiag.pod : [.pod]perldiag.pod
678         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
679         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
680 [.lib.pod]perldsc.pod : [.pod]perldsc.pod
681         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
682         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
683 [.lib.pod]perlebcdic.pod : [.pod]perlebcdic.pod
684         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
685         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
686 [.lib.pod]perlembed.pod : [.pod]perlembed.pod
687         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
688         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
689 [.lib.pod]perlfaq.pod : [.pod]perlfaq.pod
690         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
691         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
692 [.lib.pod]perlfaq1.pod : [.pod]perlfaq1.pod
693         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
694         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
695 [.lib.pod]perlfaq2.pod : [.pod]perlfaq2.pod
696         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
697         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
698 [.lib.pod]perlfaq3.pod : [.pod]perlfaq3.pod
699         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
700         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
701 [.lib.pod]perlfaq4.pod : [.pod]perlfaq4.pod
702         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
703         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
704 [.lib.pod]perlfaq5.pod : [.pod]perlfaq5.pod
705         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
706         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
707 [.lib.pod]perlfaq6.pod : [.pod]perlfaq6.pod
708         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
709         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
710 [.lib.pod]perlfaq7.pod : [.pod]perlfaq7.pod
711         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
712         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
713 [.lib.pod]perlfaq8.pod : [.pod]perlfaq8.pod
714         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
715         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
716 [.lib.pod]perlfaq9.pod : [.pod]perlfaq9.pod
717         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
718         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
719 [.lib.pod]perlfilter.pod : [.pod]perlfilter.pod
720         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
721         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
722 [.lib.pod]perlfork.pod : [.pod]perlfork.pod
723         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
724         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
725 [.lib.pod]perlform.pod : [.pod]perlform.pod
726         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
727         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
728 [.lib.pod]perlfunc.pod : [.pod]perlfunc.pod
729         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
730         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
731 [.lib.pod]perlguts.pod : [.pod]perlguts.pod
732         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
733         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
734 [.lib.pod]perlhack.pod : [.pod]perlhack.pod
735         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
736         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
737 [.lib.pod]perlhist.pod : [.pod]perlhist.pod
738         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
739         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
740 [.lib.pod]perlintern.pod : [.pod]perlintern.pod
741         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
742         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
743 [.lib.pod]perliol.pod : [.pod]perliol.pod
744         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
745         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
746 [.lib.pod]perlipc.pod : [.pod]perlipc.pod
747         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
748         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
749 [.lib.pod]perllexwarn.pod : [.pod]perllexwarn.pod
750         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
751         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
752 [.lib.pod]perllocale.pod : [.pod]perllocale.pod
753         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
754         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
755 [.lib.pod]perllol.pod : [.pod]perllol.pod
756         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
757         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
758 [.lib.pod]perlmod.pod : [.pod]perlmod.pod
759         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
760         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
761 [.lib.pod]perlmodinstall.pod : [.pod]perlmodinstall.pod
762         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
763         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
764 [.lib.pod]perlmodlib.pod : [.pod]perlmodlib.pod
765         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
766         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
767 [.lib.pod]perlnewmod.pod : [.pod]perlnewmod.pod
768         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
769         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
770 [.lib.pod]perlnumber.pod : [.pod]perlnumber.pod
771         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
772         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
773 [.lib.pod]perlobj.pod : [.pod]perlobj.pod
774         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
775         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
776 [.lib.pod]perlop.pod : [.pod]perlop.pod
777         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
778         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
779 [.lib.pod]perlopentut.pod : [.pod]perlopentut.pod
780         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
781         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
782 [.lib.pod]perlpod.pod : [.pod]perlpod.pod
783         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
784         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
785 [.lib.pod]perlport.pod : [.pod]perlport.pod
786         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
787         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
788 [.lib.pod]perlre.pod : [.pod]perlre.pod
789         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
790         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
791 [.lib.pod]perlref.pod : [.pod]perlref.pod
792         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
793         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
794 [.lib.pod]perlreftut.pod : [.pod]perlreftut.pod
795         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
796         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
797 [.lib.pod]perlrequick.pod : [.pod]perlrequick.pod
798         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
799         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
800 [.lib.pod]perlretut.pod : [.pod]perlretut.pod
801         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
802         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
803 [.lib.pod]perlrun.pod : [.pod]perlrun.pod
804         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
805         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
806 [.lib.pod]perlsec.pod : [.pod]perlsec.pod
807         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
808         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
809 [.lib.pod]perlstyle.pod : [.pod]perlstyle.pod
810         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
811         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
812 [.lib.pod]perlsub.pod : [.pod]perlsub.pod
813         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
814         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
815 [.lib.pod]perlsyn.pod : [.pod]perlsyn.pod
816         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
817         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
818 [.lib.pod]perlthrtut.pod : [.pod]perlthrtut.pod
819         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
820         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
821 [.lib.pod]perltie.pod : [.pod]perltie.pod
822         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
823         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
824 [.lib.pod]perltoc.pod : [.pod]perltoc.pod
825         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
826         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
827 [.lib.pod]perltodo.pod : [.pod]perltodo.pod
828         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
829         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
830 [.lib.pod]perltoot.pod : [.pod]perltoot.pod
831         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
832         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
833 [.lib.pod]perltooc.pod : [.pod]perltooc.pod
834         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
835         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
836 [.lib.pod]perltrap.pod : [.pod]perltrap.pod
837         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
838         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
839 [.lib.pod]perlunicode.pod : [.pod]perlunicode.pod
840         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
841         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
842 [.lib.pod]perluniintro.pod : [.pod]perluniintro.pod
843         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
844         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
845 [.lib.pod]perlutil.pod : [.pod]perlutil.pod
846         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
847         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
848 [.lib.pod]perlvar.pod : [.pod]perlvar.pod
849         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
850         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
851 [.lib.pod]perlxs.pod : [.pod]perlxs.pod
852         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
853         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
854 [.lib.pod]perlxstut.pod : [.pod]perlxstut.pod
855         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
856         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
857 [.lib.pod]win32.pod : [.lib]win32.pod
858         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
859         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
860 [.lib.pod]perlvms.pod : [.vms]perlvms.pod
861         @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
862         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
863
864 install.html : $(perlpods)
865         @ @perl_setup.com
866         @ If F$Search("perl_root:[lib]html.dir").eqs."" Then Create/Directory perl_root:[lib.html]
867         $(MINIPERL) installhtml. "--podroot=. --recurse --htmldir=/perl_root/lib/html --htmlroot=.. --verbose"
868
869 printconfig :
870         @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
871         @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(SOCKLIB)" "$(EXT)" "$(DBG)"
872
873 .ifdef SOCKET
874
875 vmsish.h : $(SOCKH)
876
877 $(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
878
879 $(SOCKC) : [.vms]$(SOCKC)
880         Copy/Log/NoConfirm [.vms]$(SOCKC) []$(SOCKC)
881
882 $(SOCKH) : [.vms]$(SOCKH)
883         Copy/Log/NoConfirm [.vms]$(SOCKH) []$(SOCKH)
884
885 .endif
886
887 # The following files are generated automatically
888 #       keywords.h:     keywords.pl
889 #       opcode.h:       opcode.pl
890 #       opnames.h:      opcode.pl
891 #       pp_proto.h:     opcode.pl
892 #       pp.sym:         opcode.pl
893 #       embed.h:        embed.pl  [* needs pp.sym generated by opcode.pl! *]
894 #       embedvar.h:     embed.pl  [* needs pp.sym generated by opcode.pl! *]
895 #       ext/ByteLoader/byterun.h:       bytecode.pl
896 #       ext/ByteLoader/byterun.c:       bytecode.pl
897 #       ext/B/Asmdata.pm:       bytecode.pl
898 #       global.sym:     embed.pl
899 #       regnodes.h:     regcomp.pl
900 #       warnings.h lib/warnings.pm:     warnings.pl
901 # The correct versions should be already supplied with the perl kit,
902 # in case you don't have perl available.
903 # To force them to run, type
904 #       MMS regen_headers
905 regen_headers :
906         $(INSTPERL) keywords.pl
907         $(INSTPERL) opcode.pl
908         $(INSTPERL) embed.pl
909         $(INSTPERL) bytecode.pl
910         $(INSTPERL) regcomp.pl
911         $(INSTPERL) warnings.pl
912
913 # VMS uses modified perly.[ch] with tags for globaldefs if using DEC compiler
914 perly.c : [.vms]perly_c.vms
915         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
916 perly.h : [.vms]perly_h.vms
917         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
918
919 .ifdef LINK_ONLY
920 .else
921 perly$(O) : perly.c, perly.h, $(h)
922 .endif
923
924 [.t.lib]vmsfspec.t : [.vms.ext]filespec.t
925         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
926
927 [.t.lib]vms_dclsym.t : [.vms.ext.DCLsym]test.pl
928         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
929
930 [.t.lib]vms_stdio.t : [.vms.ext.Stdio]test.pl
931         Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
932
933 check : test
934         @ Continue
935
936 test : all [.t.lib]vmsfspec.t [.t.lib]vms_dclsym.t [.t.lib]vms_stdio.t
937         - @[.VMS]Test.Com "$(E)" "$(__DEBUG__)"
938         @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
939
940 # install ought not need a source, but it doesn't work if one's not
941 # there. Go figure...
942 install : $(MINIPERL_EXE)
943         @ @perl_setup.com
944         If F$TrnLnm("Sys") .nes. "" Then Deass SYS
945         $(MINIPERL) installperl
946
947 archify : all
948         @ Write Sys$Output "Moving files to architecture-specific locations for $(ARCH)"
949         archroot = "$(ARCHAUTO)" - "]" + "...]"
950         Backup/Log/Verify [.lib.auto...]*.*;/Exclude=(*.al,*.ix) 'archroot'/New_Version
951         Delete/Log/NoConfirm [.lib.auto...]*.*;*/exclude=(*.al,*.ix,*.dir)
952         Delete/Log/NoConfirm [.lib]Config.pm;*
953         Copy/Log/NoConfirm *$(E);,[.x2p]a2p$(E); $(ARCHDIR)
954         Delete/Log/NoConfirm Perl*$(E);*,[.x2p]a2p$(E);*
955         @ Write Sys$Output "Architecture-specific setup completed."
956         @ Write Sys$Output "Before building for another architecture, be sure to"
957         @ Write Sys$Output "    1. $(MMS)$(MMSQUALIFIERS) clean"
958         @ Write Sys$Output "    2. Delete Miniperl$(E)"
959
960 # CORE subset for MakeMaker, so we can build Perl without sources
961 # Should move to VMS installperl when we get one
962 .ifdef SOCKET
963 $(SOCKARCH) : $(SOCKH)
964        @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
965        Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
966 .endif
967 $(ARCHCORE)av.h : av.h
968         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
969         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
970 $(ARCHCORE)cc_runtime.h : cc_runtime.h
971         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
972         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
973 $(ARCHCORE)config.h : config.h
974         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
975         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
976 $(ARCHCORE)cop.h : cop.h
977         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
978         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
979 $(ARCHCORE)cv.h : cv.h
980         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
981         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
982 $(ARCHCORE)embed.h : embed.h
983         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
984         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
985 $(ARCHCORE)embedvar.h : embedvar.h
986         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
987         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
988 $(ARCHCORE)EXTERN.h : EXTERN.h
989         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
990         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
991 $(ARCHCORE)fakethr.h : fakethr.h
992         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
993         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
994 $(ARCHCORE)form.h : form.h
995         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
996         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
997 $(ARCHCORE)gv.h : gv.h
998         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
999         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1000 $(ARCHCORE)handy.h : handy.h
1001         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1002         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1003 $(ARCHCORE)hv.h : hv.h
1004         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1005         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1006 $(ARCHCORE)INTERN.h : INTERN.h
1007         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1008         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1009 $(ARCHCORE)intrpvar.h : intrpvar.h
1010         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1011         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1012 $(ARCHCORE)iperlsys.h : iperlsys.h
1013         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1014         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1015 $(ARCHCORE)keywords.h : keywords.h
1016         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1017         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1018 $(ARCHCORE)mg.h : mg.h
1019         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1020         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1021 $(ARCHCORE)nostdio.h : nostdio.h
1022         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1023         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1024 $(ARCHCORE)op.h : op.h
1025         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1026         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1027 $(ARCHCORE)opcode.h : opcode.h
1028         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1029         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1030 $(ARCHCORE)opnames.h : opnames.h
1031         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1032         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1033 $(ARCHCORE)patchlevel.h : patchlevel.h
1034         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1035         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1036 $(ARCHCORE)perl.h : perl.h
1037         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1038         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1039 $(ARCHCORE)perlapi.h : perlapi.h
1040         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1041         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1042 $(ARCHCORE)perlio.h : perlio.h
1043         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1044         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1045 $(ARCHCORE)perlsdio.h : perlsdio.h
1046         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1047         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1048 $(ARCHCORE)perlsfio.h : perlsfio.h
1049         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1050         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1051 $(ARCHCORE)perlvars.h : perlvars.h
1052         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1053         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1054 $(ARCHCORE)perly.h : perly.h
1055         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1056         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1057 $(ARCHCORE)pp.h : pp.h
1058         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1059         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1060 $(ARCHCORE)pp_proto.h : pp_proto.h
1061         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1062         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1063 $(ARCHCORE)proto.h : proto.h
1064         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1065         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1066 .ifdef THREADED
1067 $(ARCHCORE)reentr.h : reentr.h
1068         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1069         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1070 .endif
1071 $(ARCHCORE)regcomp.h : regcomp.h
1072         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1073         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1074 $(ARCHCORE)regexp.h : regexp.h
1075         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1076         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1077 $(ARCHCORE)regnodes.h : regnodes.h
1078         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1079         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1080 $(ARCHCORE)scope.h : scope.h
1081         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1082         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1083 $(ARCHCORE)sv.h : sv.h
1084         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1085         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1086 $(ARCHCORE)thrdvar.h : thrdvar.h
1087         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1088         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1089 $(ARCHCORE)thread.h : thread.h
1090         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1091         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1092 $(ARCHCORE)utf8.h : utf8.h
1093         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1094         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1095 $(ARCHCORE)util.h : util.h
1096         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1097         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1098 $(ARCHCORE)vmsish.h : vmsish.h
1099         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1100         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1101 $(ARCHCORE)warnings.h : warnings.h
1102         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1103         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1104 $(ARCHCORE)xsub.h : xsub.h
1105         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1106         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1107 $(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts
1108         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1109         Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
1110 $(ARCHCORE)perlshr_attr.opt : $(DBG)perlshr_xtras.ts
1111         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1112         Copy/Log perlshr_attr.opt $(MMS$TARGET)
1113 $(ARCHCORE)$(DBG)perlshr_bld.opt : $(DBG)perlshr_xtras.ts
1114         @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
1115         Copy/Log $(DBG)perlshr_bld.opt $(MMS$TARGET)
1116 $(ARCHAUTO)time.stamp :
1117         @ If F$Search("$(ARCHDIR)auto.dir").eqs."" Then Create/Directory $(ARCHAUTO)
1118         @ If F$Search("$(MMS$TARGET)").eqs."" Then Copy/NoConfirm _NLA0: $(MMS$TARGET)
1119
1120 .ifdef LINK_ONLY
1121 .else
1122 # We need an action line here for broken older versions of MMS which
1123 # otherwise conclude that they should be compiling [.x2p]utils.c :-(
1124 #util$(O) : util.c
1125 #       $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1126 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
1127 .ifdef SOCKET
1128 $(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
1129         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1130 .endif
1131 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
1132         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1133 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
1134         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1135 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
1136         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1137 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
1138         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1139 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
1140         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1141 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
1142         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1143 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
1144         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1145 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
1146         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1147 locale$(O) : locale.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
1148         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1149 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
1150         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1151 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
1152         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1153 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
1154         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1155 numeric$(O) : numeric.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
1156         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1157 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
1158         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1159 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
1160         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1161 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
1162         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1163 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
1164         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1165 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
1166         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1167 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
1168         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1169 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
1170         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1171 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
1172         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1173 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
1174         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1175 pp_pack$(O) : pp_pack.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
1176 pp_sort$(O) : pp_sort.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
1177 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 reentr.h
1178         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1179 reentr$(O) : reentr.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 reentr.h
1180 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
1181         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1182 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
1183         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1184 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
1185         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1186 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
1187         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1188 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
1189         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1190 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
1191         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1192 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
1193         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1194 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
1195         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1196 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
1197         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1198 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
1199         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1200 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
1201         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1202 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
1203         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
1204
1205 [.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)
1206         $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1207
1208 [.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)
1209         $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1210
1211 [.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)
1212         $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1213
1214 [.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)
1215         $(CC) $(X2PCFLAGS) $(MMS$SOURCE)
1216
1217 # End of automatically generated make dependencies
1218 .endif # !LINK_ONLY
1219
1220 vmsish.h : [.vms]vmsish.h
1221         Copy/Log/NoConfirm [.vms]vmsish.h []vmsish.h
1222
1223 vms.c : [.vms]vms.c
1224         Copy/Log/Noconfirm [.vms]vms.c []
1225
1226 $(CRTL) : $(MAKEFILE)
1227         @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)|$(SOCKLIB)"
1228
1229
1230 ok : $(utils)
1231         $(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)"
1232
1233 okfile : $(utils)
1234         $(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)" "-F" perl.ok
1235
1236 nok : $(utils)
1237         @ write sys$output " "
1238         @ write sys$output " Please type the command:"
1239         @ write sys$output " "
1240         @ write sys$output "$(MINIPERLQ) lib/perlbug.com -nok -s ""(UNINSTALLED)"""
1241
1242 nokfile : $(utils)
1243         @ write sys$output " "
1244         @ write sys$output " Please type the command:"
1245         @ write sys$output " "
1246         @ write sys$output "$(MINIPERLQ) lib/perlbug.com -nok -s ""(UNINSTALLED)"" ""-F"" perl.nok"
1247
1248
1249 cleanlis :
1250         - If F$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;*
1251         - If F$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;*
1252         - If F$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;*
1253
1254 cleantest :
1255         - If F$Search("[.t]Perl.").nes."" Then Delete/NoConfirm/Log [.t]Perl.;*
1256         - If F$Search("[.t]VMSPIPE.COM").nes."" Then Delete/NoConfirm/Log [.t]VMSPIPE.COM;*
1257         - If F$Search("[.t]Echo.exe").nes."" Then Delete/NoConfirm/Log [.t]Echo.exe;*
1258
1259 tidy : cleanlis
1260         - If F$Search("[...]*.Opt;-1").nes."" Then Purge/NoConfirm/Log [...]*.Opt
1261         - If F$Search("[...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [...]*$(O)
1262         - If F$Search("[...]*$(E);-1").nes."" Then Purge/NoConfirm/Log [...]*$(E)
1263         - If F$Search("Config.H;-1").nes."" Then Purge/NoConfirm/Log Config.H
1264         - If F$Search("Config.SH;-1").nes."" Then Purge/NoConfirm/Log Config.SH
1265         - If F$Search("perly.c;-1").nes."" Then Purge/NoConfirm/Log perly.c
1266         - If F$Search("perly.h;-1").nes."" Then Purge/NoConfirm/Log perly.h
1267         - If F$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H
1268         - If F$Search("VMS.C;-1")   .nes."" Then Purge/NoConfirm/Log VMS.C
1269         - If F$Search("Perlmain.C;-1")   .nes."" Then Purge/NoConfirm/Log Perlmain.C
1270         - If F$Search("Perlshr_Gbl*.Mar;-1")   .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
1271         - If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
1272         - If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
1273         - If F$Search("[.Ext.Opcode...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.Opcode]
1274         - If F$Search("[.VMS.Ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*.C
1275         - If F$Search("[.VMS.Ext...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*$(O)
1276         - If F$Search("[.Lib.Auto...]*.al;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]*.al
1277         - If F$Search("[.Lib.Auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]autosplit.ix
1278         - If F$Search("[.Lib]DynaLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]DynaLoader.pm
1279         - If F$Search("[.Lib]XSLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]XSLoader.pm
1280         - If F$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm
1281         - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm
1282         - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm
1283         - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm
1284         - If F$Search("[.Lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.Lib.VMS]*.*
1285         - If F$Search("[.Lib.Pod]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Pod]*.Pod
1286         - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
1287         - If F$Search("[.lib]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib]*.com
1288         - If F$Search("[.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.pod]*.com
1289         - If F$Search("[.utils]*.com;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.com
1290         - If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com
1291         - If F$Search("[.lib.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pod]*.com
1292
1293 clean : tidy cleantest
1294         - @make_ext "$(MINIPERL_EXE)" "$(MMS)" clean
1295         - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
1296         - If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
1297         - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
1298         - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
1299         - If F$Search("perly.c").nes."" Then Delete/NoConfirm/Log perly.c;*
1300         - Copy [.vms]perly_c.vms []perly.c
1301         - If F$Search("perly.h").nes."" Then Delete/NoConfirm/Log perly.h;*
1302         - Copy [.vms]perly_h.vms []perly.h
1303         - If F$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;*
1304         - If F$Search("VMS.C")   .nes."" Then Delete/NoConfirm/Log VMS.C;*
1305         - If F$Search("Perlmain.C")   .nes."" Then Delete/NoConfirm/Log Perlmain.C;*
1306         - If F$Search("Perlshr_Gbl*.Mar")   .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
1307         - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
1308         - If F$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);*
1309         - If F$Search("[.Ext.DynaLoader]DL_VMS.C").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C;*
1310         - If F$Search("[.Ext.DynaLoader]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DynaLoader.pm;*
1311         - If F$Search("[.Ext.DynaLoader]XSLoader.pm").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]XSLoader.pm;*
1312         - If F$Search("[.VMS.Ext...]*.C").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*.C;*
1313         - If F$Search("[.VMS.Ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*$(O);*
1314         - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
1315         - @extra_pods CLEAN
1316
1317 realclean : clean
1318         - @make_ext "$(MINIPERL_EXE)" "$(MMS)" realclean
1319         - If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
1320         - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
1321         - If F$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
1322         - If F$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
1323         - $(MINIPERL) -e "use File::Path; rmtree(\@ARGV,1,0);" config
1324         - If F$Search("Descrip.MMS").nes."" Then Delete/NoConfirm/Log Descrip.MMS;*
1325         - If F$Search("make_ext.Com").nes."" Then Delete/NoConfirm/Log make_ext.Com;*
1326         - If F$Search("extra_pods.Com").nes."" Then Delete/NoConfirm/Log extra_pods.Com;*
1327         - $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
1328         - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
1329         - If F$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
1330         - If F$Search("[.Lib]XSLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]XSLoader.pm;*
1331         - If F$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
1332         - If F$Search("[.Lib]*.com").nes."" Then Delete/NoConfirm/Log [.Lib]*.com;*
1333         - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
1334         - If F$Search("[.utils]*.com").nes."" Then Delete/NoConfirm/Log [.utils]*.com;*
1335         - If F$Search("[.x2p]*.com").nes."" Then Delete/NoConfirm/Log [.x2p]*.com;*
1336         - If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;*
1337         - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
1338         - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
1339         - If F$Search("[.lib.pod]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pod]*.pod;*
1340         - If F$Search("[.lib.pod]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]perldoc.com;*
1341         - If F$Search("[.utils]perlivp.com").nes."" Then Delete/NoConfirm/Log [.utils]perlivp.com;*
1342         - If F$Search("[.lib.pod]pod2*.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]pod2*.com;*
1343         - If F$Search("[.t.lib]vms*.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms*.t;*
1344         - If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);*
1345         - If F$Search("[.vms]Perl_Setup.Com").nes."" Then Delete/NoConfirm/Log [.vms]Perl_Setup.Com;*
1346         - If F$Search("[.t]rantests.").nes."" Then Delete/NoConfirm/Log [.t]rantests.;*
1347         - If F$Search("[.t.lib]vmsfspec.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsfspec.t;*
1348         - If F$Search("[.t.lib]vmsish.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsish.t;*
1349         - If F$Search("[.t.lib]vms_dclsym.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms_dclsym.t;*
1350         - If F$Search("[.t.lib]vms_stdio.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms_stdio.t;*
1351
1352 cleansrc : clean
1353         - If F$Search("*.C;-1").nes."" Then Purge/NoConfirm/Log *.C
1354         - If F$Search("*.H;-1").nes."" Then Purge/NoConfirm/Log *.H
1355         - If F$Search("*.VMS;-1").nes."" Then Purge/NoConfirm/Log *.VMS
1356         - If F$Search("[.VMS]$(MAKEFILE);-1").nes."" Then Purge/NoConfirm/Log [.VMS]$(MAKEFILE)
1357         - If F$Search("[.VMS]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.C
1358         - If F$Search("[.VMS]*.H;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.H
1359         - If F$Search("[.VMS]*.Pl;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.Pl
1360         - If F$Search("[.VMS]*.VMS;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.VMS
1361         - If F$Search("[.VMS...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.pm
1362         - If F$Search("[.VMS...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.xs
1363 !GROK!THIS!