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