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