home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
old
/
misc
/
ck5a189
/
ckvker.mak
< prev
next >
Wrap
Text File
|
2020-01-01
|
16KB
|
447 lines
! MAKEFILE for VMS C-Kermit 5A (WERMIT) and labeled file decoder (CKVCVT)
!
! Written by Terry Kennedy (tmk), TERRY@SPCVXA.SPC.EDU,
! Saint Peters College, Jersey City, NJ, USA,
! 13-Apr-1991
!
! To be used with the "make" program for VAX/VMS written by Todd Aven, the
! Software Sweatshop, 564 Laurelton Blvd, Long Beach, NY 11561.
! Rename this file to "MAKEFILE." and then simply type "make" to build
! C-Kermit. The result will be a file, WERMIT.EXE, which you can run by
! typing "run wermit", and which you can rename to KERMIT.EXE or CKERMIT.EXE
! and install in SYS:. See CKVINS.DOC for further instructions.
!
! Revision history:
!
! 13-Apr-1991 - tmk - Original version
! 21-Jun-1991 - tmk - Make sure executables are properly accessible
! 05-Nov-1991 - fdc - Add ckuus7.c source module
! 19-Jun-1992 - jrs - (James Sturdevant <STURDJ@a1.medtronic.COM>) Add WIN/TCP
! 29-Jun-1992 - fdc - Add CURSES (SMG) support
! 02-Jul-1992 - jrs - Fix WIN/TCP support
! 04-Jul-1992 - tmk - Don't need VAXCCURSE library any more.
! 12-Jul-1992 - tmk - Add localopts.
! 23-Aug-1992 - fdc - Add KANJI support.
! 13-Oct-1992 - jrs - Add changes from Lee Tibbert for Alpha and DEC TCP/IP
! 13-Oct-1992 - fdc - Add ckvioc.[ch] to DEC TCP/IP build
! 07-Dec-1992 - fdc - Remove /list compiler switch
! 26-May-1993 - jrs - Add GCC and TCPware support
!
! Read CKVINS.DOC for instructions.
!
! SITE DEPENDENCIES -
!
! Some site options you might want to add:
! NOPUSH - Disallow access to DCL from within Kermit.
! NODEBUG - Remove all debugging code to make C-Kermit smaller and faster.
!
! The following site options are used in this file as distributed:
! DYNAMIC - Allocate packet and other buffers dynamically.
! NOJC - Omit Job-Control related code.
! NOSETBUF - Don't make console i/o unbuffered.
! CK_CURSES - Include fullscreen file transfer display.
! KANJI - Include Kanji file transfer translation.
! IFDEBUG - Avoid calls to debug() if debugging not on: faster execution
! but bigger .EXE file. If you don't need debugging, replace
! this by NODEBUG.
!
wermit.olb(*): *.c
call 'hw_arch'_cc $*
siteopts = /define=("DYNAMIC", "NOJC", "NOSETBUF", "CK_CURSES", "KANJI", \
"IFDEBUG", "''net_option'", "''cc_ver'", "''vms_ver'")
!
! Compiler and linker options
!
link_switches = /map/full/sym
library_switches = /replace
!cc_switches = /nodebug/optimize
cc_switches = /debug/optimize
!
unconditional_relink = makefile.
!
! Uncomment the next line to force unconditional relinking
!
! unconditional_relink = dummy_target
!
! Define the master target list - these can be rebuilt on any system that
! has VAX C.
!
all : wermit \
ckvcvt
!
gkermit : check_stuff \
wermit_start \
gnu_setup \
gkermit.exe
write sys$output "Done rebuilding GKERMIT"
!
wermit : check_stuff \
wermit_start \
wermit.exe
write sys$output "Done rebuilding WERMIT"
!
ckvcvt : check_stuff \
ckvcvt_start \
ckvcvt.exe
write sys$output "Done rebuilding CKVCVT"
!
gnu_setup :
hw_arch := "GNU"
!
! And here are the individual targets
!
check_stuff :
hw_arch := "VAX" ! Assume VAX
if (f$getsyi("CPU") .eq. 128) ! 128 means "not a VAX"
then
hw_arch := "''f$getsyi("Arch_Name")'"
if ("''hw_arch'" .nes. "Alpha")
then
if (f$locate("ALPHA", f$edit("''hw_arch'","UPCASE")) -
.lt. f$length("''hw_arch'"))
then
hw_arch := "Alpha" ! Treat as Alpha AXP
else
write sys$output "Unknown hardware architecture ''hw_arch'"
exit %x10000004
endif ! Unknown
endif ! String not "Alpha"
endif ! Not VAX
cc_ver = "VAXC023"
if f$search("sys$library:fscndef.h") .nes. "" then cc_ver = "VAXC024"
if f$search("sys$library:ppl$routines.h") .nes. "" then cc_ver = "VAXC030"
if f$search("sys$library:xabrudef.h") .nes. "" then cc_ver = "VAXC031"
sys_ver = f$edit(f$getsyi("version"),"compress")
if f$extract(0,1,sys_ver) .nes. "V"
then
type sys$input
You appear to be running a Field Test version of VMS. This script will $
assume that the operating system version is at least V5.0. $
$
sys_ver = "V5.0"
endif
sys_maj = 0+f$extract(1,1,sys_ver)
sys_min = 0+f$extract(3,1,sys_ver)
if sys_maj .lt. 5 then if (sys_min/2)*2 .ne. sys_min then \
sys_min = sys_min - 1
vms_ver = "VMS_V''sys_maj'''sys_min'"
if ("''net_option'" .eqs. "")
then
net_option = "NONET"
library_dir = "SYS$LIBRARY"
if f$search("SYS$LIBRARY:UCX$IPC.OLB") .nes. ""
then
net_option = "DEC_TCPIP"
endif
if f$search("TCPWARE:UCX$IPC.OLB") .nes. ""
then
net_option = "TCPWARE"
library_dir = "TCPWARE"
endif
if f$search("multinet:multinet_socket_library.exe") .nes. "" then \
net_option = "MULTINET"
if f$search("TWG$COMMON:[NETDIST.LIB]TWGLIB.OLB") .nes. ""
then
net_option = "WINTCP"
define /nolog vaxc$include twg$tcp:[netdist.include],sys$library
define /nolog sys twg$tcp:[netdist.include.sys]
endif
if f$search("multinet:multinet_socket_library.exe") .nes. "" then \
net_option = "MULTINET"
endif !net_option
if net_option .eqs. "NONET" then net_name = "no"
if net_option .eqs. "MULTINET" then net_name = "MultiNet"
if net_option .eqs. "WINTCP" then net_name = "WIN/TCP"
if net_option .eqs. "DEC_TCPIP" then \
net_name = "DEC TCP/IP Services for OpenVMS(tm)"
if net_option .eqs. "TCPWARE"
then
net_name = "Process Software TCPware"
net_option = "DEC_TCPIP"
endif
if sys_maj .lt. 5
then
write sys$output "You are running VMS V''sys_ver'."
type sys$input
VMS C-Kermit has not been verified to build properly under this version, $
although pre-built versions will run properly. Please exercise caution $
until you have verified proper operation. $
$
endif
if cc_ver .nes. "VAXC031"
then
type sys$input
Your system has an older version of the VAX C compiler. VMS C-Kermit was $
designed to be compiled under VAX C V3.1 or newer. It has not been ver- $
ified to build properly under this version, although pre-built versions $
will run properly. Please exercise caution until you have verified proper $
operation. $
$
endif
VAX_CC: Subroutine
On Control_Y Then $exit %x10000004
On Warning Then $exit $status
write sys$output " Compiling ''P1' at ''f$time()"
cc$(cc_switches)$(siteopts)/obj='P1'.obj 'localopts' 'P1'.c
library$(library_switches) wermit.olb 'P1'.obj
delete 'P1'.obj.*
exit
EndSubroutine !VAX_CC
GNU_CC: Subroutine
On Control_Y Then $exit %x10000004
On Warning Then $exit $status
write sys$output " Compiling ''P1' at ''f$time()"
gcc/optimize$(siteopts)/obj='P1'.obj 'P1'.c
library$(library_switches) wermit.olb 'P1'.obj
delete 'P1'.obj.*
exit
EndSubroutine !VAX_CC
AXP_CC: Subroutine
On Control_Y Then $exit %x10000004
On Warning Then $exit $status
write sys$output " Compiling ''P1' at ''f$time()"
cc/'debug'/standard='lint_standard'/'optimize' -
/define=("DEBUG", "TLOG", "DYNAMIC", "CK_CURSES", "IFDEBUG", "KANJI", -
"''net_option'", "''cc_ver'", "''vms_ver'") 'P1'
exit
EndSubroutine !AXP_CC
axp_cc := "DECC_AXP" ! LT personal value, not DEC value
if (hw_arch .eqs. "Alpha") then cc_ver = "''axp_cc'"
!debug := nodebug
debug := debug
Link_Debug := nodebug
! optimize := optimize=level=0 ! level=0 means NoOptimize
optimize := optimize=level=4 ! level=4 means greatest optimization
!lint_standard := ANSI89
lint_standard := VAXC ! Evil living is its own retribution....
!
wermit_start :
write sys$output "Rebuilding WERMIT with ''net_name' network support"
if f$type(localopts) .eqs. "" then localopts = ""
!
ckvcvt_start :
write sys$output "Rebuilding CKVCVT"
!
dummy_target :
write sys$output ""
!
germit.olb :
if f$search("germit.olb") .eqs. "" then libr/create/object germit.olb
!
wermit.olb :
if f$search("wermit.olb") .eqs. "" then libr/create/object wermit.olb
!
wermit.exe : wermit.olb(ckvioc) wermit.olb(ckcfn2) \
wermit.olb(ckcfn3) wermit.olb(ckcfns) wermit.olb(ckcmai) \
wermit.olb(ckcpro) wermit.olb(ckucmd) wermit.olb(ckudia) \
wermit.olb(ckuscr) wermit.olb(ckuus2) wermit.olb(ckuus3) \
wermit.olb(ckuus4) wermit.olb(ckuus5) wermit.olb(ckuus6) \
wermit.olb(ckuus7) wermit.olb(ckuusr) wermit.olb(ckuusx) \
wermit.olb(ckuusy) wermit.olb(ckcnet) wermit.olb(ckvfio) \
wermit.olb(ckvtio) wermit.olb(ckuxla) wermit.olb(ckvcon) \
$(unconditional_relink)
write sys$output " Linking WERMIT at ''f$time()"
if (hw_arch .eqs. "Alpha")
then
link/'link_debug' /exec=wermit.exe -
ckcmai, ckcfn2, ckcfn3, ckcfns, ckcpro, ckucmd, ckudia, -
ckuscr, ckuus2, ckuus3, ckuus4, ckuus5, ckuus6, ckuus7, -
ckuusr, ckuusx, ckuusy, ckuxla, ckvcon, ckcnet, ckvfio, -
ckvtio, ckvioc
else
if net_option .eqs. "MULTINET"
then
link$(link_switches) wermit.olb/library/include=(ckcfn2, ckcfn3, ckcfns, \
ckcmai, ckcpro, ckucmd, ckudia, ckuscr, ckuus2, ckuus3, ckuus4, ckuus5, \
ckuus6, ckuus7, ckuusr, ckuxla, ckvcon, ckcnet, ckvfio, ckvtio), \
sys$share:vaxcrtl.olb/library/exec=wermit.exe, sys$input:/options
multinet:multinet_socket_library.exe/share $
else
if net_option .eqs. "WINTCP"
then
link/sym wermit.olb/library/include=(ckcfn2, ckcfn3, ckcfns, \
ckcmai, ckcpro, ckucmd, ckudia, ckuscr, ckuus2, ckuus3, ckuus4, ckuus5, \
ckuus6, ckuus7, ckuusr, ckuxla, ckvcon, ckcnet, ckvfio, ckvtio), \
twg$common:[netdist.lib]twglib.olb/library, \
sys$share:vaxcrtl.olb/library/exec=wermit.exe
else
if net_option .eqs. "DEC_TCPIP"
then
! No symbol table -lt. 1992-08-14
link wermit.olb/exec=wermit.exe/library -
/include=(ckcfn2, ckcfn3, ckcfns,-
ckcmai, ckcpro, ckucmd, ckudia, ckuscr, ckuus2, ckuus3, ckuus4, ckuus5,-
ckuus6, ckuus7, ckuusr, ckuxla, ckvcon, ckcnet, ckvfio, ckvtio, ckvioc),-
'library_dir':ucx$ipc.olb/library, -
sys$share:vaxcrtl.olb/library
else
link$(link_switches) wermit.olb/library/include=(ckcfn2, ckcfn3, ckcfns, \
ckcmai, ckcpro, ckucmd, ckudia, ckuscr, ckuus2, ckuus3, ckuus4, ckuus5, \
ckuus6, ckuus7, ckuusr, ckuxla, ckvcon, ckcnet, ckvfio, ckvtio), \
sys$share:vaxcrtl.olb/library/exec=wermit.exe
endif !DEC TCP or none
endif !WIN/TCP
endif !MultiNet
endif !Alpha
set file/protection=(g:re,w:re) wermit.exe
!
gkermit.exe : wermit.olb(ckvioc) wermit.olb(ckcfn2) \
wermit.olb(ckcfn3) wermit.olb(ckcfns) wermit.olb(ckcmai) \
wermit.olb(ckcpro) wermit.olb(ckucmd) wermit.olb(ckudia) \
wermit.olb(ckuscr) wermit.olb(ckuus2) wermit.olb(ckuus3) \
wermit.olb(ckuus4) wermit.olb(ckuus5) wermit.olb(ckuus6) \
wermit.olb(ckuus7) wermit.olb(ckuusr) wermit.olb(ckuusx) \
wermit.olb(ckuusy) wermit.olb(ckcnet) wermit.olb(ckvfio) \
wermit.olb(ckvtio) wermit.olb(ckuxla) wermit.olb(ckvcon) \
$(unconditional_relink)
write sys$output " Linking GKERMIT at ''f$time()"
if (hw_arch .eqs. "Alpha")
then
link/'link_debug' /exec=gkermit.exe -
ckcmai, ckcfn2, ckcfn3, ckcfns, ckcpro, ckucmd, ckudia, -
ckuscr, ckuus2, ckuus3, ckuus4, ckuus5, ckuus6, ckuus7, -
ckuusr, ckuusx, ckuusy, ckuxla, ckvcon, ckcnet, ckvfio, -
ckvtio, ckvioc, gnu_cc:[000000]gcclib/lib
else
if net_option .eqs. "MULTINET"
then
link$(link_switches) wermit.olb/library/include=(ckcfn2, ckcfn3, ckcfns, \
ckcmai, ckcpro, ckucmd, ckudia, ckuscr, ckuus2, ckuus3, ckuus4, ckuus5, \
ckuus6, ckuus7, ckuusr, ckuxla, ckvcon, ckcnet, ckvfio, ckvtio), \
gnu_cc:[000000]gcclib/lib, \
sys$share:vaxcrtl.olb/library/exec=gkermit.exe, sys$input:/options
multinet:multinet_socket_library.exe/share $
else
if net_option .eqs. "WINTCP"
then
link/sym wermit.olb/library/include=(ckcfn2, ckcfn3, ckcfns, \
ckcmai, ckcpro, ckucmd, ckudia, ckuscr, ckuus2, ckuus3, ckuus4, ckuus5, \
ckuus6, ckuus7, ckuusr, ckuxla, ckvcon, ckcnet, ckvfio, ckvtio), \
twg$common:[netdist.lib]twglib.olb/library, \
gnu_cc:[000000]gcclib/lib /exec=gkermit.exe
else
if net_option .eqs. "DEC_TCPIP"
then
! No symbol table -lt. 1992-08-14
link wermit.olb/exec=gkermit.exe/library -
/include=(ckcfn2, ckcfn3, ckcfns,-
ckcmai, ckcpro, ckucmd, ckudia, ckuscr, ckuus2, ckuus3, ckuus4, ckuus5,-
ckuus6, ckuus7, ckuusr, ckuxla, ckvcon, ckcnet, ckvfio, ckvtio, ckvioc),-
'library_dir':ucx$ipc.olb/library, -
gnu_cc:[000000]gcclib/lib
else
link$(link_switches) wermit.olb/library/include=(ckcfn2, ckcfn3, ckcfns, \
ckcmai, ckcpro, ckucmd, ckudia, ckuscr, ckuus2, ckuus3, ckuus4, ckuus5, \
ckuus6, ckuus7, ckuusr, ckuxla, ckvcon, ckcnet, ckvfio, ckvtio), \
gnu_cc:[000000]gcclib/lib/exec=gkermit.exe
endif !DEC TCP or none
endif !WIN/TCP
endif !MultiNet
endif !Alpha
set file/protection=(g:re,w:re) gkermit.exe
!
! First, make sure we have a current CKWART
!
ckwart.exe : ckwart.c
write sys$output " Compiling CKWART at ''f$time()"
cc$(cc_switches)$(siteopts)/obj=ckwart.obj 'localopts' ckwart.c
write sys$output " Linking CKWART at ''f$time()"
link$(link_switches)/exec=ckwart ckwart.obj, sys$share:vaxcrtl.olb/library
purge ckwart.obj
!
! Next, see if CKCPRO.C is current
!
ckcpro.c : ckcpro.w \
ckwart.exe ckcdeb.h ckcasc.h ckcker.h
write sys$output "Running CKWART at ''f$time()"
ckwart = "$" +f$parse("CKWART.EXE",,,"DEVICE") + \
f$parse("CKWART.EXE",,,"DIRECTORY") + "CKWART"
ckwart ckcpro.w ckcpro.c
purge ckcpro.c
wermit.old(ckvioc) : ckvioc.c ckvioc.h ckcdeb.h
wermit.olb(ckcfn2) : ckcfn2.c \
ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h
wermit.olb(ckcfn3) : ckcfn3.c \
ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h
wermit.olb(ckcfns) : ckcfns.c \
ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h
wermit.olb(ckcmai) : ckcmai.c \
ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h
wermit.olb(ckcpro) : ckcpro.c \
ckcker.h ckcdeb.h ckcasc.h
wermit.olb(ckucmd) : ckucmd.c \
ckcasc.h ckucmd.h ckcdeb.h
wermit.olb(ckudia) : ckudia.c \
ckcker.h ckcdeb.h ckucmd.h ckcasc.h
wermit.olb(ckuscr) : ckuscr.c \
ckcker.h ckcdeb.h ckcasc.h
wermit.olb(ckuus2) : ckuus2.c \
ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h
wermit.olb(ckuus3) : ckuus3.c \
ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h ckcnet.h
wermit.olb(ckuus4) : ckuus4.c \
ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h ckcnet.h
wermit.olb(ckuus5) : ckuus5.c \
ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h
wermit.olb(ckuus6) : ckuus6.c \
ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h
wermit.olb(ckuus7) : ckuus7.c \
ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h ckcnet.h
wermit.olb(ckuusr) : ckuusr.c \
ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h ckcnet.h
wermit.olb(ckuusx) : ckuusx.c \
ckcker.h ckuusr.h ckcdeb.h ckcasc.h
wermit.olb(ckuusy) : ckuusy.c \
ckcker.h ckcdeb.h ckcasc.h
wermit.olb(ckuxla) : ckuxla.c \
ckcker.h ckcdeb.h ckcxla.h ckuxla.h
wermit.olb(ckvcon) : ckvcon.c \
ckcdeb.h ckcasc.h ckcker.h ckcnet.h ckvvms.h ckcxla.h
wermit.olb(ckcnet) : ckcnet.c \
ckcdeb.h ckcker.h ckcnet.h
wermit.olb(ckvfio) : ckvfio.c \
ckcdeb.h ckcasc.h ckcker.h ckvvms.h
wermit.olb(ckvtio) : ckvtio.c \
ckcdeb.h ckcasc.h ckcker.h ckvvms.h
ckvcvt.exe : ckvcvt.c
write sys$output " Compiling CKVCVT at ''f$time()"
cc$(cc_switches)$(siteopts)/obj=ckvcvt.obj 'localopts' ckvcvt.c
write sys$output " Linking CKVCVT at ''f$time()"
link$(link_switches)/exec=ckvcvt ckvcvt.obj, sys$share:vaxcrtl.olb/library
set file/protection=(g:re,w:re) ckvcvt.exe
purge ckvcvt.obj
!
! All done...