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