home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / vms / descrip_mms.template next >
Text File  |  2000-03-07  |  64KB  |  1,265 lines

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