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