Commit | Line | Data |
---|---|---|
97abc6ad HM |
1 | !GROK!THIS! |
2 | # Descrip.MMS for perl5 on VMS | |
1f74f634 | 3 | # Last revised 5-Dec-2001 by Craig Berry -- craigberry@mac.com |
97abc6ad HM |
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 | |
b4bc034f | 8 | #: be found in the same directory as this file. |
97abc6ad HM |
9 | #: |
10 | #: Lines beginning with "#:" will be removed by mms2make.pl when converting | |
11 | #: this file to MAKE syntax. | |
97abc6ad HM |
12 | # |
13 | # tidy -- purge files generated by executing this file | |
14 | # clean -- remove all intermediate (e.g. object files, C files generated | |
15 | # during build) files generated by executing this file, | |
c2b27382 | 16 | # but leave 'installable' files (images, library) intact |
97abc6ad | 17 | # realclean -- remove all files generated by executing this file |
c2b27382 | 18 | # cleansrc -- 'realclean' + purge *.c,*.h,descrip.mms |
97abc6ad HM |
19 | # crtl.opt -- compiler-specific linker options file (made automatically) |
20 | # | |
21 | ||
22 | #### Start of system configuration section. #### | |
23 | ||
24 | ~DECC~ | |
7558ebc2 | 25 | ~DECCXX~ |
97abc6ad HM |
26 | ~GNUC~ |
27 | ~ARCH-TYPE~ = 1 | |
28 | ~THREAD~ | |
29 | ~SOCKET~ | |
429a5e67 DS |
30 | ~MALLOC~ |
31 | ~CC~ | |
3f39e13a CB |
32 | ~MTK~ |
33 | ~MTU~ | |
498336ed | 34 | ~FLAGS~ |
e0261ef8 | 35 | ~LARGEFILE~ |
44caa20c | 36 | ~ARCHNAME~ |
9152021d | 37 | ~USEVMSDEBUG~ |
b545184e | 38 | ~PREFIX~ |
97abc6ad HM |
39 | |
40 | #: >>>>> Architecture-specific options <<<<< | |
86da1428 CB |
41 | .ifdef IXE |
42 | O = .ibj | |
43 | OLB = .ilb | |
44 | E = .ixe | |
45 | .else | |
97abc6ad HM |
46 | .ifdef AXE |
47 | # File type to use for object files | |
48 | O = .abj | |
49 | # File type to use for object libraries | |
50 | OLB = .alb | |
51 | # File type to use for executable images | |
52 | E = .axe | |
53 | .else | |
54 | # File type to use for object files | |
55 | O = .obj | |
56 | # File type to use for object libraries | |
57 | OLB = .olb | |
58 | # File type to use for executable images | |
59 | E = .exe | |
60 | .endif | |
86da1428 | 61 | .endif |
97abc6ad | 62 | |
86da1428 | 63 | .ifdef __IA64__ |
86da1428 CB |
64 | OBJVAL = $(O) |
65 | .else | |
97abc6ad | 66 | .ifdef __AXP__ |
97abc6ad HM |
67 | OBJVAL = $(O) |
68 | .else | |
97abc6ad HM |
69 | OBJVAL = $(MMS$TARGET_NAME)$(O) |
70 | .endif | |
86da1428 | 71 | .endif |
97abc6ad | 72 | |
85988417 | 73 | PERL_VERSION = ~PV~ |
97abc6ad | 74 | |
429a5e67 | 75 | .ifdef MALLOC |
b0d5070b CB |
76 | MALLOC_O = malloc$(O) |
77 | MALLOC_C = malloc$(C) | |
429a5e67 DS |
78 | .endif |
79 | ||
97abc6ad HM |
80 | .ifdef DECC_SOCKETS |
81 | SOCKET=1 | |
82 | .endif | |
83 | ||
44caa20c CB |
84 | ARCHDIR = [.lib.$(ARCHNAME).$(PERL_VERSION)] |
85 | ARCHCORE = [.lib.$(ARCHNAME).$(PERL_VERSION).CORE] | |
86 | ARCHAUTO = [.lib.$(ARCHNAME).$(PERL_VERSION).auto] | |
97abc6ad | 87 | |
97abc6ad HM |
88 | #: >>>>>Compiler-specific options <<<<< |
89 | .ifdef GNUC | |
90 | .first | |
91 | @ If F$TrnLnm("Sys").eqs."" Then Define/NoLog SYS GNU_CC_Include:[VMS] | |
92 | CC = gcc | |
97abc6ad HM |
93 | # -fno-builtin avoids bug in gcc up to version 2.6.2 which can destroy |
94 | # data when memcpy() is called on large (>64 kB) blocks of memory | |
95 | # (fixed in gcc 2.6.3) | |
96 | XTRACCFLAGS = /Obj=$(MMS$TARGET_NAME)$(O)/NoCase_Hack/Optimize=2 | |
97 | DBGSPECFLAGS = | |
429a5e67 | 98 | XTRADEF = |
97abc6ad HM |
99 | XTRAOBJS = |
100 | LIBS1 = GNU_CC:[000000]GCCLIB.OLB/Library | |
101 | LIBS2 = Sys$Share:VAXCRTL/Shareable | |
102 | POSIX = | |
103 | .else | |
104 | XTRAOBJS = | |
105 | LIBS1 = $(XTRAOBJS) | |
6fb2e99a | 106 | DBGSPECFLAGS = /Show=(expansion,include)/machine |
97abc6ad HM |
107 | # Some versions of DECCRTL on AXP have a bug in chdir() which causes the change |
108 | # to persist after the image exits, even when this was not requested, iff | |
109 | # SYSNAM is enabled. This is fixed in CSC Patch # AXPACRT04_061, but turning | |
110 | # off SYSNAM for the MM[SK] subprocess doesn't hurt anything, so we do it | |
111 | # just in case. | |
112 | .first | |
97abc6ad HM |
113 | @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").nes."" Then Define/NoLog SYS DECC$System_Include |
114 | .ifdef __AXP__ | |
787c52d8 | 115 | @ Set Process/Privilege=(NoSYSNAM) |
97abc6ad HM |
116 | @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS Sys$Library |
117 | .else | |
118 | @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS DECC$Library_Include | |
119 | .endif | |
120 | ||
7558ebc2 PP |
121 | .ifdef DECCXX |
122 | XTRACCFLAGS = /Include=[]/Standard=ANSI/Prefix=All/Obj=$(OBJVAL) | |
123 | .else | |
97abc6ad | 124 | XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(OBJVAL) |
7558ebc2 | 125 | .endif |
97abc6ad HM |
126 | XTRADEF = |
127 | POSIX = POSIX | |
97abc6ad HM |
128 | .endif |
129 | ||
97abc6ad HM |
130 | #: >>>>> Configuration options <<<<< |
131 | #: __DEBUG__: builds images with full VMS debugger support | |
132 | .ifdef __DEBUG__ | |
133 | DBGCCFLAGS = /List/Debug/NoOpt$(DBGSPECFLAGS) | |
134 | DBGLINKFLAGS = /Trace/Debug/Map/Full/Cross | |
135 | DBG = DBG | |
136 | .else | |
137 | DBGCCFLAGS = /NoList | |
138 | DBGLINKFLAGS = /NoTrace/NoMap | |
139 | DBG = | |
140 | .endif | |
141 | ||
97abc6ad HM |
142 | .ifdef THREADED |
143 | THREADDEF = | |
144 | THREAD = THREAD | |
145 | .endif | |
146 | ||
147 | .ifdef OLDTHREADED | |
429a5e67 | 148 | THREADDEF = |
97abc6ad | 149 | THREAD = THREAD |
9ef4b0a6 | 150 | THRLIBS1 = sys$share:cma$lib_shr/share|sys$share:cma$rtl/share |
97abc6ad | 151 | .ifdef __AXP__ |
9ef4b0a6 | 152 | THRLIBS2 = sys$share:cma$open_lib_shr/share|sys$share:cma$open_rtl/share |
97abc6ad HM |
153 | .endif |
154 | .endif | |
155 | ||
3f39e13a CB |
156 | .ifdef MTU |
157 | .ifdef MTK | |
158 | MTHREADLINKFLAGS = /THREADS=(MULTIPLE_KERNEL,UPCALLS) | |
159 | .else | |
160 | MTHREADLINKFLAGS = /THREADS=UPCALLS | |
161 | .endif | |
162 | .else | |
163 | MTHREADLINKFLAGS = | |
164 | .endif | |
165 | ||
97abc6ad | 166 | # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger |
e0261ef8 | 167 | .IFDEF LARGEFILE |
96021e87 JM |
168 | CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS)/Define=$(LARGEFILE) |
169 | X2PCFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS)/Define=(PERL_FOR_X2P,$(LARGEFILE)) | |
170 | CORECFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS)/Define=(PERL_CORE,$(LARGEFILE)) | |
e0261ef8 | 171 | .ELSE |
498336ed | 172 | CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS) |
e0261ef8 CB |
173 | X2PCFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS)/Define=PERL_FOR_X2P |
174 | CORECFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS)/Define=PERL_CORE | |
175 | .ENDIF | |
176 | ||
97abc6ad HM |
177 | LINKFLAGS = $(DBGLINKFLAGS) |
178 | ||
179 | MAKE = $(MMS) | |
180 | MAKEFILE = Descrip.MMS # this file | |
181 | NOOP = continue | |
182 | ||
183 | # Macros to invoke a copy of miniperl during the build. Targets which | |
184 | # are built using these macros should depend on $(MINIPERL_EXE) | |
185 | MINIPERL_EXE = Sys$Disk:[]miniperl$(E) | |
f6b3c354 | 186 | MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]" |
dfe814dc | 187 | MINIPERLQ = MCR $(MINIPERL_EXE) ""-I[.lib]"" |
29637182 | 188 | XSUBPP = $(MINIPERL) "-I[.ext.re]" [.lib.extutils]xsubpp -noprototypes |
97abc6ad HM |
189 | # Macro to invoke a preexisting copy of Perl. This is used to regenerate |
190 | # some header files when rebuilding Perl, but premade versions are provided | |
191 | # in the distribution, so it's OK if this doesn't work; it's here to make | |
192 | # life easier for those who modify Perl and rebuild it. | |
193 | INSTPERL = perl | |
7eb47696 NC |
194 | # Macros to invoke a copy of perl during the build. Targets which |
195 | # are built using these macros should depend on $(PERL_EXE) EXT | |
bfeb8220 CB |
196 | .IFDEF __DEBUG__ |
197 | PERL_EXE = Sys$Disk:[]n$(DBG)perl$(E) | |
198 | .ELSE | |
7eb47696 | 199 | PERL_EXE = Sys$Disk:[]perl$(E) |
bfeb8220 | 200 | .ENDIF |
7eb47696 | 201 | PERL = MCR $(PERL_EXE) "-I[.lib]" |
97abc6ad HM |
202 | |
203 | # Space-separated list of "static" extensions to build into perlshr (case counts). | |
204 | MYEXT = DynaLoader | |
205 | # object files for these extensions; the trailing comma is required if | |
206 | # there are any object files specified | |
207 | # These must be built separately, or you must add rules below to build them | |
859ef0cd | 208 | myextobj = DynaLoader$(O), |
97abc6ad HM |
209 | EXT = $(MYEXT) |
210 | extobj = $(myextobj) | |
97abc6ad | 211 | |
429a5e67 DS |
212 | .ifdef LIBS2 |
213 | .else | |
214 | LIBS2= | |
215 | .endif | |
97abc6ad | 216 | |
9ef4b0a6 BH |
217 | .ifdef THRLIBS1 |
218 | .else | |
219 | THRLIBS1= | |
220 | .endif | |
221 | ||
222 | .ifdef THRLIBS2 | |
223 | .else | |
224 | THRLIBS2= | |
225 | .endif | |
226 | ||
227 | FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2) | |
228 | ||
97abc6ad HM |
229 | #### End of system configuration section. #### |
230 | ||
39aec2a9 | 231 | c0 = $(MALLOC_C) av.c caretx.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro.c |
7ee2227d | 232 | c1 = mg.c locale.c mathoms.c miniperlmain.c numeric.c op.c pad.c perl.c perlapi.c perlio.c |
10bc17b6 | 233 | c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c reentr.c |
26ea9e12 | 234 | c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c keywords.c |
b0d5070b CB |
235 | c = $(c0) $(c1) $(c2) $(c3) |
236 | ||
5c9818e9 | 237 | obj0 = perl$(O) |
7b74bef1 | 238 | obj1 = $(MALLOC_O) av$(O) caretx$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O) |
cfc889ad | 239 | obj2 = keywords$(O) locale$(O) mathoms$(O) mg$(O) miniperlmain$(O) numeric$(O) op$(O) pad$(O) perlapi$(O) perlio$(O) |
5c9818e9 | 240 | obj3 = perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O) pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O) |
48462a74 | 241 | obj4 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O) |
5c9818e9 CB |
242 | |
243 | mini_obj = perlmini$(O) $(obj1) $(obj2) $(obj3) $(obj4) | |
b0d5070b CB |
244 | obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4) |
245 | ||
63e9201e | 246 | h0 = av.h config.h cop.h cv.h embed.h embedvar.h |
02e4b6fe | 247 | h1 = EXTERN.h form.h gv.h handy.h hv.h l1_char_class_tab.h INTERN.h intrpvar.h |
8b09643d NC |
248 | h2 = iperlsys.h keywords.h mydtrace.h mg.h mg_vtable.h nostdio.h op.h |
249 | h3 = op_reg_common.h opcode.h opnames.h overload.h pad.h parser.h patchlevel.h | |
250 | h4 = perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h | |
66b82e1f | 251 | h5 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h |
ef4abe76 NC |
252 | h6 = sv.h thread.h utf8.h util.h vmsish.h warnings.h xsub.h |
253 | h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5) $(h6) | |
787c52d8 | 254 | |
787c52d8 | 255 | acopt = $(ARCHCORE)perlshr_attr.opt $(ARCHCORE)$(DBG)perlshr_bld.opt |
5c0877fa | 256 | ac = archcore_includes.ts $(acopt) |
c05f8f3d | 257 | |
9387abf8 NC |
258 | generated_headers = uudmap.h bitcount.h mg_data.h |
259 | ||
97abc6ad HM |
260 | CRTL = []crtl.opt |
261 | CRTLOPTS =,$(CRTL)/Options | |
262 | ||
263 | .SUFFIXES | |
264 | ||
265 | .ifdef LINK_ONLY | |
266 | .else | |
267 | .SUFFIXES $(O) .c .xs | |
268 | ||
269 | .xs.c : | |
270 | $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET) | |
271 | ||
97abc6ad HM |
272 | .c$(O) : |
273 | $(CC) $(CFLAGS) $(MMS$SOURCE) | |
274 | ||
275 | .xs$(O) : | |
276 | $(XSUBPP) $(MMS$SOURCE) >$(MMS$SOURCE_NAME).c | |
277 | $(CC) $(CFLAGS) $(MMS$SOURCE_NAME).c | |
278 | .endif | |
279 | ||
ca12659b NC |
280 | # Directories of Unicode data files generated by mktables |
281 | unidatadirs = lib/unicore/To lib/unicore/lib | |
282 | ||
97abc6ad | 283 | # Modules which must be installed before we can build extensions |
611495fa | 284 | LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl $(ARCHDIR)vmspipe.com |
97abc6ad | 285 | |
7b4d95f7 | 286 | utils1 = [.utils]perldoc.com [.utils]c2ph.com [.utils]h2ph.com |
c9dab4e9 | 287 | utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]json_pp.com |
d658129c | 288 | utils3 = [.utils]perlivp.com [.lib]splain.com [.utils]pl2pm.com [.utils]xsubpp.com [.utils]pod2html.com [.utils]instmodsh.com |
bb4e9162 | 289 | utils4 = [.utils]enc2xs.com [.utils]piconv.com [.utils]cpan.com [.utils]prove.com [.utils]ptar.com [.utils]ptardiff.com [.utils]shasum.com |
fb598ba5 | 290 | utils5 = [.utils]corelist.com [.utils]config_data.com [.utils]ptargrep.com [.utils]zipdetails.com |
97abc6ad HM |
291 | |
292 | .ifdef NOX2P | |
bfeb8220 | 293 | all : base extras archcorefiles preplibrary [.pod]perltoc.pod |
1b2d7687 PP |
294 | @ QUALIFIERS := $(MMSQUALIFIERS) |
295 | @ QUALIFIERS = QUALIFIERS - """" - """" | |
dfe814dc | 296 | @ write sys$output " " |
1b2d7687 | 297 | @ write sys$output " Everything is up to date. '$(MMS)''QUALIFIERS' test' to run test suite." |
97abc6ad | 298 | .else |
bfeb8220 | 299 | all : base extras x2p archcorefiles preplibrary [.pod]perltoc.pod |
1b2d7687 PP |
300 | @ QUALIFIERS := $(MMSQUALIFIERS) |
301 | @ QUALIFIERS = QUALIFIERS - """" - """" | |
dfe814dc | 302 | @ write sys$output " " |
1b2d7687 | 303 | @ write sys$output " Everything is up to date. '$(MMS)''QUALIFIERS' test' to run test suite." |
97abc6ad | 304 | .endif |
9c3905ef | 305 | |
5c9818e9 | 306 | git_version.h : $(MINIPERL_EXE) make_patchnum.pl |
16ad9bfa | 307 | $(MINIPERL) make_patchnum.pl |
05b0cfd1 | 308 | |
f952ce75 | 309 | base : miniperl git_version.h nonxsext perl |
97abc6ad | 310 | @ $(NOOP) |
33c64ab2 | 311 | extras : dynext libmods utils extra.pods |
97abc6ad HM |
312 | @ $(NOOP) |
313 | libmods : $(LIBPREREQ) | |
314 | @ $(NOOP) | |
bb4e9162 | 315 | utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5) |
97abc6ad | 316 | @ $(NOOP) |
71a0fcfa | 317 | x2p : [.x2p]$(DBG)a2p$(E) [.x2p]s2p.com [.x2p]find2perl.com |
97abc6ad | 318 | @ $(NOOP) |
414b89cc CB |
319 | extra.pods : miniperl |
320 | @ @extra_pods.com | |
97abc6ad | 321 | |
03057ffb | 322 | PERLDELTA_CURRENT = [.pod]perl5198delta.pod |
600dcb9e CB |
323 | |
324 | $(PERLDELTA_CURRENT) : [.pod]perldelta.pod | |
c6568584 | 325 | Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT) |
1400179b | 326 | |
6e2c8928 NC |
327 | [.pod]perlmodlib.pod : [.pod]perlmodlib.pl MANIFEST $(MINIPERL_EXE) |
328 | $(MINIPERL) [.pod]perlmodlib.pl "-q" | |
329 | ||
54df2684 NC |
330 | [.pod]perlapi.pod : [.pod]perlintern.pod |
331 | @ $(NOOP) | |
332 | ||
30a06a3a CB |
333 | [.pod]perlintern.pod : embed.fnc autodoc.pl $(MINIPERL_EXE) |
334 | $(MINIPERL) autodoc.pl | |
335 | ||
600dcb9e | 336 | [.pod]perltoc.pod : $(PERLDELTA_CURRENT) [.pod]perlapi.pod [.pod]perlintern.pod [.pod]perlmodlib.pod extra.pods $(PERL_EXE) |
bfeb8220 | 337 | @ define/user_mode $(DBG)PERLSHR SYS$DISK:[]$(DBG)perlshr$(E) |
b78c1104 | 338 | $(PERL) "-f" [.pod]buildtoc "-q" |
97abc6ad | 339 | |
7e2254de | 340 | archcorefiles : $(ac) $(ARCHAUTO)time.stamp |
97abc6ad HM |
341 | @ $(NOOP) |
342 | ||
cb251201 NC |
343 | # See the comment in Makefile.SH explaining this seemingly cranky ordering |
344 | $(MINIPERL_EXE) : [.lib]buildcustomize.pl | |
345 | @ $(NOOP) | |
5e4c4c91 | 346 | |
93d6612c | 347 | vmspipe.com : [.vms]vmspipe.com |
1f74f634 | 348 | Copy/NoConfirm/Log $(MMS$SOURCE) [] |
93d6612c CB |
349 | |
350 | miniperl : $(DBG)miniperl$(E) vmspipe.com | |
97abc6ad | 351 | @ Continue |
cb251201 | 352 | |
2d11a7e9 | 353 | [.lib]buildcustomize.pl : miniperlmain$(O), $(DBG)libperlmini$(OLB) $(CRTL) write_buildcustomize.pl |
cb251201 | 354 | Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MINIPERL_EXE) miniperlmain$(O), $(DBG)libperlmini$(OLB)/Library/Include=globals $(CRTLOPTS) |
b78ac715 | 355 | $(MINIPERL) "-f" write_buildcustomize.pl |
cb251201 | 356 | |
5c9818e9 CB |
357 | $(DBG)miniperl$(E) : miniperlmain$(O), $(DBG)libperlmini$(OLB) $(CRTL) |
358 | Link $(LINKFLAGS)/Trace/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperlmini$(OLB)/Library/Include=globals $(CRTLOPTS) | |
97abc6ad HM |
359 | |
360 | $(DBG)libperl$(OLB) : $(obj) | |
361 | @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET) | |
8f9bf0bf | 362 | Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST) |
97abc6ad | 363 | |
5c9818e9 CB |
364 | $(DBG)libperlmini$(OLB) : $(mini_obj) |
365 | @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET) | |
366 | Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST) | |
367 | ||
7b4d95f7 | 368 | perlmain.c : miniperlmain.c $(MINIPERL_EXE) nonxsext |
b4999888 | 369 | $(MINIPERL) -"MExtUtils::Miniperl" -e "writemain(\'perlmain.c', @ARGV)" "$(EXT)" |
97abc6ad | 370 | |
97abc6ad HM |
371 | .ifdef __DEBUG__ |
372 | # Link an extra perl that doesn't invoke the debugger | |
1f052492 | 373 | perl : $(DBG)perl$(E) |
3f39e13a | 374 | Link $(LINKFLAGS)$(MTHREADLINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)perl$(E) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS) |
97abc6ad | 375 | .else |
1f052492 | 376 | perl : $(DBG)perl$(E) |
97abc6ad HM |
377 | @ Continue |
378 | .endif | |
379 | ||
380 | $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE) | |
381 | @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share" | |
3f39e13a | 382 | Link $(LINKFLAGS)$(MTHREADLINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS) |
97abc6ad | 383 | |
97abc6ad HM |
384 | $(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts |
385 | Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option | |
386 | ||
5c9818e9 CB |
387 | perlmini.c : perl.c |
388 | @ IF F$SEARCH("$(MMS$TARGET)") .NES. "" THEN DELETE/NOCONFIRM/LOG $(MMS$TARGET);* | |
389 | @ COPY/NOCONFIRM _NLA0: $(MMS$TARGET) | |
390 | @ SET FILE /ATTRIBUTES=RFM:STMLF $(MMS$TARGET) | |
391 | @ OPEN/APPEND perlmini $(MMS$TARGET) | |
392 | @ WRITE perlmini "#define PERL_IS_MINIPERL" | |
393 | @ CLOSE perlmini | |
394 | @ APPEND/NOCONFIRM/LOG $(MMS$SOURCE) $(MMS$TARGET) | |
395 | ||
396 | perlmini$(O) : perlmini.c | |
397 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
398 | ||
6f83ef0e | 399 | bitcount.h mg_data.h : uudmap.h |
45b279ec | 400 | @ $(NOOP) |
6999193b | 401 | |
92d23424 | 402 | uudmap.h : generate_uudmap$(E) |
9387abf8 | 403 | MCR SYS$DISK:[]generate_uudmap$(E) $(generated_headers) |
9444d213 | 404 | |
c3301a92 | 405 | generate_uudmap$(E) : generate_uudmap$(O) $(CRTL) |
9444d213 NC |
406 | Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) generate_uudmap$(O) $(CRTLOPTS) |
407 | ||
6f83ef0e | 408 | generate_uudmap$(O) : generate_uudmap.c mg_raw.h |
b50d78f7 CB |
409 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
410 | ||
97abc6ad HM |
411 | # The following files are built in one go by gen_shrfls.pl: |
412 | # perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP | |
413 | # perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only | |
93ea32b8 | 414 | # The song and dance with gen_shrfls.opt accommodates DCL's line length limit. |
97abc6ad | 415 | $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL) |
93ea32b8 | 416 | @ $(MINIPERL) makedef.pl "PLATFORM=vms" > makedef.lis |
b3ecbfd3 CB |
417 | @ $(MINIPERLQ) -e "print join('|',@ARGV),'|';" "$(CC)$(CFLAGS)" >gen_shrfls.opt |
418 | @ $(MINIPERLQ) -e "print join('|',@ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt | |
97abc6ad HM |
419 | $(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt |
420 | @ Delete/NoLog/NoConfirm gen_shrfls.opt; | |
421 | @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;* | |
422 | @ Copy _NLA0: $(DBG)perlshr_xtras.ts | |
97abc6ad | 423 | |
1f74f634 | 424 | $(ARCHDIR)Config.pm : [.lib]Config.pm |
97abc6ad | 425 | Create/Directory $(ARCHDIR) |
1f74f634 | 426 | Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHDIR) |
97abc6ad | 427 | |
2d9d8159 NC |
428 | $(ARCHDIR)Config_heavy.pl : [.lib]Config_heavy.pl |
429 | Create/Directory $(ARCHDIR) | |
430 | Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHDIR) | |
431 | ||
1f74f634 | 432 | [.lib]Config.pm : config.h $(MINIPERL_EXE) |
97abc6ad HM |
433 | $(MINIPERL) ConfigPM. |
434 | ||
93d6612c | 435 | $(ARCHDIR)vmspipe.com : vmspipe.com |
1f74f634 | 436 | Copy $(MMS$SOURCE) $(ARCHDIR) |
93d6612c | 437 | |
3dc3a597 | 438 | unidatafiles.ts : $(MINIPERL_EXE) [.lib]Config.pm [.lib.unicore]mktables nonxsext |
3df51b85 | 439 | $(MINIPERL) [.lib.unicore]mktables "-C" [.lib.unicore] "-P" [.pod] "-makelist" "-maketest" "-p" |
23b62609 CB |
440 | @ If F$Search("$(MMS$TARGET)").nes."" Then Delete/NoLog/NoConfirm $(MMS$TARGET);* |
441 | @ Copy/NoConfirm _NLA0: $(MMS$TARGET) | |
ca12659b | 442 | |
2d11a7e9 | 443 | DynaLoader$(O) : [.lib]buildcustomize.pl $(ARCHDIR)Config.pm $(MINIPERL_EXE) |
859ef0cd | 444 | $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "DynaLoader" |
25ea24bb | 445 | |
859ef0cd | 446 | dynext : $(LIBPREREQ) $(DBG)perlshr$(E) unidatafiles.ts DynaLoader$(O) preplibrary makeppport $(MINIPERL_EXE) |
a34ce875 NC |
447 | $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--dynamic" "--static" |
448 | ||
291c8c21 | 449 | nonxsext : $(LIBPREREQ) preplibrary $(MINIPERL_EXE) [.pod]perlfunc.pod |
a34ce875 | 450 | $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--nonxs" |
97abc6ad | 451 | |
4403bf93 | 452 | [.utils]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm |
08da30e0 | 453 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
97abc6ad | 454 | |
cdf8b154 | 455 | [.utils]perlivp.com : [.utils]perlivp.PL $(ARCHDIR)Config.pm |
08da30e0 | 456 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
cdf8b154 | 457 | |
2bfebb05 | 458 | [.utils]cpan.com : [.utils]cpan.PL $(ARCHDIR)Config.pm |
08da30e0 | 459 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
2bfebb05 | 460 | |
4b618757 | 461 | [.utils]prove.com : [.utils]prove.PL $(ARCHDIR)Config.pm |
08da30e0 | 462 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
291d3373 RGS |
463 | |
464 | [.utils]ptar.com : [.utils]ptar.PL $(ARCHDIR)Config.pm | |
08da30e0 | 465 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
4b618757 | 466 | |
b8669316 | 467 | [.utils]ptardiff.com : [.utils]ptardiff.PL $(ARCHDIR)Config.pm |
08da30e0 | 468 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
b8669316 | 469 | |
deabda19 CBW |
470 | [.utils]ptargrep.com : [.utils]ptargrep.PL $(ARCHDIR)Config.pm |
471 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) | |
472 | ||
3ddf9550 | 473 | [.utils]shasum.com : [.utils]shasum.PL $(ARCHDIR)Config.pm |
08da30e0 | 474 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
3ddf9550 | 475 | |
bb4e9162 | 476 | [.utils]config_data.com : [.utils]config_data.PL $(ARCHDIR)Config.pm |
08da30e0 | 477 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
bb4e9162 | 478 | |
6efb3e4d | 479 | [.utils]corelist.com : [.utils]corelist.PL $(ARCHDIR)Config.pm |
08da30e0 | 480 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
6efb3e4d | 481 | |
97abc6ad | 482 | [.utils]c2ph.com : [.utils]c2ph.PL $(ARCHDIR)Config.pm |
08da30e0 | 483 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
97abc6ad | 484 | |
d9f91944 CB |
485 | [.utils]json_pp.com : [.utils]json_pp.PL $(ARCHDIR)Config.pm |
486 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) | |
487 | ||
14d70106 | 488 | [.utils]enc2xs.com : [.utils]enc2xs.PL $(ARCHDIR)Config.pm |
08da30e0 | 489 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
14d70106 | 490 | |
97abc6ad | 491 | [.utils]h2ph.com : [.utils]h2ph.PL $(ARCHDIR)Config.pm |
08da30e0 | 492 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
97abc6ad HM |
493 | |
494 | [.utils]h2xs.com : [.utils]h2xs.PL $(ARCHDIR)Config.pm | |
08da30e0 | 495 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
97abc6ad | 496 | |
88be34b6 | 497 | [.utils]instmodsh.com : [.utils]instmodsh.PL $(ARCHDIR)Config.pm |
08da30e0 | 498 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
88be34b6 | 499 | |
5fa137f1 | 500 | [.utils]libnetcfg.com : [.utils]libnetcfg.PL $(ARCHDIR)Config.pm |
08da30e0 | 501 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
5fa137f1 | 502 | |
97abc6ad | 503 | [.lib]perlbug.com : [.utils]perlbug.PL $(ARCHDIR)Config.pm |
08da30e0 | 504 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
1f74f634 | 505 | Copy/NoConfirm/Log [.utils]perlbug.com [.lib] |
97abc6ad | 506 | |
14d70106 | 507 | [.utils]piconv.com : [.utils]piconv.PL $(ARCHDIR)Config.pm |
08da30e0 | 508 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
14d70106 | 509 | |
97abc6ad | 510 | [.utils]pl2pm.com : [.utils]pl2pm.PL $(ARCHDIR)Config.pm |
08da30e0 | 511 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
97abc6ad HM |
512 | |
513 | [.lib]splain.com : [.utils]splain.PL $(ARCHDIR)Config.pm | |
08da30e0 | 514 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
1f74f634 | 515 | Copy/NoConfirm/Log [.utils]splain.com [.lib] |
97abc6ad HM |
516 | |
517 | [.x2p]find2perl.com : [.x2p]find2perl.PL $(ARCHDIR)Config.pm | |
08da30e0 | 518 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
97abc6ad HM |
519 | |
520 | [.x2p]s2p.com : [.x2p]s2p.PL $(ARCHDIR)Config.pm | |
08da30e0 | 521 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
97abc6ad | 522 | |
798fd3e2 | 523 | [.utils]xsubpp.com : [.utils]xsubpp.PL $(ARCHDIR)Config.pm nonxsext |
08da30e0 | 524 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) |
5fa137f1 | 525 | |
08ad9465 CBW |
526 | [.utils]zipdetails.com : [.utils]zipdetails.PL $(ARCHDIR)Config.pm nonxsext |
527 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) | |
528 | ||
d658129c FR |
529 | [.utils]pod2html.com : [.utils]pod2html.PL $(ARCHDIR)Config.pm nonxsext |
530 | $(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) | |
531 | ||
97abc6ad HM |
532 | # Rename catches problem with some DECC versions in which object file is |
533 | # placed in current default dir, not same one as source file. | |
534 | [.x2p]$(DBG)a2p$(E) : [.x2p]a2p$(O), [.x2p]hash$(O), [.x2p]str$(O), [.x2p]util$(O), [.x2p]walk$(O) | |
535 | @ If F$Search("hash$(O)").nes."" Then Rename/NoLog hash$(O),str$(O),util$(O),walk$(O) [.x2p] | |
536 | Link $(LINKFLAGS) /Exe=$(MMS$TARGET) $(MMS$SOURCE_LIST) $(CRTLOPTS) | |
537 | ||
8f9bf0bf | 538 | # Accommodate buggy cpp in some version of DECC, which chokes on illegal |
97abc6ad HM |
539 | # filespec "y.tab.c", and broken gcc cpp, which doesn't start #include "" |
540 | # search in same dir as source file | |
046cc26c | 541 | [.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h vmsish.h $(MINIPERL_EXE) |
97abc6ad | 542 | $(MINIPERL) -pe "s/^#line\s+(\d+)\s+\Q""y.tab.c""/#line $1 ""y_tab.c""/;" $(MMS$SOURCE) >$(MMS$TARGET_NAME)_vms.c |
fe5e93de | 543 | $(CC) $(X2PCFLAGS) /Object=$(MMS$TARGET)/Include=([.x2p],[],"./x2p") $(MMS$TARGET_NAME)_vms.c |
97abc6ad HM |
544 | Delete/Log/NoConfirm $(MMS$TARGET_NAME)_vms.c; |
545 | ||
546 | # gcc cpp broken -- doesn't look in directory of source file for #include "" | |
547 | .ifdef GNUC | |
548 | [.x2p]hash$(O) : [.x2p]hash.c | |
3a385817 | 549 | $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE) |
97abc6ad HM |
550 | |
551 | [.x2p]str$(O) : [.x2p]str.c | |
3a385817 | 552 | $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE) |
97abc6ad HM |
553 | |
554 | [.x2p]util$(O) : [.x2p]util.c | |
3a385817 | 555 | $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE) |
97abc6ad HM |
556 | |
557 | [.x2p]walk$(O) : [.x2p]walk.c | |
3a385817 | 558 | $(CC) $(X2PCFLAGS) /Include=[.x2p] $(MMS$SOURCE) |
97abc6ad HM |
559 | .endif |
560 | ||
9b5878df | 561 | preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) |
c43be3e8 | 562 | @ $(NOOP) |
97abc6ad | 563 | |
d1a21686 | 564 | makeppport : $(MINIPERL_EXE) $(ARCHDIR)Config.pm nonxsext |
42e07562 MHM |
565 | $(MINIPERL) mkppport |
566 | ||
bfeb8220 | 567 | install.html : [.pod]perltoc.pod |
b545184e | 568 | @ @perl_setup.com "$(PREFIX)" |
c645ec3f GS |
569 | @ If F$Search("perl_root:[lib]html.dir").eqs."" Then Create/Directory perl_root:[lib.html] |
570 | $(MINIPERL) installhtml. "--podroot=. --recurse --htmldir=/perl_root/lib/html --htmlroot=.. --verbose" | |
b4bc034f | 571 | |
97abc6ad HM |
572 | printconfig : |
573 | @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS) | |
046cc26c | 574 | @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(EXT)" "$(DBG)" |
97abc6ad | 575 | |
424a8fe9 | 576 | # The following files are generated automatically |
d500e60d | 577 | # embed.pl: proto.h embed.h embedvar.h perlapi.h perlapi.c |
897d3989 | 578 | # opcode.pl: opcode.h opnames.h pp_proto.h |
5f286eee CB |
579 | # regcomp.pl: regnodes.h |
580 | # warnings.pl: warnings.h lib/warnings.pm | |
97abc6ad HM |
581 | # The correct versions should be already supplied with the perl kit, |
582 | # in case you don't have perl available. | |
5f286eee CB |
583 | # To force them to be regenerated, run |
584 | # perl regen.pl | |
585 | # with your existing copy of perl | |
586 | # (make regen_headers is kept for backwards compatibility) | |
587 | ||
588 | regen : | |
589 | $(INSTPERL) regen.pl | |
590 | ||
97abc6ad | 591 | regen_headers : |
5f286eee | 592 | $(INSTPERL) regen.pl -v |
97abc6ad | 593 | |
97abc6ad HM |
594 | .ifdef LINK_ONLY |
595 | .else | |
787c52d8 | 596 | perly$(O) : perly.c, perly.h, $(h) |
97abc6ad HM |
597 | .endif |
598 | ||
7558ebc2 PP |
599 | check : test |
600 | @ Continue | |
601 | ||
2d11a7e9 | 602 | test : all |
20533b5a | 603 | @ PERL_TEST_DRIVER == "TEST." |
97386f52 | 604 | - @[.vms]test.com "$(E)" "$(__DEBUG__)" |
40996b78 AT |
605 | @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests. |
606 | ||
2d11a7e9 | 607 | test_harness : all |
20533b5a | 608 | @ PERL_TEST_DRIVER == "harness." |
97386f52 | 609 | - @[.vms]test.com "$(E)" "$(__DEBUG__)" |
dfe814dc | 610 | @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests. |
97abc6ad | 611 | |
2d11a7e9 | 612 | minitest : $(MINITEST_EXE) unidatafiles.ts |
68ccb645 | 613 | @ PERL_TEST_DRIVER == "minitest" |
97386f52 | 614 | - @[.vms]test.com "$(E)" "$(__DEBUG__)" |
68ccb645 | 615 | |
3a385817 GS |
616 | # install ought not need a source, but it doesn't work if one's not |
617 | # there. Go figure... | |
5ea6993d | 618 | install : $(PERL_EXE) |
b545184e | 619 | @ @perl_setup.com "$(PREFIX)" |
29637182 | 620 | If F$TrnLnm("Sys") .nes. "" Then Deass SYS |
5ea6993d CB |
621 | @ define/user_mode $(DBG)PERLSHR SYS$DISK:[]$(DBG)perlshr$(E) |
622 | $(PERL) installperl | |
97abc6ad HM |
623 | |
624 | archify : all | |
44caa20c | 625 | @ Write Sys$Output "Moving files to architecture-specific locations for $(ARCHNAME)" |
97abc6ad HM |
626 | archroot = "$(ARCHAUTO)" - "]" + "...]" |
627 | Backup/Log/Verify [.lib.auto...]*.*;/Exclude=(*.al,*.ix) 'archroot'/New_Version | |
628 | Delete/Log/NoConfirm [.lib.auto...]*.*;*/exclude=(*.al,*.ix,*.dir) | |
629 | Delete/Log/NoConfirm [.lib]Config.pm;* | |
2d9d8159 | 630 | Delete/Log/NoConfirm [.lib]Config_heavy.pl;* |
71a0fcfa PP |
631 | Copy/Log/NoConfirm *$(E);,[.x2p]$(DBG)a2p$(E); $(ARCHDIR) |
632 | Delete/Log/NoConfirm Perl*$(E);*,[.x2p]$(DBG)a2p$(E);* | |
1b2d7687 PP |
633 | @ QUALIFIERS := $(MMSQUALIFIERS) |
634 | @ QUALIFIERS = QUALIFIERS - """" - """" | |
97abc6ad HM |
635 | @ Write Sys$Output "Architecture-specific setup completed." |
636 | @ Write Sys$Output "Before building for another architecture, be sure to" | |
1b2d7687 | 637 | @ Write Sys$Output " 1. $(MMS)''QUALIFIERS' clean" |
97abc6ad HM |
638 | @ Write Sys$Output " 2. Delete Miniperl$(E)" |
639 | ||
640 | # CORE subset for MakeMaker, so we can build Perl without sources | |
5c0877fa CB |
641 | |
642 | archcore_includes.ts : | |
97abc6ad | 643 | @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) |
5c0877fa CB |
644 | Copy/NoConfirm/Log *.h $(ARCHCORE) |
645 | @ Copy _NLA0: $(MMS$TARGET) | |
97abc6ad HM |
646 | $(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts |
647 | @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) | |
1f74f634 | 648 | Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE) |
97abc6ad HM |
649 | $(ARCHCORE)perlshr_attr.opt : $(DBG)perlshr_xtras.ts |
650 | @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) | |
d510da7a | 651 | Copy/NoConfirm/Log perlshr_attr.opt $(ARCHCORE) |
97abc6ad HM |
652 | $(ARCHCORE)$(DBG)perlshr_bld.opt : $(DBG)perlshr_xtras.ts |
653 | @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE) | |
1f74f634 | 654 | Copy/NoConfirm/Log $(DBG)perlshr_bld.opt $(ARCHCORE) |
97abc6ad HM |
655 | $(ARCHAUTO)time.stamp : |
656 | @ If F$Search("$(ARCHDIR)auto.dir").eqs."" Then Create/Directory $(ARCHAUTO) | |
657 | @ If F$Search("$(MMS$TARGET)").eqs."" Then Copy/NoConfirm _NLA0: $(MMS$TARGET) | |
658 | ||
659 | .ifdef LINK_ONLY | |
660 | .else | |
661 | # We need an action line here for broken older versions of MMS which | |
662 | # otherwise conclude that they should be compiling [.x2p]utils.c :-( | |
3a385817 GS |
663 | #util$(O) : util.c |
664 | # $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
97abc6ad | 665 | # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE |
1f74f634 CB |
666 | av$(O) : av.c $(h) |
667 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
668 | deb$(O) : deb.c $(h) | |
669 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
670 | doio$(O) : doio.c $(h) | |
671 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
672 | doop$(O) : doop.c $(h) | |
673 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
674 | dump$(O) : dump.c $(h) | |
3a385817 | 675 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
9387abf8 | 676 | globals$(O) : globals.c $(generated_headers) $(h) |
b50d78f7 | 677 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 678 | gv$(O) : gv.c $(h) |
3a385817 | 679 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
e1a479c5 BB |
680 | mro$(O) : mro.c $(h) |
681 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
1f74f634 | 682 | hv$(O) : hv.c $(h) |
3a385817 | 683 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
cfc889ad CB |
684 | keywords$(O) : keywords.c $(h) |
685 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
1f74f634 | 686 | locale$(O) : locale.c $(h) |
3a385817 | 687 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 688 | malloc$(O) : malloc.c $(h) |
3a385817 | 689 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
9fcbb300 JM |
690 | mathoms$(O) : mathoms.c $(h) |
691 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) | |
1f74f634 | 692 | mg$(O) : mg.c $(h) |
3a385817 | 693 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 694 | miniperlmain$(O) : miniperlmain.c $(h) |
3a385817 | 695 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 696 | numeric$(O) : numeric.c $(h) |
cfbf4ea5 | 697 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 698 | pad$(O) : pad.c $(h) |
b0bfe279 | 699 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 700 | op$(O) : op.c $(h) |
3a385817 | 701 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
05b0cfd1 | 702 | perl$(O) : perl.c git_version.h $(h) |
3a385817 | 703 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 704 | perlapi$(O) : perlapi.c $(h) |
cfbf4ea5 | 705 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 706 | perlio$(O) : perlio.c config.h $(h) |
3a385817 | 707 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
5c9818e9 | 708 | perlmain$(O) : perlmain.c $(h) |
3a385817 | 709 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 710 | perly$(O) : perly.c $(h) |
b0bfe279 | 711 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 712 | pp$(O) : pp.c $(h) |
3a385817 | 713 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 714 | pp_ctl$(O) : pp_ctl.c $(h) |
3a385817 | 715 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 716 | pp_hot$(O) : pp_hot.c $(h) |
3a385817 | 717 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 718 | pp_pack$(O) : pp_pack.c $(h) |
3a385817 | 719 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 720 | pp_sort$(O) : pp_sort.c $(h) |
3a385817 | 721 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 722 | pp_sys$(O) : pp_sys.c $(h) |
3a385817 | 723 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 724 | reentr$(O) : reentr.c $(h) |
3a385817 | 725 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 726 | regcomp$(O) : regcomp.c $(h) |
3a385817 | 727 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 728 | regexec$(O) : regexec.c $(h) |
3a385817 | 729 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 730 | run$(O) : run.c $(h) |
3a385817 | 731 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 732 | scope$(O) : scope.c $(h) |
3a385817 | 733 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
94a11853 | 734 | sv$(O) : sv.c $(h) |
3a385817 | 735 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 736 | taint$(O) : taint.c $(h) |
3a385817 | 737 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 738 | toke$(O) : toke.c $(h) |
3a385817 | 739 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 740 | universal$(O) : universal.c $(h) |
3a385817 | 741 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 742 | utf8$(O) : utf8.c $(h) |
3a385817 | 743 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 744 | util$(O) : util.c $(h) |
3937c24e | 745 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
1f74f634 | 746 | vms$(O) : vms.c $(h) |
3a385817 GS |
747 | $(CC) $(CORECFLAGS) $(MMS$SOURCE) |
748 | ||
046cc26c | 749 | [.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h |
3a385817 GS |
750 | $(CC) $(X2PCFLAGS) $(MMS$SOURCE) |
751 | ||
046cc26c | 752 | [.x2p]str$(O) : [.x2p]str.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h |
3a385817 GS |
753 | $(CC) $(X2PCFLAGS) $(MMS$SOURCE) |
754 | ||
046cc26c | 755 | [.x2p]util$(O) : [.x2p]util.c [.x2p]EXTERN.h [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h |
3a385817 GS |
756 | $(CC) $(X2PCFLAGS) $(MMS$SOURCE) |
757 | ||
046cc26c | 758 | [.x2p]walk$(O) : [.x2p]walk.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h |
3a385817 GS |
759 | $(CC) $(X2PCFLAGS) $(MMS$SOURCE) |
760 | ||
97abc6ad HM |
761 | # End of automatically generated make dependencies |
762 | .endif # !LINK_ONLY | |
763 | ||
764 | vmsish.h : [.vms]vmsish.h | |
1f74f634 | 765 | Copy/Log/NoConfirm [.vms]vmsish.h [] |
97abc6ad HM |
766 | |
767 | vms.c : [.vms]vms.c | |
768 | Copy/Log/Noconfirm [.vms]vms.c [] | |
769 | ||
770 | $(CRTL) : $(MAKEFILE) | |
046cc26c | 771 | @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)" |
97abc6ad | 772 | |
dfe814dc PP |
773 | ok : $(utils) |
774 | $(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)" | |
775 | ||
776 | okfile : $(utils) | |
777 | $(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)" "-F" perl.ok | |
778 | ||
779 | nok : $(utils) | |
780 | @ write sys$output " " | |
781 | @ write sys$output " Please type the command:" | |
782 | @ write sys$output " " | |
783 | @ write sys$output "$(MINIPERLQ) lib/perlbug.com -nok -s ""(UNINSTALLED)""" | |
784 | ||
785 | nokfile : $(utils) | |
786 | @ write sys$output " " | |
787 | @ write sys$output " Please type the command:" | |
788 | @ write sys$output " " | |
789 | @ write sys$output "$(MINIPERLQ) lib/perlbug.com -nok -s ""(UNINSTALLED)"" ""-F"" perl.nok" | |
790 | ||
97abc6ad HM |
791 | cleanlis : |
792 | - If F$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;* | |
793 | - If F$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;* | |
794 | - If F$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;* | |
795 | ||
59d8d783 | 796 | cleantest : |
31e425b5 | 797 | - If F$Search("[.t]Perl$(E)").nes."" Then Delete/NoConfirm/Log [.t]Perl$(E);* |
59d8d783 | 798 | - If F$Search("[.t]VMSPIPE.COM").nes."" Then Delete/NoConfirm/Log [.t]VMSPIPE.COM;* |
59d8d783 | 799 | |
97abc6ad HM |
800 | tidy : cleanlis |
801 | - If F$Search("[...]*.Opt;-1").nes."" Then Purge/NoConfirm/Log [...]*.Opt | |
802 | - If F$Search("[...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [...]*$(O) | |
803 | - If F$Search("[...]*$(E);-1").nes."" Then Purge/NoConfirm/Log [...]*$(E) | |
97386f52 CB |
804 | - If F$Search("config.h;-1").nes."" Then Purge/NoConfirm/Log config.h |
805 | - If F$Search("config.sh;-1").nes."" Then Purge/NoConfirm/Log config.sh | |
806 | - If F$Search("vmsish.h;-1").nes."" Then Purge/NoConfirm/Log vmsish.h | |
807 | - If F$Search("vms.c;-1") .nes."" Then Purge/NoConfirm/Log vms.c | |
808 | - If F$Search("perlmain.c;-1") .nes."" Then Purge/NoConfirm/Log perlmain.c | |
9444d213 | 809 | - If F$Search("uudmap.h;-1") .nes."" Then Purge/NoConfirm/Log uudmap.h |
efa50c51 | 810 | - If F$Search("bitcount.h;-1") .nes."" Then Purge/NoConfirm/Log bitcount.h |
6f83ef0e | 811 | - If F$Search("mg_data.h;-1") .nes."" Then Purge/NoConfirm/Log mg_data.h |
97abc6ad | 812 | - If F$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar |
9c8fb6b6 | 813 | - If F$Search("[.ext.Opcode...];-1").nes."" Then Purge/NoConfirm/Log [.ext.Opcode] |
97386f52 CB |
814 | - If F$Search("[.lib.auto...]*.al;-1").nes."" Then Purge/NoConfirm/Log [.lib.auto...]*.al |
815 | - If F$Search("[.lib.auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.lib.auto...]autosplit.ix | |
97386f52 | 816 | - If F$Search("[.lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.lib]Config.pm |
97abc6ad | 817 | - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm |
97386f52 | 818 | - If F$Search("[.lib]Config_heavy.pl;-1").nes."" Then Purge/NoConfirm/Log [.lib]Config_heavy.pl |
2d9d8159 | 819 | - If F$Search("$(ARCHDIR)Config_heavy.pl;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config_heavy.pl |
97386f52 | 820 | - If F$Search("[.lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.lib.VMS]*.* |
97abc6ad HM |
821 | - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.* |
822 | - If F$Search("[.lib]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib]*.com | |
823 | - If F$Search("[.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.pod]*.com | |
824 | - If F$Search("[.utils]*.com;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.com | |
825 | - If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com | |
5e4c4c91 | 826 | - If F$Search("[.lib]buildcustomize.pl;-1").nes."" Then Purge/NoConfirm/Log [.lib]buildcustomize.pl |
97abc6ad | 827 | |
6e2cec71 | 828 | clean : tidy cleantest |
c091f99a | 829 | - $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--all" "--target=clean" |
97abc6ad HM |
830 | - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt |
831 | - If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);* | |
97386f52 CB |
832 | - If F$Search("vmsish.h").nes."" Then Delete/NoConfirm/Log vmsish.h;* |
833 | - If F$Search("vms.c") .nes."" Then Delete/NoConfirm/Log vms.c;* | |
834 | - If F$Search("perlmain.c") .nes."" Then Delete/NoConfirm/Log perlmain.c;* | |
5c9818e9 | 835 | - If F$Search("perlmini.c") .nes."" Then Delete/NoConfirm/Log perlmini.c;* |
c3301a92 | 836 | - If F$Search("uudmap.h") .nes."" Then Delete/NoConfirm/Log uudmap.h;* |
efa50c51 | 837 | - If F$Search("bitcount.h") .nes."" Then Delete/NoConfirm/Log bitcount.h;* |
c73002c3 | 838 | - If F$Search("mg_data.h") .nes."" Then Delete/NoConfirm/Log mg_data.h;* |
97abc6ad HM |
839 | - If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;* |
840 | - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;* | |
97abc6ad | 841 | - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;* |
60f0ee9d | 842 | - If F$Search("[.pod]roffitall").nes."" Then Delete/NoConfirm/Log [.pod]roffitall;* |
600dcb9e | 843 | - If F$Search("$(PERLDELTA_CURRENT)").nes."" Then Delete/NoConfirm/Log $(PERLDELTA_CURRENT);* |
db34a22a | 844 | - If F$Search("[.pod]perlapi.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlapi.pod;* |
344af494 | 845 | - If F$Search("[.pod]perlintern.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlintern.pod;* |
6e2c8928 | 846 | - If F$Search("[.pod]perlmodlib.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlmodlib.pod;* |
7eb47696 | 847 | - If F$Search("[.pod]perltoc.pod").nes."" Then Delete/NoConfirm/Log [.pod]perltoc.pod;* |
524ce141 | 848 | - If F$Search("[.pod]perluniprops.pod").nes."" Then Delete/NoConfirm/Log [.pod]perluniprops.pod;* |
414b89cc | 849 | - @extra_pods CLEAN |
05b0cfd1 CB |
850 | - If F$Search("[.lib]Config_git.pl").nes."" Then Delete/NoConfirm/Log [.lib]Config_git.pl;* |
851 | - If F$Search("git_version.h").nes."" Then Delete/NoConfirm/Log git_version.h;* | |
97abc6ad | 852 | |
cc391245 | 853 | realclean : clean |
c091f99a | 854 | - $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--all" "--target=realclean" |
42e07562 | 855 | - $(MINIPERL) mkppport "--clean" |
97abc6ad HM |
856 | - If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);* |
857 | - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;* | |
97386f52 CB |
858 | - If F$Search("config.h").nes."" Then Delete/NoConfirm/Log config.h;* |
859 | - If F$Search("config.sh").nes."" Then Delete/NoConfirm/Log config.sh;* | |
52a043e6 | 860 | - $(MINIPERL) -e "use File::Path; rmtree(\@ARGV,1,0);" config |
d6521b56 | 861 | - If F$Search("[.lib.unicore...]*.pl").nes."" Then Delete/NoConfirm/Log [.lib.unicore...]*.pl;* |
23b62609 | 862 | - If F$Search("[.lib.unicore]Properties.").nes."" Then Delete/NoConfirm/Log [.lib.unicore]Properties.;* |
ca12659b | 863 | - $(MINIPERL) -e "use File::Path; rmtree(\@ARGV,1,0);" $(unidatadirs) |
cc391245 | 864 | - If F$Search("Descrip.MMS").nes."" Then Delete/NoConfirm/Log Descrip.MMS;* |
414b89cc | 865 | - If F$Search("extra_pods.Com").nes."" Then Delete/NoConfirm/Log extra_pods.Com;* |
96021e87 | 866 | - If F$Search("extra.pods").nes."" Then Delete/NoConfirm/Log extra.pods;* |
b2790d5e | 867 | - $(MINIPERL) -e "use File::Path; rmtree(['[.CXX_REPOSITORY]', 'lib/auto','lib/VMS','lib/$(ARCHNAME)'],1,0);" |
25ea24bb | 868 | - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;* |
97386f52 CB |
869 | - If F$Search("[.lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.lib]Config.pm;* |
870 | - If F$Search("[.lib]Config_heavy.pl").nes."" Then Delete/NoConfirm/Log [.lib]Config_heavy.pl;* | |
871 | - If F$Search("[.lib]*.com").nes."" Then Delete/NoConfirm/Log [.lib]*.com;* | |
781f5a38 | 872 | - If F$Search("[.lib...].exists").nes."" Then Delete/NoConfirm/Log [.lib...].exists;* |
52a043e6 | 873 | - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;* |
97abc6ad HM |
874 | - If F$Search("[.utils]*.com").nes."" Then Delete/NoConfirm/Log [.utils]*.com;* |
875 | - If F$Search("[.x2p]*.com").nes."" Then Delete/NoConfirm/Log [.x2p]*.com;* | |
876 | - If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;* | |
2d9d8159 | 877 | - If F$Search("$(ARCHDIR)Config_heavy.pl").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config_heavy.pl;* |
4403bf93 | 878 | - If F$Search("[.utils]perldoc.com").nes."" Then Delete/NoConfirm/Log [.utils]perldoc.com;* |
cdf8b154 | 879 | - If F$Search("[.utils]perlivp.com").nes."" Then Delete/NoConfirm/Log [.utils]perlivp.com;* |
97abc6ad | 880 | - If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);* |
b2790d5e | 881 | - If F$Search("Perl_Setup.Com").nes."" Then Delete/NoConfirm/Log Perl_Setup.Com;* |
dfe814dc | 882 | - If F$Search("[.t]rantests.").nes."" Then Delete/NoConfirm/Log [.t]rantests.;* |
0279961e | 883 | - If F$Search("[.t]test_state.").nes."" Then Delete/NoConfirm/Log [.t]test_state.;* |
d6521b56 | 884 | - If F$Search("vmspipe.com").nes."" Then Delete/NoConfirm/Log vmspipe.com;* |
ac2c13e8 | 885 | - If F$Search("[.lib]buildcustomize.pl").nes."" Then Delete/NoConfirm/Log [.lib]buildcustomize.pl;* |
b2790d5e | 886 | - If F$Search("[.lib]config.pod").nes."" Then Delete/NoConfirm/Log [.lib]config.pod;* |
97abc6ad HM |
887 | |
888 | cleansrc : clean | |
97386f52 CB |
889 | - If F$Search("*.c;-1").nes."" Then Purge/NoConfirm/Log *.c |
890 | - If F$Search("*.h;-1").nes."" Then Purge/NoConfirm/Log *.h | |
891 | - If F$Search("*.vms;-1").nes."" Then Purge/NoConfirm/Log *.vms | |
892 | - If F$Search("[.vms]$(MAKEFILE);-1").nes."" Then Purge/NoConfirm/Log [.vms]$(MAKEFILE) | |
893 | - If F$Search("[.vms]*.c;-1").nes."" Then Purge/NoConfirm/Log [.vms]*.c | |
894 | - If F$Search("[.vms]*.h;-1").nes."" Then Purge/NoConfirm/Log [.vms]*.h | |
895 | - If F$Search("[.vms]*.pl;-1").nes."" Then Purge/NoConfirm/Log [.vms]*.pl | |
896 | - If F$Search("[.vms]*.vms;-1").nes."" Then Purge/NoConfirm/Log [.vms]*.vms | |
897 | - If F$Search("[.vms...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.vms...]*.pm | |
898 | - If F$Search("[.vms...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.vms...]*.xs | |
12bc563b | 899 | !GROK!THIS! |