1 # Descrip.MMS for perl5 on VMS
2 # Last revised 4-Dec-1995 by Charles Bailey bailey@genetics.upenn.edu
4 #: This file uses MMS syntax, and can be processed using DEC's MMS product,
5 #: or the free MMK clone (available by ftp at ftp.spc.edu). If you want to
6 #: a Unix-style MAKE tool, run this file through mms2make.pl, which should
7 #: be found in the same directory as this file. (There should be a pre-made
8 #: copy of Makefile for VAXC in this directory to allow you to build perl.)
10 #: Lines beginning with "#:" will be removed by mms2make.pl when converting
11 #: this file to MAKE syntax.
14 #: Building with VAX C, on system without DEC C installed or with VAX C default:
16 #: Building with VAX C, on system with DEC C installed as default C compiler:
17 #: $ MMS /MACRO=("cc=CC/VAXC")
18 #: Building with DEC C, on system without VAX C installed or with DEC C default:
19 #: $ MMS /MACRO=("decc=1")
20 #: Building with DEC C, on system with VAX C installed as default C compiler:
21 #: $ MMS /MACRO=("decc=1","cc=CC/DECC")
22 #: Building with GNU C, on system with GCC command installed in DCLTABLES:
23 #: $ MMS /MACRO=("gnuc=1")
24 #: Building with GNU C, on system without GCC command installed in DCLTABLES:
25 #: $ MMS /MACRO=("gnuc=1") gcc_cld_setup,all
26 #: note: `gcc_cld_setup' target must explicitly precede `all' or `[mini]perl'
28 #: To each of the above, add /Macro="__AXP__=1" if building on an AXP,
29 #: /Macro="__DEBUG__=1" to build a debug version
30 #: (i.e. VMS debugger, not perl -D), and
31 #: /Macro="SOCKET=1" to include socket support.
33 # tidy -- purge files generated by executing this file
34 # clean -- remove all files generated by executing this file
35 # cleansrc -- `clean' + purge *.c,*.h,descrip.mms
36 # gcc_cld_setup -- GCC initialization; see above
37 # crtl.opt -- compiler-specific linker options file (made automatically)
40 #### Start of system configuration section. ####
43 #: >>>>> Architecture-specific options <<<<<
45 # File type to use for object files
47 # File type to use for object libraries
49 # File type to use for executable images
52 # File type to use for object files
54 # File type to use for object libraries
56 # File type to use for executable images
66 ARCHDIR = [.lib.$(ARCH)]
67 ARCHCORE = [.lib.$(ARCH).CORE]
68 ARCHAUTO = [.lib.$(ARCH).auto]
71 #: >>>>>Compiler-specific options <<<<<
74 @ If F$TrnLnm("Sys").eqs."" Then Define/NoLog SYS GNU_CC_Include:[VMS]
76 # -fno-builtin avoids bug in gcc up to version 2.6.2 which can destroy
77 # data when memcpy() is called on large (>64 kB) blocks of memory
78 # (fixed in gcc 2.6.3)
79 XTRACCFLAGS = /Obj=$(MMS$TARGET_NAME)$(O)/NoCase_Hack/Optimize=2/CC1="""""-fno-builtin"""""
81 XTRADEF = ,GNUC_ATTRIBUTE_CHECK
83 LIBS1 = GNU_CC:[000000]GCCLIB.OLB/Library
84 LIBS2 = VAXCRTL/Shareable
88 DBGSPECFLAGS = /Show=(Source,Include,Expansion)
90 # Some versions of DECCRTL on AXP have a bug in chdir() which causes the change
91 # to persist after the image exits, even when this was not requested, iff
92 # SYSNAM is enabled. This is fixed in CSC Patch # AXPACRT04_061, but turning
93 # off SYSNAM for the MM[SK] subprocess doesn't hurt anything, so we do it
96 @ Set Process/Privilege=(NoSYSNAM)
98 XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(MMS$TARGET_NAME)$(O)
102 @ If F$TrnLnm("Sys").eqs."" Then Define/NoLog SYS Sys$Library
103 XTRACCFLAGS = /Include=[]/Object=$(O)
105 LIBS2 = VAXCRTL/Shareable
110 #: >>>>> Configuration options <<<<<
111 #: __DEBUG__: builds images with full VMS debugger support
113 DBGCCFLAGS = /List/Debug/NoOpt$(DBGSPECFLAGS)
114 DBGLINKFLAGS = /Trace/Debug/Map/Full/Cross
118 DBGLINKFLAGS = /NoMap
122 #: SOCKET: build in support for TCP/IP sockets
123 #: By default, used SOCKETSHR library; see ReadMe.VMS
124 #: for information on changing socket support
126 SOCKDEF = ,VMS_DO_SOCKETS
127 SOCKLIB = SocketShr/Share
128 # N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
129 # copies live in [.vms], and the `clean' target will delete copies of
130 # these files in the current default directory.
135 SOCKOBJ = ,sockadapt$(O)
136 SOCKPM = [.lib]Socket.pm
148 # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
149 CFLAGS = /Define=(DEBUGGING$(SOCKDEF)$(XTRADEF))$(XTRACCFLAGS)$(DBGCCFLAGS)
150 LINKFLAGS = $(DBGLINKFLAGS)
153 MAKEFILE = [.VMS]Descrip.MMS # this file
156 # Macros to invoke a copy of miniperl during the build. Targets which
157 # are built using these macros should depend on $(MINIPERL_EXE)
158 MINIPERL_EXE = Sys$Disk:[]miniperl$(E)
159 MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
160 XSUBPP = $(MINIPERL) [.lib.extutils]xsubpp
161 # Macro to invoke a preexisting copy of Perl. This is used to regenerate
162 # some header files when rebuilding Perl, but premade versions are provided
163 # in the distribution, so it's OK if this doesn't work; it's here to make
164 # life easier for those who modify Perl and rebuild it.
167 # Space-separated list of "static" extensions to build into perlshr (case counts).
169 # object files for these extensions; the trailing comma is required if
170 # there are any object files specified
171 # These must be built separately, or you must add rules below to build them
172 myextobj = [.ext.dynaloader]dl_vms$(O),
173 #: We include the Socket extension by default if we're building with socket
174 #: support, since it's small and not really worth bothering to keep track
177 EXT = $(MYEXT) Socket
178 extobj = $(myextobj) [.ext.socket]socket$(O),
185 #### End of system configuration section. ####
188 h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, config.h, cop.h, cv.h
189 h2 = embed.h, form.h, gv.h, handy.h, hv.h, keywords.h, mg.h, op.h
190 h3 = opcode.h, patchlevel.h, perl.h, perly.h, pp.h, proto.h, regcomp.h
191 h4 = regexp.h, scope.h, sv.h, vmsish.h, util.h
192 h = $(h1), $(h2), $(h3), $(h4) $(SOCKHLIS)
194 c1 = av.c, scope.c, op.c, doop.c, doio.c, dump.c, hv.c, mg.c
195 c2 = perl.c, perly.c, pp.c, pp_hot.c, pp_ctl.c, pp_sys.c, regcomp.c, regexec.c
196 c3 = gv.c, sv.c, taint.c, toke.c, util.c, deb.c, run.c, globals.c, vms.c $(SOCKCLIS)
198 c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c
200 obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), util$(O), mg$(O)
201 obj2 = hv$(O), av$(O), run$(O), pp_hot$(O), sv$(O), pp$(O), scope$(O), pp_ctl$(O), pp_sys$(O)
202 obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), globals$(O), vms$(O) $(SOCKOBJ)
204 obj = $(obj1), $(obj2), $(obj3)
206 ac1 = $(ARCHCORE)EXTERN.h $(ARCHCORE)INTERN.h $(ARCHCORE)XSUB.h $(ARCHCORE)av.h
207 ac2 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
208 ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
209 ac4 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)op.h $(ARCHCORE)opcode.h
210 ac5 = $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h $(ARCHCORE)perly.h
211 ac6 = $(ARCHCORE)pp.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
212 ac7 = $(ARCHCORE)regexp.h $(ARCHCORE)scope.h $(ARCHCORE)sv.h $(ARCHCORE)util.h
213 ac8 = $(ARCHCORE)vmsish.h $(ARCHCORE)$(DBG)libperl$(OLB) $(ARCHCORE)perlshr_attr.opt
214 ac9 = $(ARCHCORE)$(DBG)perlshr_bld.opt
216 acs = $(ARCHCORE)$(SOCKH)
222 CRTLOPTS =,$(CRTL)/Options
225 .SUFFIXES $(O) .c .xs
228 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
232 $(CC) $(CFLAGS) $(MMS$SOURCE)
235 $(XSUBPP) $(MMS$SOURCE) >$(MMS$SOURCE_NAME).c
236 $(CC) $(CFLAGS) $(MMS$SOURCE_NAME).c
238 all : base extras archcorefiles preplibrary
240 base : miniperl$(E) perl$(E)
242 extras : [.lib]Config.pm [.lib.$(ARCH)]Config.pm [.lib]DynaLoader.pm [.lib.VMS]Filespec.pm [.lib.extutils]MM_VMS.pm
244 archcorefiles : $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(acs) $(ARCHAUTO)time.stamp
247 miniperl_objs = miniperlmain$(O), $(obj)
248 $(MINIPERL_EXE) : miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
249 Link $(LINKFLAGS)/NoDebug/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
250 miniperl$(E) : $(miniperl_objs), $(DBG)libperl$(OLB) $(CRTL)
251 Link $(LINKFLAGS)/Exe=$(DBG)$(MMS$TARGET) miniperlmain$(O),$(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
253 $(DBG)libperl$(OLB) : $(obj)
254 @ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
255 Library/Object/Replace $(MMS$TARGET) $(obj1)
256 Library/Object/Replace $(MMS$TARGET) $(obj2)
257 Library/Object/Replace $(MMS$TARGET) $(obj3)
259 perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
260 $(MINIPERL) [.VMS]Writemain.pl "$(EXT)"
262 perl$(E) : perlmain$(O), perlshr$(E), $(MINIPERL_EXE)
263 @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
264 Link $(LINKFLAGS)/Exe=$(DBG)$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option
265 perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
266 Link /NoTrace$(LINKFLAGS)/Share=$(DBG)$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
267 # The following files are built in one go by gen_shrfls.pl:
268 # perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP
269 # perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only
270 .ifdef DECC_PIPES_BROKEN
271 # This is a backup target used only with older versions of the DECCRTL which
272 # can't deal with pipes properly. See ReadMe.VMS for details.
273 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
274 $(CC) $(CFLAGS)/NoObject/NoList/PreProcess=perl.i perl.h
275 $(MINIPERL) [.vms]gen_shrfls.pl "~~NOCC~~perl.i" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)"
276 @ Delete/NoLog/NoConfirm perl.i;
277 @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
278 @ Copy NLA0: $(DBG)perlshr_xtras.ts
280 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
281 $(MINIPERL) [.vms]gen_shrfls.pl "$(CC)$(CFLAGS)" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)"
282 @ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
283 @ Copy NLA0: $(DBG)perlshr_xtras.ts
286 [.lib.$(ARCH)]config.pm : [.lib]config.pm
287 Create/Directory [.lib.$(ARCH)]
288 Copy $(MMS$SOURCE) $(MMS$TARGET)
290 [.lib]config.pm : [.vms]config.vms [.vms]genconfig.pl $(MINIPERL_EXE)
291 $(MINIPERL) [.VMS]GenConfig.Pl cc=$(CC)$(CFLAGS) ldflags=$(LINKFLAGS) obj_ext=$(O) exe_ext=$(E) lib_ext=$(OLB)
292 $(MINIPERL) ConfigPM.
294 [.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs $(MINIPERL_EXE)
295 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
297 [.ext.dynaloader]dl_vms$(O) : [.ext.dynaloader]dl_vms.c
298 $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$SOURCE)
300 [.lib]DynaLoader.pm : [.ext.dynaloader]dynaloader.pm
301 Copy/Log/NoConfirm [.ext.dynaloader]dynaloader.pm [.lib]DynaLoader.pm
303 [.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
304 @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
305 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
307 [.lib.ExtUtils]MM_VMS.pm : [.vms.ext]MM_VMS.pm
308 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
310 preplibrary : $(MINIPERL_EXE) [.lib]DynaLoader.pm [.lib.VMS]Filespec.pm [.lib.ExtUtils]MM_VMS.pm $(SOCKPM)
311 @ Write Sys$Output "Autosplitting Perl library . . ."
312 @ Create/Directory [.lib.auto]
313 @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm
316 $(SOCKOBJ) : $(SOCKC) $(SOCKH)
320 $(SOCKC) : [.vms]$(SOCKC)
321 Copy/Log/NoConfirm [.vms]$(SOCKC) []$(SOCKC)
323 $(SOCKH) : [.vms]$(SOCKH)
324 Copy/Log/NoConfirm [.vms]$(SOCKH) []$(SOCKH)
326 [.ext.Socket]Socket.c : [.ext.Socket]Socket.xs $(MINIPERL_EXE)
327 $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
329 [.ext.Socket]Socket$(O) : [.ext.Socket]Socket.c
330 $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$SOURCE)
332 [.lib]Socket.pm : [.ext.Socket]Socket.pm
333 Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
336 # The following three header files are generated automatically
337 # keywords.h : keywords.pl
338 # opcode.h : opcode.pl
339 # embed.h : embed.pl global.sym interp.sym
340 # The correct versions should be already supplied with the perl kit,
341 # in case you don't have perl available.
342 # To force them to run, type
345 $(INSTPERL) keywords.pl
346 $(INSTPERL) opcode.pl
349 # VMS uses modified perly.[ch] with tags for globaldefs if using DEC compiler
350 perly.c : [.vms]perly_c.vms
351 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
352 perly.h : [.vms]perly_h.vms
353 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
355 # I now supply perly.c with the kits, so the following section is
356 # commented out if you don't have byacc.
357 # Altered for VMS by Charles Bailey bailey@genetics.upenn.edu
359 # @ Write Sys$Output "Expect 80 shift/reduce and 62 reduce/reduce conflicts"
360 # \$(BYACC) -d perly.y
361 # Has to be done by hand or by POSIX shell under VMS
362 # sh \$(shellflags) ./perly.fixer y.tab.c perly.c
363 # rename y.tab.h perly.h
364 # $(INSTPERL) [.vms]vms_yfix.pl perly.c perly.h [.vms]perly_c.vms [.vms]perly_h.vms
366 perly$(O) : perly.c, perly.h, $(h)
367 $(CC) $(CFLAGS) $(MMS$SOURCE)
372 # CORE subset for MakeMaker, so we can build Perl without sources
373 # Should move to VMS installperl when we get one
374 $(ARCHCORE)EXTERN.h : EXTERN.h
375 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
376 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
377 $(ARCHCORE)INTERN.h : INTERN.h
378 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
379 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
380 $(ARCHCORE)XSUB.h : XSUB.h
381 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
382 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
383 $(ARCHCORE)av.h : av.h
384 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
385 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
386 $(ARCHCORE)config.h : config.h
387 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
388 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
389 $(ARCHCORE)cop.h : cop.h
390 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
391 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
392 $(ARCHCORE)cv.h : cv.h
393 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
394 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
395 $(ARCHCORE)embed.h : embed.h
396 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
397 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
398 $(ARCHCORE)form.h : form.h
399 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
400 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
401 $(ARCHCORE)gv.h : gv.h
402 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
403 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
404 $(ARCHCORE)handy.h : handy.h
405 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
406 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
407 $(ARCHCORE)hv.h : hv.h
408 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
409 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
410 $(ARCHCORE)keywords.h : keywords.h
411 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
412 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
413 $(ARCHCORE)mg.h : mg.h
414 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
415 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
416 $(ARCHCORE)op.h : op.h
417 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
418 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
419 $(ARCHCORE)opcode.h : opcode.h
420 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
421 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
422 $(ARCHCORE)patchlevel.h : patchlevel.h
423 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
424 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
425 $(ARCHCORE)perl.h : perl.h
426 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
427 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
428 $(ARCHCORE)perly.h : perly.h
429 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
430 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
431 $(ARCHCORE)pp.h : pp.h
432 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
433 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
434 $(ARCHCORE)proto.h : proto.h
435 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
436 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
437 $(ARCHCORE)regcomp.h : regcomp.h
438 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
439 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
440 $(ARCHCORE)regexp.h : regexp.h
441 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
442 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
443 $(ARCHCORE)scope.h : scope.h
444 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
445 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
446 $(ARCHCORE)sv.h : sv.h
447 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
448 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
449 $(ARCHCORE)util.h : util.h
450 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
451 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
452 $(ARCHCORE)vmsish.h : vmsish.h
453 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
454 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
456 $(ARCHCORE)$(SOCKH) : $(SOCKH)
457 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
458 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
460 $(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts
461 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
462 Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
463 $(ARCHCORE)perlshr_attr.opt : $(DBG)perlshr_xtras.ts
464 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
465 Copy/Log perlshr_attr.opt $(MMS$TARGET)
466 $(ARCHCORE)$(DBG)perlshr_bld.opt : $(DBG)perlshr_xtras.ts
467 @ If F$Search("[.lib.$(ARCH)]CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
468 Copy/Log $(DBG)perlshr_bld.opt $(MMS$TARGET)
469 $(ARCHAUTO)time.stamp :
470 @ If F$Search("[.lib.$(ARCH)]auto.dir").eqs."" Then Create/Directory $(ARCHAUTO)
471 @ If F$Search("$(MMS$TARGET)").eqs."" Then Copy/NoConfirm _NLA0: $(MMS$TARGET)
473 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
727 pp_ctl$(O) : EXTERN.h
729 pp_ctl$(O) : config.h
739 pp_ctl$(O) : opcode.h
742 pp_ctl$(O) : pp_ctl.c
745 pp_ctl$(O) : regexp.h
748 pp_ctl$(O) : vmsish.h
750 pp_hot$(O) : EXTERN.h
752 pp_hot$(O) : config.h
762 pp_hot$(O) : opcode.h
765 pp_hot$(O) : pp_hot.c
768 pp_hot$(O) : regexp.h
771 pp_hot$(O) : vmsish.h
773 pp_sys$(O) : EXTERN.h
775 pp_sys$(O) : config.h
785 pp_sys$(O) : opcode.h
788 pp_sys$(O) : pp_sys.c
791 pp_sys$(O) : regexp.h
794 pp_sys$(O) : vmsish.h
796 regcomp$(O) : EXTERN.h
797 regcomp$(O) : INTERN.h
799 regcomp$(O) : config.h
802 regcomp$(O) : embed.h
805 regcomp$(O) : handy.h
809 regcomp$(O) : opcode.h
811 regcomp$(O) : perly.h
813 regcomp$(O) : proto.h
814 regcomp$(O) : regcomp.c
815 regcomp$(O) : regcomp.h
816 regcomp$(O) : regexp.h
817 regcomp$(O) : scope.h
819 regcomp$(O) : vmsish.h
821 regexec$(O) : EXTERN.h
823 regexec$(O) : config.h
826 regexec$(O) : embed.h
829 regexec$(O) : handy.h
833 regexec$(O) : opcode.h
835 regexec$(O) : perly.h
837 regexec$(O) : proto.h
838 regexec$(O) : regcomp.h
839 regexec$(O) : regexec.c
840 regexec$(O) : regexp.h
841 regexec$(O) : scope.h
843 regexec$(O) : vmsish.h
924 toke$(O) : keywords.h
1030 miniperlmain$(O) : EXTERN.h
1031 miniperlmain$(O) : av.h
1032 miniperlmain$(O) : config.h
1033 miniperlmain$(O) : cop.h
1034 miniperlmain$(O) : cv.h
1035 miniperlmain$(O) : embed.h
1036 miniperlmain$(O) : form.h
1037 miniperlmain$(O) : gv.h
1038 miniperlmain$(O) : handy.h
1039 miniperlmain$(O) : hv.h
1040 miniperlmain$(O) : mg.h
1041 miniperlmain$(O) : miniperlmain.c
1042 miniperlmain$(O) : op.h
1043 miniperlmain$(O) : opcode.h
1044 miniperlmain$(O) : perl.h
1045 miniperlmain$(O) : perly.h
1046 miniperlmain$(O) : pp.h
1047 miniperlmain$(O) : proto.h
1048 miniperlmain$(O) : regexp.h
1049 miniperlmain$(O) : scope.h
1050 miniperlmain$(O) : sv.h
1051 miniperlmain$(O) : vmsish.h
1052 miniperlmain$(O) : util.h
1053 perlmain$(O) : EXTERN.h
1055 perlmain$(O) : config.h
1056 perlmain$(O) : cop.h
1058 perlmain$(O) : embed.h
1059 perlmain$(O) : form.h
1061 perlmain$(O) : handy.h
1065 perlmain$(O) : opcode.h
1066 perlmain$(O) : perl.h
1067 perlmain$(O) : perly.h
1068 perlmain$(O) : perlmain.c
1070 perlmain$(O) : proto.h
1071 perlmain$(O) : regexp.h
1072 perlmain$(O) : scope.h
1074 perlmain$(O) : vmsish.h
1075 perlmain$(O) : util.h
1076 globals$(O) : INTERN.h
1078 globals$(O) : config.h
1081 globals$(O) : embed.h
1082 globals$(O) : form.h
1084 globals$(O) : handy.h
1088 globals$(O) : opcode.h
1089 globals$(O) : perl.h
1090 globals$(O) : perly.h
1091 globals$(O) : globals.c
1093 globals$(O) : proto.h
1094 globals$(O) : regexp.h
1095 globals$(O) : scope.h
1097 globals$(O) : vmsish.h
1098 globals$(O) : util.h
1100 config.h : [.vms]config.vms
1101 Copy/Log/NoConfirm [.vms]config.vms []config.h
1103 vmsish.h : [.vms]vmsish.h
1104 Copy/Log/NoConfirm [.vms]vmsish.h []vmsish.h
1107 Copy/Log/Noconfirm [.vms]vms.c []
1109 $(CRTL) : $(MAKEFILE)
1110 @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(LIBS2)|$(SOCKLIB)"
1114 - If F$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;*
1115 - If F$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;*
1116 - If F$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;*
1119 - If F$Search("*.Opt;-1").nes."" Then Purge/NoConfirm/Log *.Opt
1120 - If F$Search("*$(O);-1").nes."" Then Purge/NoConfirm/Log *$(O)
1121 - If F$Search("*$(E);-1").nes."" Then Purge/NoConfirm/Log *$(E)
1122 - If F$Search("Config.H;-1").nes."" Then Purge/NoConfirm/Log Config.H
1123 - If F$Search("Config.SH;-1").nes."" Then Purge/NoConfirm/Log Config.SH
1124 - If F$Search("perly.c;-1").nes."" Then Purge/NoConfirm/Log perly.c
1125 - If F$Search("perly.h;-1").nes."" Then Purge/NoConfirm/Log perly.h
1126 - If F$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H
1127 - If F$Search("VMS.C;-1") .nes."" Then Purge/NoConfirm/Log VMS.C
1128 - If F$Search("Perlmain.C;-1") .nes."" Then Purge/NoConfirm/Log Perlmain.C
1129 - If F$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
1130 - If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
1131 - If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
1132 - If F$Search("[.VMS.Ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*.C
1133 - If F$Search("[.VMS.Ext...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*$(O)
1134 - If F$Search("[.Lib.Auto...]*.al;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]*.al
1135 - If F$Search("[.Lib.Auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]autosplit.ix
1136 - If F$Search("[.Lib]DynaLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]DynaLoader.pm
1137 - If F$Search("[.Lib]Socket.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Socket.pm
1138 - If F$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm
1139 - If F$Search("[.Lib.$(ARCH)]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib.$(ARCH)]Config.pm
1140 - If F$Search("[.Lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.Lib.VMS]*.*
1141 - If F$Search("[.Lib.ExtUtils]MM_VMS.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib.ExtUtils]MM_VMS.pm
1142 - If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
1145 - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
1146 - If F$Search("*$(O);*") .nes."" Then Delete/NoConfirm/Log *$(O);*
1147 - If F$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
1148 - If F$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
1149 - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
1150 - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
1151 - If F$Search("perly.c").nes."" Then Delete/NoConfirm/Log perly.c;*
1152 - If F$Search("perly.h").nes."" Then Delete/NoConfirm/Log perly.h;*
1153 - If F$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;*
1154 - If F$Search("VMS.C") .nes."" Then Delete/NoConfirm/Log VMS.C;*
1155 - If F$Search("Perlmain.C") .nes."" Then Delete/NoConfirm/Log Perlmain.C;*
1156 - If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
1157 - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
1158 - If F$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);*
1159 - If F$Search("[.Ext.DynaLoader]DL_VMS.C").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C;*
1160 - If F$Search("[.Ext.Socket]Socket$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket$(O);*
1161 - If F$Search("[.Ext.Socket]Socket.C").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket.C;*
1162 - If F$Search("[.VMS.Ext...]*.C").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*.C;*
1163 - If F$Search("[.VMS.Ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*$(O);*
1166 - If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
1167 - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
1168 - $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
1169 - If F$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
1170 - If F$Search("[.Lib.ExtUtils]MM_VMS.pm").nes."" Then Delete/NoConfirm/Log [.Lib.ExtUtils]MM_VMS.pm;*
1171 - If F$Search("*$(E)").nes."" Then Delete/NoConfirm/Log *$(E);*
1172 - If F$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
1173 - If F$Search("[.Lib.$(ARCH)]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib.$(ARCH)]Config.pm;*
1176 - If F$Search("*.C;-1").nes."" Then Purge/NoConfirm/Log *.C
1177 - If F$Search("*.H;-1").nes."" Then Purge/NoConfirm/Log *.H
1178 - If F$Search("*.VMS;-1").nes."" Then Purge/NoConfirm/Log *.VMS
1179 - If F$Search("[.VMS]$(MAKEFILE);-1").nes."" Then Purge/NoConfirm/Log [.VMS]$(MAKEFILE)
1180 - If F$Search("[.VMS]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.C
1181 - If F$Search("[.VMS]*.H;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.H
1182 - If F$Search("[.VMS]*.Pl;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.Pl
1183 - If F$Search("[.VMS]*.VMS;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.VMS
1184 - If F$Search("[.VMS...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.pm
1185 - If F$Search("[.VMS...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.xs