home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / old / ckermit5a190 / ckvker.mms < prev    next >
Text File  |  1994-11-01  |  18KB  |  446 lines

  1. ! CKVKER.MMS
  2. ! Sat Oct 29 14:12:54 1994
  3. !
  4. ! -- MMS description file for building C-Kermit 5A on VMS systems --
  5. !
  6. ! Author: Piet W. Plomp, ICCE, Groningen University, The Netherlands,
  7. ! Internet: piet@icce.rug.nl, piet@asterix.icce.rug.nl, October 1992.
  8. ! Parts adapted from both ckvker.mak by Terry Kennedy and others, and
  9. ! ckvker.com by Lee Tibbert and others.
  10. ! Updates for CMU/Tek by Mike Freeman, Bonneville Power Administration, 8/94:
  11. !
  12. ! The patches do the following: (1) modify ckvker.mms to build c-Kermit
  13. ! 5A(190) (both for shareable and nonshareable  C libraries); (2) modify
  14. ! ckvker.mms to work with the freeware MMS look-alike MMK (the latter by
  15. ! Matt Madison of TGV, INc. and released by him and Hunter Goatley as
  16. ! part of their "Mattgoat" software); and (3) modify ckvker.mms to build
  17. ! C-Kermit with support for CMU-OpenVMS/IP.  I have tested this patched
  18. ! file and it works well.
  19. !
  20. ! Copyright (C) 1992, 1994, Columbia University. 
  21. !
  22. ! INSTALLATION NOTES:
  23. !
  24. ! Before proceeding, read the instructions below, and also read the file
  25. ! ckvker.bwr (the "beware file").
  26. ! - Make sure you have at least 5000 blocks file space available (this
  27. !   includes space for the sources).
  28. ! - Make sure you have all required sources (ckc*.c, cku*.c, ckv*.c plus
  29. !   corresponding ck*.h files as well as ckwart.c and ckcpro.w) in the
  30. !   current directory.
  31. ! - Rename this file to "DESCRIP.MMS" and put it in the current directory.
  32. ! - If you want SHARED LIBRARY SUPPORT (please read NOTES below),
  33. !   you must set a global symbol WERMIT_SHARE having any non-empty
  34. !   string value (e.g. enter
  35. !       WERMIT_SHARE :== "T"
  36. !   at the VMS command line prompt before starting MMS).
  37. !   If you change your mind and don't want shared library support after all,
  38. !   you may delete the symbol by entering
  39. !       DEL/SYM/GLO WERMIT_SHARE
  40. !   at the VMS prompt.
  41. ! - This description file will automatically detect the presence of
  42. !   TCP/IP networking products on your system, and builds one of them into
  43. !   C-Kermit.
  44. !   The following products are recognized (in decreasing order of priority):
  45. !       TGV MultiNet TCP/IP,
  46. !       Wollongong WIN TCP,
  47. !       DEC TCP/IP (UCX) support.
  48. !    CMU/Tektronix OpenVMS/IP.
  49. !   You may override the automatic detection by setting a global symbol
  50. !   net_option, having one of the following string values:
  51. !       NET_OPTION :== "NONET"      forces omission of network support
  52. !       NET_OPTION :== "MULTINET"   build with TGV MultiNet
  53. !       NET_OPTION :== "WINTCP"     build with Wollongong WIN/TCP
  54. !       NET_OPTION :== "DEC_TCPIP"  build with DEC TCP/IP
  55. !    NET_OPTION :== "CMU_TCPIP"  build with CMU OpenVMS TCP/IP
  56. !
  57. !   The net_option symbol can be deleted by typing
  58. !       DEL/SYM/GLO NET_OPTION
  59. !   at the VMS prompt.
  60. !
  61. ! - You may tailor the defines for the C compiler to meet your own
  62. !   requirements.  Look at the description before CCDEFS section below
  63. ! - Issue:                      to build:
  64. !       MMS                     WERMIT.EXE
  65. !       MMS WERMIT              WERMIT.EXE
  66. !       MMS CKVCVT              CKVCVT.EXE
  67. !       MMS ALL                 both WERMIT.EXE and CKVCVT.EXE
  68. ! - set a symbol to the executable as follows:
  69. !       WERMIT :== $your$disk:[your.full.path]WERMIT.EXE
  70. !   DON'T FORGET THE FIRST '$'.
  71. !   Now you can give wermit command-line arguments.
  72. !
  73. ! After WERMIT or CKVCVT was built successfully you can run "MMS CLEANUP"
  74. ! to remove all .obj files, ckcpro.c and wart.exe.
  75. !
  76. ! This description file was developed and tested on a VAX 8650 running
  77. ! VMS 5.4, using MMS version 2.5 (type MMS/IDENT to show
  78. ! the version and find out if MMS is installed on your VMS system).
  79. ! The C-compiler had version 3.2.
  80. !
  81. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  82. !
  83. !   NOTES:
  84. !
  85. !   Refer to ckvins.doc for an overview of ways to build C-Kermit for VMS.
  86. !   Building C-Kermit for VMS using this file and MMS is just a handy
  87. !   alternative.
  88. !   It is not meant to be the standard way to build C-Kermit for VMS.
  89. !   However, currently only this file offers shared library support.
  90. !
  91. !   C-Kermit can also be built for many other systems.
  92. !   Refer to ck?ker.mak for details.
  93. !
  94. !   This file does not contain support for VMS versions below 5.0 and
  95. !   VAX C versions below 3.0.
  96. !
  97. !   WARNING: older VMS SHARED LIBRARIES are 'buggy': they may contain
  98. !   undocumented public variables that may interfere with kermit's
  99. !   own variables. Only the newer ones, that is from VMS version 5.2
  100. !   are reported to be reliable.
  101. !
  102. !   If you use shared library support, this description file uses
  103. !   a temporary file name "WERSHARE.OPT" as a linker options file
  104. !   (this cannot be done through sys$input:, because that is grabbed by MMS).
  105. !   After completion all versions of this file will be removed.
  106. !
  107. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  108. !
  109. ! Initialization Section:
  110. ! Note: wermit, ckvcvt and all have their own *_first and *_last sections
  111. ! (see Dependencies section). There is no .LAST in this file
  112. !
  113. .FIRST
  114.     @ ! echo: write to stdout; tab: some spacing
  115.     @ echo = "write sys$output"
  116.     @ tab = "    "
  117.     @ warning = "WARNING: "
  118.     @ fatal = "FATAL ERROR: "
  119.  
  120. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  121. !
  122. ! Macro Section:
  123. !
  124. ! CC: use default macro
  125. !
  126. ! CCDEFS -
  127. ! Some site options you might want to add:
  128. !  NOPUSH    - Disallow access to DCL from within Kermit.
  129. !  NODEBUG   - Remove all debugging code to make C-Kermit smaller and faster.
  130. !
  131. ! The following site options are used in this file as distributed:
  132. !  DYNAMIC   - Allocate packet and other buffers dynamically.
  133. !  NOJC      - Omit Job-Control related code.
  134. !  NOSETBUF  - Don't make console i/o unbuffered.
  135. !  CK_CURSES - Include fullscreen file transfer display.
  136. !  KANJI     - Include Kanji file transfer translation.
  137. !  IFDEBUG   - Avoid calls to debug() if debugging not on: faster execution
  138. !              but bigger .EXE file.  If you don't need debugging, replace
  139. !              this by NODEBUG.
  140. CCDEFS = -
  141.     /DEFINE=("DYNAMIC", "NOJC", "NOSETBUF", "CK_CURSES", "KANJI", -
  142.             "IFDEBUG", -
  143.             'net_option,'cc_ver,'vms_ver,'share_opt)
  144.  
  145. CCFLAGS = -
  146.     /NOLIST/OBJECT=$(MMS$TARGET) /DEBUG/OPTIMIZE $(CCDEFS) -
  147.     $(MMS$SOURCE)
  148.  
  149. SHAREOPTS = WERSHARE/OPTION
  150.  
  151. OBJECT_MODULES = ckcmai.obj, -
  152.     ckcfns.obj, ckcfn2.obj, ckcfn3.obj, ckcnet.obj, ckcpro.obj, -
  153.     ckuusr.obj, ckuus2.obj, ckuus3.obj, ckuus4.obj, ckuus5.obj, -
  154.     ckuus6.obj, ckuus7.obj, ckuusx.obj, ckuusy.obj, -
  155.     ckucmd.obj, ckudia.obj, ckuscr.obj, ckuxla.obj, -
  156.     ckvcon.obj, ckvioc.obj, ckvfio.obj, ckvtio.obj
  157.  
  158. LIBWINTCP   = twg$common:[netdist.lib]twglib.olb/library
  159. LIBDECTCPIP = sys$library:ucx$ipc.olb/library
  160. LIBCMU = cmuip_root:[syslib]libcmu.olb/library
  161.  
  162. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  163. !
  164. ! Rule Section:
  165. !
  166. .C.OBJ
  167.     @ echo tab + "Compiling $(MMS$SOURCE)"
  168.     @ $(CC) $(CCFLAGS)
  169.  
  170. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  171. !
  172. ! Dependencies Section:
  173. !
  174. wermit : ckvker_first wermit_first wermit.exe  ckvker_last wermit_last
  175.     @ continue
  176.  
  177. ckvcvt : ckvker_first ckvcvt_first ckvcvt.exe  ckvker_last ckvcvt_last
  178.     @ continue
  179.  
  180. all : ckvker_first wermit_first wermit.exe ckvcvt_first ckvcvt.exe -
  181.     ckvker_last all_last
  182.     @ continue
  183.  
  184. wermit.exe : $(OBJECT_MODULES)
  185.     @ echo tab + "Linking $(MMS$TARGET_NAME)", -
  186.         share_text, ", ", net_name, " network support"
  187.  
  188.     @ if net_option .eqs. "NONET" .and. share_opt .eqs. "NOVMSSHARE" then -
  189.         $(LINK) $(LINKFLAGS) -
  190.         $(OBJECT_MODULES) ! assume lnk$library set
  191.     @ if net_option .eqs. "NONET" .and. share_opt .eqs. "VMSSHARE" then -
  192.         $(LINK) $(LINKFLAGS) -
  193.         $(OBJECT_MODULES), $(SHAREOPTS)
  194.  
  195.     @ if net_option .eqs. "MULTINET" then -
  196.         $(LINK) $(LINKFLAGS) -
  197.         $(OBJECT_MODULES), $(SHAREOPTS) ! always use options file
  198.  
  199.     @ if net_option .eqs. "WINTCP" .and. share_opt .eqs. "NOVMSSHARE" then -
  200.         $(LINK) $(LINKFLAGS) $(OBJECT_MODULES), -
  201.         $(LIBWINTCP)        ! assume lnk$library set
  202.     @ if net_option .eqs. "WINTCP" .and. share_opt .eqs. "VMSSHARE" then -
  203.         $(LINK) $(LINKFLAGS) $(OBJECT_MODULES), $(SHAREOPTS), -
  204.         $(LIBWINTCP)
  205.  
  206.     @ if net_option .eqs. "DEC_TCPIP" .and. share_opt .eqs. "NOVMSSHARE" then -
  207.         $(LINK) $(LINKFLAGS) $(OBJECT_MODULES), -
  208.         $(LIBDECTCPIP)      ! assume lnk$library set
  209.     @ if net_option .eqs. "DEC_TCPIP" .and. share_opt .eqs. "VMSSHARE" then -
  210.         $(LINK) $(LINKFLAGS) $(OBJECT_MODULES), $(SHAREOPTS), -
  211.         $(LIBDECTCPIP)
  212.     @ ! Just speculating (pwp 92-10-15); to test comment previous if, then
  213.     @ ! uncomment next 2 lines and companion section in link section
  214.     @ ! if net_option .eqs. "DEC_TCPIP" .and. share_opt .eqs. "VMSSHARE" then -
  215.       !  $(LINK) $(LINKFLAGS) $(OBJECT_MODULES), $(SHAREOPTS)
  216.     @ if net_option .eqs. "CMU_TCPIP" .and. share_opt .eqs. "NOVMSSHARE" then -
  217.         $(LINK) $(LINKFLAGS) $(OBJECT_MODULES), -
  218.         $(LIBCMU)        ! assume lnk$library set
  219.     @ if net_option .eqs. "CMU_TCPIP" .and. share_opt .eqs. "VMSSHARE" then -
  220.         $(LINK) $(LINKFLAGS) $(OBJECT_MODULES), $(SHAREOPTS), -
  221.         $(LIBCMU)
  222.  
  223. ckvcvt.exe : ckvcvt.obj
  224.     @ echo tab + "Linking $(MMS$TARGET_NAME)"
  225.     @ if share_opt .eqs. "NOVMSSHARE" then -
  226.         link /exec=ckvcvt.exe ckvcvt.obj    ! assume lnk$library logical set
  227.     @ if share_opt .eqs. "VMSSHARE" then -
  228.         $(LINK) $(LINKFLAGS) ckvcvt.obj,$(SHAREOPTS)
  229.  
  230. ckvioc.obj : ckvioc.c ckvioc.h ckcdeb.h
  231.  
  232. ckvfio.obj : ckvfio.c ckcdeb.h ckuver.h
  233.  
  234. ckvtio.obj : ckvtio.c ckcdeb.h ckcnet.h ckuver.h
  235.  
  236. ckvcon.obj : ckvcon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h
  237.  
  238. ckwart.obj : ckwart.c
  239.  
  240. wart.exe : ckwart.obj
  241.     @ echo tab + "Linking $(MMS$TARGET_NAME)"
  242.     @ if share_opt .eqs. "NOVMSSHARE" then -
  243.         link /exec=wart.exe ckwart.obj      ! assume lnk$library logical set
  244.     @ if share_opt .eqs. "VMSSHARE" then -
  245.         $(LINK) $(LINKFLAGS) ckwart.obj,$(SHAREOPTS)
  246.  
  247. ckcpro.obj : ckcpro.c ckcker.h ckcdeb.h ckcasc.h
  248.  
  249. ckcpro.c : ckcpro.w wart.exe ckcdeb.h ckcasc.h ckcker.h
  250.     @ echo "WART $(MMS$SOURCE) CKCPRO.C"
  251.     @ wart = "$" + f$parse("WART.EXE",,,"DEVICE") + -
  252.         f$parse("WART.EXE",,,"DIRECTORY") + "WART"
  253.     @ wart ckcpro.w ckcpro.c
  254.  
  255. ckcmai.obj : ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h 
  256.  
  257. ckcnet.obj : ckcnet.c ckcker.h ckcdeb.h ckcnet.h
  258.  
  259. ckcfns.obj : ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h 
  260.  
  261. ckcfn2.obj : ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h
  262.  
  263. ckcfn3.obj : ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h 
  264.  
  265. ckuxla.obj : ckuxla.c ckcker.h ckcdeb.h ckcxla.h ckuxla.h
  266.  
  267. ckuusr.obj : ckuusr.c -
  268.              ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h -
  269.              ckcasc.h ckcnet.h
  270.  
  271. ckuus2.obj : ckuus2.c -
  272.              ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h ckcasc.h
  273.  
  274. ckuus3.obj : ckuus3.c -
  275.              ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h -
  276.              ckcasc.h ckcnet.h 
  277.  
  278. ckuus4.obj : ckuus4.c -
  279.              ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h -
  280.              ckcasc.h ckcnet.h
  281.  
  282. ckuus5.obj : ckuus5.c -
  283.              ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h ckcasc.h
  284.  
  285. ckuus6.obj : ckuus6.c -
  286.              ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h
  287.  
  288. ckuus7.obj : ckuus7.c -
  289.              ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h -
  290.              ckcasc.h ckcnet.h
  291.  
  292. ckuusx.obj : ckuusx.c  ckcker.h ckuusr.h ckcdeb.h ckcasc.h
  293.  
  294. ckuusy.obj : ckuusy.c  ckcker.h ckcdeb.h ckcasc.h
  295.  
  296. ckucmd.obj : ckucmd.c ckcasc.h ckucmd.h ckcdeb.h
  297.  
  298. ckudia.obj : ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h
  299.  
  300. ckuscr.obj : ckuscr.c ckcker.h ckcdeb.h ckcasc.h
  301.  
  302. ckvker_first :
  303.     @ ! check for the C runtime-library
  304.     @ ! variable share_opt can get three values: "" (error),
  305.     @ ! VMSSHARE (shareable lib found), or NOVMSSHARE (Normal lib)
  306.     @ share_opt = ""            ! preset to error (no runtime lib)
  307.     @ if "''wermit_share'" .and. -
  308.         f$search("sys$share:vaxcrtl.exe") .nes. "" then -
  309.         share_opt = "VMSSHARE"  ! Shared library support wanted and possible
  310.     @ if share_opt .eqs. "" .and. -
  311.         f$search("sys$library:vaxcrtl.olb") .nes. "" -
  312.         then share_opt = "NOVMSSHARE"! Normal non-shareable library
  313.     @ if share_opt .eqs. "NOVMSSHARE" then -
  314.         define lnk$library sys$library:vaxcrtl.olb
  315.  
  316.     @ ! abort if neither shareable nor non-shareable run time lib found
  317.     @ if share_opt .eqs. "" then echo tab + fatal + "No run time library."
  318.     @ if share_opt .eqs. "" then exit
  319.  
  320.     @ ! save pending net_option (may be "") into net_override
  321.     @ net_override = "''net_option'"
  322.  
  323.     @ ! detect and decide on network support -- start with lowest priority
  324.     @ if f$search("cmuip_root:[syslib]libcmu.olb") .nes. "" then -
  325.             net_option = "CMU_TCPIP"
  326.     @ ! next but lowest priority -- may overwrite previous
  327.     @ if f$search("sys$library:ucx$ipc.olb") .nes. "" then -
  328.             net_option = "DEC_TCPIP"
  329.     @ ! next but lowest priority -- may overwrite previous
  330.     @ if f$search("TWG$COMMON:[NETDIST.LIB]TWGLIB.OLB") .nes. "" then -
  331.             net_option = "WINTCP"
  332.     @ ! highest priority -- may overwrit previous
  333.     @ if f$search("multinet:multinet_socket_library.exe") .nes. "" then -
  334.         net_option = "MULTINET"
  335.     @ ! check for override (override automatic detection)
  336.     @ if net_override .nes. "" then net_option = net_override
  337.     @ ! if net_option still not set, disable net support
  338.     @ if "''net_option'" .eqs. "" then net_option = "NONET"
  339.  
  340.     @ ! net_option set, now set net_name, describing the product
  341.     @ if "''net_option'" .eqs. "NONET" then net_name = "no"
  342.     @ if net_option .eqs. "MULTINET" then net_name = "TGV MultiNet TCP/IP"
  343.     @ if net_option .eqs. "WINTCP" then net_name = "Wollongong WIN/TCP"
  344.     @ if net_option .eqs. "DEC_TCPIP" then net_name = "DEC TCP/IP"
  345.     @ if net_option .eqs. "CMU_TCPIP" then net_name = "CMU-OpenVMS/IP"
  346.  
  347.     @ ! if override contained an error, then net_name will not be set
  348.     @ if "''net_name'" .eqs. "" then -
  349.         echo tab + fatal , "Invalid net_option ", net_override
  350.     @ if "''net_name'" .eqs. "" then exit
  351.  
  352.     @ ! define some logicals for WINTCP
  353.     @ if net_option .eqs. "WINTCP" then -
  354.         define /nolog vaxc$include twg$tcp:[netdist.include],sys$library
  355.     @ if net_option .eqs. "WINTCP" then -
  356.         define /nolog sys twg$tcp:[netdist.include.sys]
  357.  
  358.     @ ! set linker options file
  359.     @ wershare_file = "wershare.opt"
  360.  
  361.     @ ! set text for banner, default empty string
  362.     @ share_text = ""
  363.     @ if share_opt .eqs. "VMSSHARE" then share_text = ", shared library"
  364.  
  365.     @ ! open options file, if appropriate
  366.     @ if share_opt .eqs. "VMSSHARE" .or. net_option .eqs. "MULTINET" then -
  367.         open/write wermit_opt_file 'wershare_file'  ! fail handled by MMS
  368.     @ if share_opt .eqs. "VMSSHARE" then -
  369.         write wermit_opt_file "sys$share:vaxcrtl.exe/share"
  370.     @ if net_option .eqs. "MULTINET" then -
  371.         write wermit_opt_file "multinet:multinet_socket_library.exe/share"
  372.     @ ! Just speculating (pwp 92-10-15);
  373.     @ ! to test uncomment this and companion section in link section
  374.     @ ! if net_option .eqs. "DEC_TCPIP" then -
  375.       !  write wermit_opt_file "sys$share:ucx$ipc.exe/share"
  376.     @ if share_opt .eqs. "VMSSHARE" .or. net_option .eqs. "MULTINET" then -
  377.         close wermit_opt_file
  378.     @ ! no need to add WINTCP information to options file
  379.     @ ! options for shared linking written to options file
  380.  
  381.     @ ! detect and decide on operating system version
  382.     @ _osversion = f$edit(f$getsyi("version"),"compress")
  383.     @ os_fieldtest = "F"
  384.     @ if f$extract(0,1,_osversion) .nes. "V" then os_fieldtest = "T"
  385.     @ if os_fieldtest .eqs. "T" then echo warning + -
  386.         "You appear to be running a Field Test version of VMS."
  387.     @ if os_fieldtest .eqs. "T" then echo tab + -
  388.         "This description file will assume that the operating system"
  389.     @ if os_fieldtest .eqs. "T" then echo tab + -
  390.         "version is at least v5.0."
  391.     @ if os_fieldtest .eqs. "T" then echo ""
  392.     @ if os_fieldtest .eqs. "T" then _osversion = "V5.0"
  393.     @ del/sym os_fieldtest
  394.     @ ! end of if os_fieldtest checks
  395.     @ _osmajor = 0+f$extract(1,1,_osversion)
  396.     @ _osminor = 0+f$extract(3,1,_osversion)
  397.     @ vms_ver = "VMS_V" + f$string(_osmajor) + f$string(_osminor)
  398.  
  399.     @ ! detect and decide on C compiler version
  400.     @ cc_ver = "VAXC030"
  401.     @ if f$search("sys$library:xabrudef.h") .nes. "" then cc_ver = "VAXC031"
  402.     @ old_compiler = "F"
  403.     @ if cc_ver .nes. "VAXC031" then old_compiler = "T"
  404.     @ if old_compiler .eqs. "T" then echo warning + -
  405.         "Your system has an older version of the VAX C compiler."
  406.     @ if old_compiler .eqs. "T" then echo tab + -
  407.         "VMS C-Kermit was designed to be compiled under VAX C 3.1 or newer."
  408.     @ if old_compiler .eqs. "T" then echo tab + -
  409.         "It has not been verified to build properly under this version."
  410.     @ if old_compiler .eqs. "T" then echo tab + -
  411.         "Please exercise caution until you've verified proper operation."
  412.     @ if old_compiler .eqs. "T" then echo ""
  413.     @ del/sym old_compiler
  414.  
  415. ckvcvt.obj : ckvcvt.c
  416.  
  417. wermit_first :
  418.     @ echo "Building WERMIT", -
  419.         share_text, ", ", net_name, " network support", -
  420.         ", VAX/VMS ", _osversion
  421.  
  422. ckvcvt_first :
  423.     @ echo "Building CKVCVT", share_text, ", VAX/VMS ", _osversion
  424.  
  425. ckvker_last :
  426.     @ if f$search(wershare_file) .nes. "" then -
  427.         del 'wershare_file';*
  428.  
  429. wermit_last :
  430.     @ echo "WERMIT compilation complete"
  431.  
  432. ckvcvt_last :
  433.     @ echo "CKVCVT compilation complete"
  434.  
  435. all_last :
  436.     @ echo "WERMIT and CKVCVT compilation complete"
  437.  
  438. cleanup :
  439.     @ if f$search("wart.exe") .nes. "" then del wart.exe;*
  440.     @ if f$search("*.obj") .nes. "" then del *.obj;*
  441.     @ if f$search("ckcpro.c") .nes. "" then del ckcpro.c;*
  442.     @ echo "Cleanup done"
  443.     @ echo ""
  444.  
  445. !! end of ckvker.mms !!
  446.