This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
stat.t portability, the LAST VMS exception!
[perl5.git] / vms / descrip_mms.template
index d8b49c7..3441fa0 100644 (file)
@@ -1,13 +1,11 @@
 !GROK!THIS!
 # Descrip.MMS for perl5 on VMS
-# Last revised 8-Nov-1999 by Craig Berry craig.berry@metamor.com
-# Revised 18-Oct-1998 by Charles Bailey  bailey@newman.upenn.edu
+# Last revised 01-Mar-2000 by Charles Bailey  bailey@newman.upenn.edu
 #
 #: This file uses MMS syntax, and can be processed using DEC's MMS product,
 #: or the free MMK clone (available by ftp at ftp.spc.edu).  If you want to
 #: a Unix-style MAKE tool, run this file through mms2make.pl, which should
-#: be found in the same directory as this file.  (There should be a pre-made
-#: copy of Makefile for VAXC in this directory to allow you to build perl.)
+#: be found in the same directory as this file.
 #:
 #: Lines beginning with "#:" will be removed by mms2make.pl when converting
 #: this file to MAKE syntax.
@@ -24,6 +22,7 @@
 #### Start of system configuration section. ####
 
 ~DECC~
+~DECCXX~
 ~GNUC~
 ~ARCH-TYPE~ = 1
 ~THREAD~
@@ -31,6 +30,7 @@
 ~MALLOC~
 ~CC~
 ~MT~
+~FLAGS~
 
 #: >>>>> Architecture-specific options <<<<<
 .ifdef AXE
@@ -118,34 +118,27 @@ POSIX =
 XTRAOBJS = 
 LIBS1 = $(XTRAOBJS)
 DBGSPECFLAGS = /Show=All
-.ifdef decc
 # Some versions of DECCRTL on AXP have a bug in chdir() which causes the change
 # to persist after the image exits, even when this was not requested, iff
 # SYSNAM is enabled.  This is fixed in CSC Patch # AXPACRT04_061, but turning
 # off SYSNAM for the MM[SK] subprocess doesn't hurt anything, so we do it
 # just in case.
 .first
-       @ Set Process/Privilege=(NoSYSNAM)
        @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").nes."" Then Define/NoLog SYS DECC$System_Include
 .ifdef __AXP__
+       @ Set Process/Privilege=(NoSYSNAM)
        @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS Sys$Library
 .else
        @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then Define/NoLog SYS DECC$Library_Include
 .endif
 
+.ifdef DECCXX
+XTRACCFLAGS = /Include=[]/Standard=ANSI/Prefix=All/Obj=$(OBJVAL)
+.else
 XTRACCFLAGS = /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=$(OBJVAL)
+.endif
 XTRADEF =
 POSIX = POSIX
-.else # VAXC
-.first
-       @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("VAXC$Include").eqs."" Then Define/NoLog SYS Sys$Library
-       @ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("VAXC$Include").nes."" Then Define/NoLog SYS VAXC$Include
-
-XTRACCFLAGS = /Include=[]/Object=$(O)
-XTRADEF =
-LIBS2 = Sys$Share:VAXCRTL/Shareable
-POSIX =
-.endif
 .endif
 
 
@@ -178,7 +171,7 @@ SOCKLIB = SocketShr/Share
 SOCKC = sockadapt.c
 SOCKH = sockadapt.h
 SOCKARCH = $(ARCHCORE)$(SOCKH)
-SOCKOBJ = sockadapt$(O)
+SOCKO = sockadapt$(O)
 SOCKPM = [.lib]Socket.pm
 .else
 SOCKDEF =
@@ -186,7 +179,7 @@ SOCKLIB =
 SOCKC =
 SOCKH =
 SOCKARCH =
-SOCKOBJ =
+SOCKO =
 SOCKPM =
 .endif
 
@@ -215,7 +208,7 @@ acth =
 .endif
 
 # C preprocessor manifest "DEBUGGING" ==> perl -D, not the VMS debugger
-CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)
+CFLAGS = $(XTRACCFLAGS)$(DBGCCFLAGS)$(FLAGS)
 # Flags for a core compile
 X2PCFLAGS = $(CFLAGS)/Define=PERL_FOR_X2P
 # Flags for an x2p compile
@@ -230,6 +223,7 @@ NOOP = continue
 # are built using these macros should depend on $(MINIPERL_EXE)
 MINIPERL_EXE = Sys$Disk:[]miniperl$(E)
 MINIPERL = MCR $(MINIPERL_EXE) "-I[.lib]"
+MINIPERLQ = MCR $(MINIPERL_EXE) ""-I[.lib]""
 XSUBPP = $(MINIPERL) "-I[.ext.re]" [.lib.extutils]xsubpp -noprototypes
 # Macro to invoke a preexisting copy of Perl.  This is used to regenerate
 # some header files when rebuilding Perl, but premade versions are provided
@@ -237,26 +231,14 @@ XSUBPP = $(MINIPERL) "-I[.ext.re]" [.lib.extutils]xsubpp -noprototypes
 # life easier for those who modify Perl and rebuild it.
 INSTPERL = perl
 
-# Space-separated list of "dynamic" extensions which should be built for
-# run-time dynamic loading.
-dynamic_ext = $extensions
-
 # Space-separated list of "static" extensions to build into perlshr (case counts).
 MYEXT = DynaLoader
 # object files for these extensions; the trailing comma is required if
 # there are any object files specified
 # These must be built separately, or you must add rules below to build them
 myextobj = [.ext.dynaloader]dl_vms$(O),
-#: We include the Socket extension by default if we're building with socket
-#: support, since it's small and not really worth bothering to keep track
-#: of separately.
-.ifdef SOCKET
-EXT = $(MYEXT) Socket
-extobj = $(myextobj) [.ext.socket]socket$(O), 
-.else
 EXT = $(MYEXT)
 extobj = $(myextobj)
-.endif
 
 .ifdef LIBS2
 .else
@@ -277,46 +259,49 @@ FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
 
 #### End of system configuration section. ####
 
-c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c
-c1 = hv.c mg.c miniperlmain.c op.c perl.c perlio.c perly.c pp.c pp_ctl.c
-c2 = pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c sockadapt.c sv.c
-c3 = taint.c toke.c universal.c utf8.c util.c vms.c
+c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c
+c1 = mg.c locale.c miniperlmain.c numeric.c op.c perl.c perlapi.c perlio.c
+c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c
+c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c xsutils.c
 c = $(c0) $(c1) $(c2) $(c3)
 
-obj0 = $(MALLOC_O) $(SOCKOBJ) av$(O) deb$(O) doio$(O) doop$(O) dump$(O)
-obj1 = globals$(O) gv$(O) hv$(O) mg$(O) miniperlmain$(O) op$(O) perl$(O)
-obj2 = perlio$(O) perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) pp_sys$(O) 
-obj3 = regcomp$(O) regexec$(O) run$(O) scope$(O) sockadapt$(O) sv$(O)
-obj4 = taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O) xsutils$(O)
+obj0 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O)
+obj1 = globals$(O) gv$(O) hv$(O) locale$(O) mg$(O) miniperlmain$(O) numeric$(O)
+obj2 = op$(O) perl$(O) perlapi$(O) perlio$(O) perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O)
+obj3 = pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O) regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O)
+obj4 = universal$(O) utf8$(O) util$(O) vms$(O) xsutils$(O)
 obj = $(obj0) $(obj1) $(obj2) $(obj3) $(obj4)
 
-h0 = $(SOCKH) $(THREADH) av.h cc_runtime.h config.h cop.h cv.h embed.h
-h1 = embedvar.h extern.h form.h gv.h handy.h hv.h intern.h intrpvar.h
-h2 = iperlsys.h mg.h nostdio.h objxsub.h op.h opcode.h opnames.h
-h3 = patchlevel.h perl.h perlio.h perlsdio.h perlvars.h perly.h pp.h
-h4 = pp_proto.h proto.h regexp.h scope.h sv.h thrdvar.h thread.h utf8.h
-h5 = util.h vmsish.h warnings.h xsub.h
-h6 = regcomp.h regcomp.h
-h7 = keywords.h
-h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5)
-allh = $(h) $(h6) $(h7)
-
-ac0 = $(SOCKARCH) $(ARCHCORE)av.h $(ARCHCORE)cc_runtime.h
+h0 = av.h cc_runtime.h config.h cop.h cv.h embed.h embedvar.h
+h1 = extern.h form.h gv.h handy.h hv.h intern.h intrpvar.h
+h2 = iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h opnames.h
+h3 = patchlevel.h perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h
+h4 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h
+h5 = sv.h thrdvar.h thread.h utf8.h util.h vmsish.h warnings.h
+h6 = xsub.h $(SOCKH) $(THREADH)
+h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5) $(h6)
+
+ac0 = $(ARCHCORE)$(sockh) $(ARCHCORE)av.h $(ARCHCORE)cc_runtime.h
 ac1 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
 ac2 = $(ARCHCORE)embedvar.h $(ARCHCORE)extern.h $(acth)
 ac3 = $(ARCHCORE)form.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
 ac4 = $(ARCHCORE)intern.h $(ARCHCORE)intrpvar.h $(ARCHCORE)iperlsys.h
 ac5 = $(ARCHCORE)keywords.h $(ARCHCORE)mg.h $(ARCHCORE)nostdio.h
-ac6 = $(ARCHCORE)op.h $(ARCHCORE)opcode.h $(ARCHCORE)patchlevel.h
-ac7 = $(ARCHCORE)perl.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h
-ac8 = $(ARCHCORE)perlvars.h $(ARCHCORE)perly.h $(ARCHCORE)pp.h
-ac9 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
-ac10 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
-ac11 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h $(ARCHCORE)opnames.h
-ac12 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
-ac13 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
-ac14 = $(ARCHCORE)perlshr_attr.opt $(ARCHCORE)perlshr_bld.opt
-ac = $(ac0) $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(ac11) $(ac12) $(ac13) $(ac14)
+ac6 = $(ARCHCORE)op.h $(ARCHCORE)opcode.h
+ac7 = $(ARCHCORE)opnames.h $(ARCHCORE)patchlevel.h $(ARCHCORE)perl.h
+ac8 = $(ARCHCORE)perlapi.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h
+ac9 = $(ARCHCORE)perlvars.h $(ARCHCORE)perly.h $(ARCHCORE)pp.h
+ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
+ac11 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
+.ifdef SOCKARCH
+ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h $(SOCKARCH)
+.else
+ac12 = $(ARCHCORE)sv.h $(ARCHCORE)thrdvar.h
+.endif 
+ac13 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
+ac14 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
+acopt = $(ARCHCORE)perlshr_attr.opt $(ARCHCORE)$(DBG)perlshr_bld.opt
+ac = $(ac0) $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(ac11) $(ac12) $(ac13) $(ac14) $(acopt)
 
 CRTL = []crtl.opt
 CRTLOPTS =,$(CRTL)/Options
@@ -340,47 +325,75 @@ CRTLOPTS =,$(CRTL)/Options
 .endif
 
 # Modules which must be installed before we can build extensions
-LIBPREREQ = $(ARCHDIR)Config.pm [.lib]DynaLoader.pm [.lib]XSLoader.pm [.lib]vmsish.pm [.lib.VMS]Filespec.pm [.lib.ExtUtils]XSSymSet.pm
+LIBPREREQ = $(ARCHDIR)Config.pm [.lib.VMS]Filespec.pm [.lib]DynaLoader.pm [.lib]XSLoader.pm [.lib]lib.pm [.lib.ExtUtils]XSSymSet.pm $(ARCHDIR)vmspipe.com [.lib]re.pm
 
-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
-utils2 = [.lib]splain.com [.utils]pl2pm.com
+utils1 = [.lib.pod]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com 
+utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.lib]perlcc.com [.utils]dprofpp.com 
+utils3 = [.utils]perlivp.com [.lib]splain.com [.utils]pl2pm.com [.lib.ExtUtils]xsubpp.com
 
 .ifdef NOX2P
 all : base extras archcorefiles preplibrary perlpods
-       @ $(NOOP)
+       @ write sys$output " "
+       @ write sys$output " Everything is up to date. '$(MMS)$(MMSQUALIFIERS) test' to run test suite."
 .else
 all : base extras x2p archcorefiles preplibrary perlpods
-       @ $(NOOP)
+       @ write sys$output " "
+       @ write sys$output " Everything is up to date. '$(MMS)$(MMSQUALIFIERS) test' to run test suite."
 .endif
 base : miniperl perl
        @ $(NOOP)
-extras : dynext libmods utils podxform
+extras : dynext libmods utils podxform extra.pods
        @ $(NOOP)
 libmods : $(LIBPREREQ)
        @ $(NOOP)
-utils : $(utils1) $(utils2)
+utils : $(utils1) $(utils2) $(utils3)
        @ $(NOOP)
-podxform : [.lib.pod]pod2text.com [.lib.pod]pod2html.com [.lib.pod]pod2latex.com [.lib.pod]pod2man.com
+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
        @ $(NOOP)
 x2p : [.x2p]a2p$(E) [.x2p]s2p.com [.x2p]find2perl.com 
        @ $(NOOP)
-
-pod1 = [.lib.pod]perl.pod [.lib.pod]perlapio.pod [.lib.pod]perlbook.pod [.lib.pod]perlbot.pod [.lib.pod]perlcall.pod
-pod2 = [.lib.pod]perldata.pod [.lib.pod]perldebug.pod [.lib.pod]perldelta.pod [.lib.pod]perldiag.pod [.lib.pod]perldsc.pod
-pod3 = [.lib.pod]perlembed.pod [.lib.pod]perlform.pod [.lib.pod]perlfunc.pod [.lib.pod]perlguts.pod
-pod4 = [.lib.pod]perlipc.pod [.lib.pod]perllocale.pod [.lib.pod]perllol.pod [.lib.pod]perlmod.pod [.lib.pod]perlobj.pod
-pod5 = [.lib.pod]perlop.pod [.lib.pod]perlpod.pod [.lib.pod]perlre.pod [.lib.pod]perlref.pod [.lib.pod]perlreftut.pod
-pod6 = [.lib.pod]perlrun.pod [.lib.pod]perlsec.pod [.lib.pod]perlstyle.pod [.lib.pod]perlsub.pod [.lib.pod]perlsyn.pod
-pod7 = [.lib.pod]perltie.pod [.lib.pod]perltoc.pod [.lib.pod]perltoot.pod
-pod8 = [.lib.pod]perltrap.pod [.lib.pod]perlvar.pod [.lib.pod]perlxs.pod [.lib.pod]perlxstut.pod
-
-perlpods : $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) [.lib.pod]perlvms.pod
+extra.pods : miniperl
+       @ @extra_pods.com
+
+pod0 = [.lib.pod]perl.pod [.lib.pod]perl5004delta.pod [.lib.pod]perl5005delta.pod
+pod1 = [.lib.pod]perlapi.pod [.lib.pod]perlapio.pod [.lib.pod]perlbook.pod
+pod2 = [.lib.pod]perlbot.pod [.lib.pod]perlcall.pod [.lib.pod]perlcompile.pod
+pod3 = [.lib.pod]perldata.pod [.lib.pod]perldbmfilter.pod [.lib.pod]perldebug.pod
+pod4 = [.lib.pod]perldelta.pod [.lib.pod]perldiag.pod [.lib.pod]perldsc.pod
+pod5 = [.lib.pod]perlembed.pod [.lib.pod]perlfaq.pod [.lib.pod]perlfaq1.pod
+pod6 = [.lib.pod]perlfaq2.pod [.lib.pod]perlfaq3.pod [.lib.pod]perlfaq4.pod
+pod7 = [.lib.pod]perlfaq5.pod [.lib.pod]perlfaq6.pod [.lib.pod]perlfaq7.pod
+pod8 = [.lib.pod]perlfaq8.pod [.lib.pod]perlfaq9.pod [.lib.pod]perlfilter.pod
+pod9 = [.lib.pod]perlfork.pod [.lib.pod]perlform.pod [.lib.pod]perlfunc.pod
+pod10 = [.lib.pod]perlguts.pod [.lib.pod]perlhack.pod [.lib.pod]perlhist.pod
+pod11 = [.lib.pod]perlintern.pod [.lib.pod]perlipc.pod [.lib.pod]perllexwarn.pod
+pod12 = [.lib.pod]perllocale.pod [.lib.pod]perllol.pod [.lib.pod]perlmod.pod
+pod13 = [.lib.pod]perlmodinstall.pod [.lib.pod]perlmodlib.pod [.lib.pod]perlobj.pod
+pod14 = [.lib.pod]perlop.pod [.lib.pod]perlopentut.pod [.lib.pod]perlpod.pod
+pod15 = [.lib.pod]perlport.pod [.lib.pod]perlre.pod [.lib.pod]perlref.pod
+pod16 = [.lib.pod]perlreftut.pod [.lib.pod]perlrun.pod [.lib.pod]perlsec.pod
+pod17 = [.lib.pod]perlstyle.pod [.lib.pod]perlsub.pod [.lib.pod]perlsyn.pod
+pod18 = [.lib.pod]perlthrtut.pod [.lib.pod]perltie.pod [.lib.pod]perltoc.pod
+pod19 = [.lib.pod]perltodo.pod [.lib.pod]perltoot.pod [.lib.pod]perltooc.pod
+pod20 = [.lib.pod]perltrap.pod [.lib.pod]perlunicode.pod [.lib.pod]perluniintro.pod [.lib.pod]perlvar.pod
+pod21 = [.lib.pod]perlxs.pod [.lib.pod]perlxstut.pod [.lib.pod]win32.pod [.lib.pod]perlvms.pod
+pod22 = [.lib.pod]perldebguts.pod [.lib.pod]perldebtut.pod [.lib.pod]perlebcdic.pod [.lib.pod]perliol.pod
+pod23 = [.lib.pod]perlnewmod.pod [.lib.pod]perlnumber.pod [.lib.pod]perlrequick.pod [.lib.pod]perlretut.pod [.lib.pod]perlutil.pod
+pod = $(pod0) $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(pod9) $(pod10) $(pod11) $(pod12) $(pod13) $(pod14) $(pod15) $(pod16) $(pod17) $(pod18) $(pod19) $(pod20) $(pod21) $(pod22) $(pod23)
+
+perlpods : $(pod)
        @ $(NOOP)
 
 archcorefiles : $(ac) $(acth) $(ARCHAUTO)time.stamp
        @ $(NOOP)
 
-miniperl : $(DBG)miniperl$(E)
+[.lib]re.pm  : [.ext.re]re.pm
+       copy/log $(MMS$SOURCE) $(MMS$TARGET)
+
+vmspipe.com : [.vms]vmspipe.com
+       copy/log $(MMS$SOURCE) $(MMS$TARGET)
+
+miniperl : $(DBG)miniperl$(E)  vmspipe.com
        @ Continue
 $(MINIPERL_EXE) :  miniperlmain$(O), $(DBG)libperl$(OLB) $(CRTL)
        Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) miniperlmain$(O), $(DBG)libperl$(OLB)/Library/Include=globals $(CRTLOPTS)
@@ -447,6 +460,9 @@ $(ARCHDIR)config.pm : [.lib]config.pm
 [.lib]config.pm : config.h $(MINIPERL_EXE)
        $(MINIPERL) ConfigPM.
 
+$(ARCHDIR)vmspipe.com : vmspipe.com
+        Copy $(MMS$SOURCE) $(MMS$TARGET)
+
 [.ext.dynaloader]dl_vms.c : [.ext.dynaloader]dl_vms.xs $(ARCHDIR)Config.pm [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
        $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
 
@@ -471,11 +487,11 @@ $(ARCHDIR)config.pm : [.lib]config.pm
        $(MINIPERL) $(MMS$SOURCE)
        @ Rename/Log xsloader.pm [.ext.dynaloader]
 
-dynext : $(LIBPREREQ) $(DBG)perlshr$(E)
-       @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)"
+dynext : $(LIBPREREQ) $(DBG)perlshr$(E) preplibrary
+       @make_ext "$(MINIPERL_EXE)" "$(MMS)"
 
-[.lib]vmsish.pm : [.vms.ext]vmsish.pm
-       Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+[.lib]lib.pm : [.lib]lib_pm.PL
+       $(MINIPERL) $(MMS$SOURCE)
 
 [.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
        @ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
@@ -493,6 +509,9 @@ dynext : $(LIBPREREQ) $(DBG)perlshr$(E)
 [.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c $(ARCHDIR)Config.pm
        $(MINIPERL) $(MMS$SOURCE) >$(MMS$TARGET)
 
+[.utils]perlivp.com : [.utils]perlivp.PL $(ARCHDIR)Config.pm
+       $(MINIPERL) $(MMS$SOURCE)
+
 [.utils]c2ph.com : [.utils]c2ph.PL $(ARCHDIR)Config.pm
        $(MINIPERL) $(MMS$SOURCE)
 
@@ -505,6 +524,9 @@ dynext : $(LIBPREREQ) $(DBG)perlshr$(E)
 [.utils]h2xs.com : [.utils]h2xs.PL $(ARCHDIR)Config.pm
        $(MINIPERL) $(MMS$SOURCE)
 
+[.utils]libnetcfg.com : [.utils]libnetcfg.PL $(ARCHDIR)Config.pm
+       $(MINIPERL) $(MMS$SOURCE)
+
 [.lib]perlbug.com : [.utils]perlbug.PL $(ARCHDIR)Config.pm
        $(MINIPERL) $(MMS$SOURCE)
        Copy/Log [.utils]perlbug.com $(MMS$TARGET)
@@ -526,6 +548,9 @@ dynext : $(LIBPREREQ) $(DBG)perlshr$(E)
 [.x2p]s2p.com : [.x2p]s2p.PL $(ARCHDIR)Config.pm
        $(MINIPERL) $(MMS$SOURCE)
 
+[.lib.ExtUtils]xsubpp.com : [.lib.ExtUtils]xsubpp 
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
 # Rename catches problem with some DECC versions in which object file is
 # placed in current default dir, not same one as source file.
 [.x2p]$(DBG)a2p$(E) : [.x2p]a2p$(O), [.x2p]hash$(O), [.x2p]str$(O), [.x2p]util$(O), [.x2p]walk$(O)
@@ -575,158 +600,262 @@ dynext : $(LIBPREREQ) $(DBG)perlshr$(E)
        $(MINIPERL) $(MMS$SOURCE)
        Copy/Log [.pod]pod2text.com $(MMS$TARGET)
 
-preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) $(SOCKPM)
+[.lib.pod]podchecker.com : [.pod]podchecker.PL $(ARCHDIR)Config.pm
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       $(MINIPERL) $(MMS$SOURCE)
+       Copy/Log [.pod]podchecker.com $(MMS$TARGET)
+
+[.lib.pod]pod2usage.com : [.pod]pod2usage.PL $(ARCHDIR)Config.pm
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       $(MINIPERL) $(MMS$SOURCE)
+       Copy/Log [.pod]pod2usage.com $(MMS$TARGET)
+
+[.lib.pod]podselect.com : [.pod]podselect.PL $(ARCHDIR)Config.pm
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       $(MINIPERL) $(MMS$SOURCE)
+       Copy/Log [.pod]podselect.com $(MMS$TARGET)
+
+preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) 
        @ Write Sys$Output "Autosplitting Perl library . . ."
        @ Create/Directory [.lib.auto]
        @ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)" [.lib]*.pm [.lib.*]*.pm
 
 [.lib.pod]perl.pod : [.pod]perl.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perl5004delta.pod : [.pod]perl5004delta.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perl5005delta.pod : [.pod]perl5005delta.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlapi.pod : [.pod]perlapi.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlapio.pod : [.pod]perlapio.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlbook.pod : [.pod]perlbook.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlbot.pod : [.pod]perlbot.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlcall.pod : [.pod]perlcall.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlcompile.pod : [.pod]perlcompile.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perldata.pod : [.pod]perldata.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perldbmfilter.pod : [.pod]perldbmfilter.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perldebug.pod : [.pod]perldebug.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perldebguts.pod : [.pod]perldebguts.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perldebtut.pod : [.pod]perldebtut.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perldelta.pod : [.pod]perldelta.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perldiag.pod : [.pod]perldiag.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perldsc.pod : [.pod]perldsc.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlebcdic.pod : [.pod]perlebcdic.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlembed.pod : [.pod]perlembed.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq.pod : [.pod]perlfaq.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq1.pod : [.pod]perlfaq1.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq2.pod : [.pod]perlfaq2.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq3.pod : [.pod]perlfaq3.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq4.pod : [.pod]perlfaq4.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq5.pod : [.pod]perlfaq5.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq6.pod : [.pod]perlfaq6.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq7.pod : [.pod]perlfaq7.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq8.pod : [.pod]perlfaq8.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfaq9.pod : [.pod]perlfaq9.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfilter.pod : [.pod]perlfilter.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlfork.pod : [.pod]perlfork.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlform.pod : [.pod]perlform.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlfunc.pod : [.pod]perlfunc.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlguts.pod : [.pod]perlguts.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
-[.lib.pod]perllocale.pod : [.pod]perllocale.pod
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlhack.pod : [.pod]perlhack.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlhist.pod : [.pod]perlhist.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlintern.pod : [.pod]perlintern.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perliol.pod : [.pod]perliol.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlipc.pod : [.pod]perlipc.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perllexwarn.pod : [.pod]perllexwarn.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perllocale.pod : [.pod]perllocale.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perllol.pod : [.pod]perllol.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlmod.pod : [.pod]perlmod.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlmodinstall.pod : [.pod]perlmodinstall.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlmodlib.pod : [.pod]perlmodlib.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlnewmod.pod : [.pod]perlnewmod.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlnumber.pod : [.pod]perlnumber.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlobj.pod : [.pod]perlobj.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlop.pod : [.pod]perlop.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlopentut.pod : [.pod]perlopentut.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlpod.pod : [.pod]perlpod.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlport.pod : [.pod]perlport.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlre.pod : [.pod]perlre.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlref.pod : [.pod]perlref.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlreftut.pod : [.pod]perlreftut.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlrequick.pod : [.pod]perlrequick.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlretut.pod : [.pod]perlretut.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlrun.pod : [.pod]perlrun.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlsec.pod : [.pod]perlsec.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlstyle.pod : [.pod]perlstyle.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlsub.pod : [.pod]perlsub.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlsyn.pod : [.pod]perlsyn.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlthrtut.pod : [.pod]perlthrtut.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perltie.pod : [.pod]perltie.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perltoc.pod : [.pod]perltoc.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perltodo.pod : [.pod]perltodo.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perltoot.pod : [.pod]perltoot.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
-[.lib.pod]perlreftut.pod : [.pod]perlreftut.pod
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perltooc.pod : [.pod]perltooc.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perltrap.pod : [.pod]perltrap.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlunicode.pod : [.pod]perlunicode.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perluniintro.pod : [.pod]perluniintro.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]perlutil.pod : [.pod]perlutil.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlvar.pod : [.pod]perlvar.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlxs.pod : [.pod]perlxs.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlxstut.pod : [.pod]perlxstut.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+[.lib.pod]win32.pod : [.lib]win32.pod
+       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 [.lib.pod]perlvms.pod : [.vms]perlvms.pod
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+
+install.html : $(perlpods)
+       @ @perl_setup.com
+       @ If F$Search("perl_root:[lib]html.dir").eqs."" Then Create/Directory perl_root:[lib.html]
+       $(MINIPERL) installhtml. "--podroot=. --recurse --htmldir=/perl_root/lib/html --htmlroot=.. --verbose"
 
 printconfig :
         @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
@@ -734,18 +863,9 @@ printconfig :
 
 .ifdef SOCKET
 
-.ifdef LINK_ONLY
-.else
-[.ext.Socket]Socket$(O) : [.ext.Socket]Socket.c
-       $(CC) $(CFLAGS) /Object=$(MMS$TARGET) $(MMS$SOURCE)
-
-[.ext.Socket]Socket.c : [.ext.Socket]Socket.xs [.lib.ExtUtils]XSSymSet.pm $(MINIPERL_EXE)
-       $(XSUBPP) $(MMS$SOURCE) >$(MMS$TARGET)
-.endif # !LINK_ONLY
-
 vmsish.h : $(SOCKH)
 
-$(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
+$(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
 
 $(SOCKC) : [.vms]$(SOCKC)
        Copy/Log/NoConfirm [.vms]$(SOCKC) []$(SOCKC)
@@ -753,8 +873,6 @@ $(SOCKC) : [.vms]$(SOCKC)
 $(SOCKH) : [.vms]$(SOCKH)
        Copy/Log/NoConfirm [.vms]$(SOCKH) []$(SOCKH)
 
-[.lib]Socket.pm : [.ext.Socket]Socket.pm
-       Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
 .endif
 
 # The following files are generated automatically
@@ -791,21 +909,29 @@ perly.h : [.vms]perly_h.vms
 
 .ifdef LINK_ONLY
 .else
-perly$(O) : perly.c, perly.h, $(allh)
+perly$(O) : perly.c, perly.h, $(h)
 .endif
 
 [.t.lib]vmsfspec.t : [.vms.ext]filespec.t
        Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
 
-[.t.lib]vmsish.t : [.vms.ext]vmsish.t
+[.t.lib]vms_dclsym.t : [.vms.ext.DCLsym]test.pl
        Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
 
-test : all [.t.lib]vmsfspec.t [.t.lib]vmsish.t
+[.t.lib]vms_stdio.t : [.vms.ext.Stdio]test.pl
+       Copy/Log/NoConfirm $(MMS$SOURCE) $(MMS$TARGET)
+
+check : test
+       @ Continue
+
+test : all [.t.lib]vmsfspec.t [.t.lib]vms_dclsym.t [.t.lib]vms_stdio.t
        - @[.VMS]Test.Com "$(E)" "$(__DEBUG__)"
+       @ $(MINIPERL) -e "print ""Ran tests"";" > [.t]rantests.
 
 # install ought not need a source, but it doesn't work if one's not
 # there. Go figure...
 install : $(MINIPERL_EXE)
+       @ @perl_setup.com
        If F$TrnLnm("Sys") .nes. "" Then Deass SYS
        $(MINIPERL) installperl
 
@@ -825,9 +951,9 @@ archify : all
 # CORE subset for MakeMaker, so we can build Perl without sources
 # Should move to VMS installperl when we get one
 .ifdef SOCKET
-$(ARCHCORE)$(sockh) : $(sockh)
-       @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(SOCKARCH) : $(SOCKH)
+       @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 .endif
 $(ARCHCORE)av.h : av.h
        @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
@@ -903,6 +1029,9 @@ $(ARCHCORE)patchlevel.h : patchlevel.h
 $(ARCHCORE)perl.h : perl.h
        @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
        Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+$(ARCHCORE)perlapi.h : perlapi.h
+       @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
+       Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 $(ARCHCORE)perlio.h : perlio.h
        @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
        Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
@@ -981,68 +1110,80 @@ $(ARCHAUTO)time.stamp :
 #      $(CC) $(CORECFLAGS) $(MMS$SOURCE)
 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
 .ifdef SOCKET
-$(SOCKOBJ) : $(SOCKC) $(h)
+$(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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
 .endif
-av$(O) : av.c $(h)
+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
+       $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+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
+       $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+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
+       $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-deb$(O) : deb.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-doio$(O) : doio.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-doop$(O) : doop.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-dump$(O) : dump.c $(h) $(h6)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-globals$(O) : globals.c $(h)
+locale$(O) : locale.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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-gv$(O) : gv.c $(h)
+malloc$(O) : malloc.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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-hv$(O) : hv.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-mg$(O) : mg.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-miniperlmain$(O) : miniperlmain.c $(h)
+numeric$(O) : numeric.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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-op$(O) : op.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perl$(O) : perl.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perlio$(O) : perlio.c $(h)
+perlapi$(O) : perlapi.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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perlmain$(O) : perlmain.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perly$(O) : perly.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-pp$(O) : pp.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-pp_ctl$(O) : pp_ctl.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-pp_hot$(O) : pp_hot.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-pp_sys$(O) : pp_sys.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-regcomp$(O) : regcomp.c $(h) $(h6)
+pp_pack$(O) : pp_pack.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
+pp_sort$(O) : pp_sort.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
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-regexec$(O) : regexec.c $(h) $(h6)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-run$(O) : run.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-scope$(O) : scope.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-sv$(O) : sv.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-taint$(O) : taint.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-toke$(O) : toke.c $(h) $(h7)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-universal$(O) : universal.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-utf8$(O) : utf8.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-util$(O) : util.c $(h)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-vms$(O) : vms.c $(h)
+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
+       $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+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
+       $(CC) $(CORECFLAGS) $(MMS$SOURCE)
+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
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
 
 [.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)
@@ -1070,11 +1211,35 @@ $(CRTL) : $(MAKEFILE)
        @ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)|$(SOCKLIB)"
 
 
+ok : $(utils)
+       $(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)"
+
+okfile : $(utils)
+       $(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)" "-F" perl.ok
+
+nok : $(utils)
+       @ write sys$output " "
+       @ write sys$output " Please type the command:"
+       @ write sys$output " "
+       @ write sys$output "$(MINIPERLQ) lib/perlbug.com -nok -s ""(UNINSTALLED)"""
+
+nokfile : $(utils)
+       @ write sys$output " "
+       @ write sys$output " Please type the command:"
+       @ write sys$output " "
+       @ write sys$output "$(MINIPERLQ) lib/perlbug.com -nok -s ""(UNINSTALLED)"" ""-F"" perl.nok"
+
+
 cleanlis :
        - If F$Search("*.Lis").nes."" Then Delete/NoConfirm/Log *.Lis;*
        - If F$Search("*.CPP").nes."" Then Delete/NoConfirm/Log *.CPP;*
        - If F$Search("*.Map").nes."" Then Delete/NoConfirm/Log *.Map;*
 
+cleantest :
+        - If F$Search("[.t]Perl.").nes."" Then Delete/NoConfirm/Log [.t]Perl.;*
+        - If F$Search("[.t]VMSPIPE.COM").nes."" Then Delete/NoConfirm/Log [.t]VMSPIPE.COM;*
+        - If F$Search("[.t]Echo.exe").nes."" Then Delete/NoConfirm/Log [.t]Echo.exe;*
+
 tidy : cleanlis
        - If F$Search("[...]*.Opt;-1").nes."" Then Purge/NoConfirm/Log [...]*.Opt
        - If F$Search("[...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [...]*$(O)
@@ -1089,7 +1254,6 @@ tidy : cleanlis
        - If F$Search("Perlshr_Gbl*.Mar;-1")   .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
        - If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
        - If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
-       - If F$Search("[.Ext.Socket]Socket.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
        - If F$Search("[.Ext.Opcode...];-1").nes."" Then Purge/NoConfirm/Log [.Ext.Opcode]
        - If F$Search("[.VMS.Ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*.C
        - If F$Search("[.VMS.Ext...]*$(O);-1").nes."" Then Purge/NoConfirm/Log [.VMS.Ext...]*$(O)
@@ -1097,7 +1261,6 @@ tidy : cleanlis
        - If F$Search("[.Lib.Auto...]autosplit.ix;-1").nes."" Then Purge/NoConfirm/Log [.Lib.Auto...]autosplit.ix
        - If F$Search("[.Lib]DynaLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]DynaLoader.pm
        - If F$Search("[.Lib]XSLoader.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]XSLoader.pm
-       - If F$Search("[.Lib]Socket.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Socket.pm
        - If F$Search("[.Lib]Config.pm;-1").nes."" Then Purge/NoConfirm/Log [.Lib]Config.pm
        - If F$Search("$(ARCHDIR)Config.pm;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config.pm
        - If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm
@@ -1111,8 +1274,8 @@ tidy : cleanlis
        - If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com
        - If F$Search("[.lib.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pod]*.com
 
-clean : tidy
-       - @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" clean
+clean : tidy cleantest
+       - @make_ext "$(MINIPERL_EXE)" "$(MMS)" clean
        - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
        - If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
        - If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
@@ -1130,26 +1293,25 @@ clean : tidy
        - If F$Search("[.Ext.DynaLoader]DL_VMS.C").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C;*
        - If F$Search("[.Ext.DynaLoader]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DynaLoader.pm;*
        - If F$Search("[.Ext.DynaLoader]XSLoader.pm").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]XSLoader.pm;*
-       - If F$Search("[.Ext.Socket]Socket$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket$(O);*
-       - If F$Search("[.Ext.Socket]Socket.C").nes."" Then Delete/NoConfirm/Log [.Ext.Socket]Socket.C;*
        - If F$Search("[.VMS.Ext...]*.C").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*.C;*
        - If F$Search("[.VMS.Ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.VMS.Ext...]*$(O);*
        - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
+       - @extra_pods CLEAN
 
 realclean : clean
-       - @build_ext "$(dynamic_ext)" "$(MINIPERL_EXE)" "$(MMS)" realclean
+       - @make_ext "$(MINIPERL_EXE)" "$(MMS)" realclean
        - If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
        - If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
        - If F$Search("Config.H").nes."" Then Delete/NoConfirm/Log Config.H;*
        - If F$Search("Config.SH").nes."" Then Delete/NoConfirm/Log Config.SH;*
        - $(MINIPERL) -e "use File::Path; rmtree(\@ARGV,1,0);" config
        - If F$Search("Descrip.MMS").nes."" Then Delete/NoConfirm/Log Descrip.MMS;*
-       - If F$Search("Build_Ext.Com").nes."" Then Delete/NoConfirm/Log Build_Ext.Com;*
+       - If F$Search("make_ext.Com").nes."" Then Delete/NoConfirm/Log make_ext.Com;*
+       - If F$Search("extra_pods.Com").nes."" Then Delete/NoConfirm/Log extra_pods.Com;*
        - $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCH)'],1,0);"
        - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
        - If F$Search("[.Lib]DynaLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]DynaLoader.pm;*
        - If F$Search("[.Lib]XSLoader.pm").nes."" Then Delete/NoConfirm/Log [.Lib]XSLoader.pm;*
-       - If F$Search("[.Lib]Socket.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Socket.pm;*
        - If F$Search("[.Lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.Lib]Config.pm;*
        - If F$Search("[.Lib]*.com").nes."" Then Delete/NoConfirm/Log [.Lib]*.com;*
        - If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
@@ -1160,13 +1322,18 @@ realclean : clean
        - If F$Search("[.lib.ExtUtils]XSSymSet.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]XSSymSet.pm;*
        - If F$Search("[.lib.pod]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pod]*.pod;*
        - If F$Search("[.lib.pod]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]perldoc.com;*
+       - If F$Search("[.utils]perlivp.com").nes."" Then Delete/NoConfirm/Log [.utils]perlivp.com;*
        - If F$Search("[.lib.pod]pod2*.com").nes."" Then Delete/NoConfirm/Log [.lib.pod]pod2*.com;*
        - If F$Search("[.t.lib]vms*.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms*.t;*
        - If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);*
        - If F$Search("[.vms]Perl_Setup.Com").nes."" Then Delete/NoConfirm/Log [.vms]Perl_Setup.Com;*
+       - If F$Search("[.t]rantests.").nes."" Then Delete/NoConfirm/Log [.t]rantests.;*
+       - If F$Search("[.t.lib]vmsfspec.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsfspec.t;*
+       - If F$Search("[.t.lib]vmsish.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsish.t;*
+       - If F$Search("[.t.lib]vms_dclsym.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms_dclsym.t;*
+       - If F$Search("[.t.lib]vms_stdio.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms_stdio.t;*
 
 cleansrc : clean
-!GROK!THIS!
        - If F$Search("*.C;-1").nes."" Then Purge/NoConfirm/Log *.C
        - If F$Search("*.H;-1").nes."" Then Purge/NoConfirm/Log *.H
        - If F$Search("*.VMS;-1").nes."" Then Purge/NoConfirm/Log *.VMS
@@ -1177,3 +1344,4 @@ cleansrc : clean
        - If F$Search("[.VMS]*.VMS;-1").nes."" Then Purge/NoConfirm/Log [.VMS]*.VMS
        - If F$Search("[.VMS...]*.pm;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.pm
        - If F$Search("[.VMS...]*.xs;-1").nes."" Then Purge/NoConfirm/Log [.VMS...]*.xs
+!GROK!THIS!