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