home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
old
/
ckermit5a190
/
ckoker.mak
< prev
next >
Wrap
Text File
|
1994-09-08
|
10KB
|
301 lines
# CKOKER.MAK, Version 4.03
# See CKOMAK.HLP for further information.
# Authors:
# Kai Uwe Rommel, Muenchen, Germany
# Jeffrey Altman, Altmania Productions, Great Neck, NY, USA
# Frank da Cruz, Columbia University, New York City, USA
# Michael Godfrey, Stanford University, USA
# Last update: Fri Sep 9 13:39:45 1994
#
# -- Makefile to build C-Kermit 5A(190) for OS/2 --
#
# The result is a runnable program called CKOKER16.EXE or CKOKER32.EXE
# in the current directory.
#
# The 32-bit versions run only on OS/2 2.00 or higher.
#---------- Compiler targets:
#
# To build: "[dn]make <target>"
unknown:
@echo Please specify target: "msc ibmc gcc" or "clean"
# Microsoft C 6.00A (16-bit):
#
# When (if) the LINK step doesn't work: (a) make sure the MSC directories are
# ahead of the OS/2 directories in your PATH; (b) if LINK complains about not
# finding LLIBCEP.LIB (because NMAKE inserted "/NOD:LLIBCE.LIB LLIBCEP.LIB"
# into the LINK options), just tell it to use LLIBCE.LIB.
#
# Warning: If the compiler complains about "Unrecoverable heap overflow", in
# Pass x, add the -BxCxL option after -W2, within the quotes; for example, for
# Pass 3, add -B3C3L. This requires CxL.EXE on disk (e.g. C3L.EXE for Pass 3).
#
# IMPORTANT: When building with TCP/IP support, edit the IBM-supplied
# TCPIP\INCLUDE\NETLIB.H to remove the spurious #define for SIGALRM!
# Similarly, the FTP Software PC/TCP devkit header files will need some
# editing to correct far vs _far confusion.
# release version
msc:
$(MAKE) -f ckoker.mak all16 \
CC="cl -nologo -W2 -B2C2L -B3C3L -FPc -AL" OUT="-o" O=".obj" \
OPT="-Ot" DEBUG="-Gs" DLL="-Ze -D_DLL -MT -Alfw -Gs -Lp" \
CFLAGS="-Au -J -Zap -G2 -Gt8 -UMSDOS" \
LDFLAGS="-F 9A00 -Lp -link /noe /packc /packd /exep" \
DEF="ckoker.def"
# debugging version
mscd:
$(MAKE) -f ckoker.mak all16 \
CC="cl -nologo -W2 -B2C2L -B3C3L -FPc -AL" OUT="-o" O=".obj" \
OPT="-Od" DEBUG="-Zi" DLL="-Ze -D_DLL -MT -Alfw -Gs -Lp" \
CFLAGS="-Au -J -Zap -G2 -Gt8 -UMSDOS" \
LDFLAGS="-F 9A00 -Lp -link /noe /packc /packd /exep" \
DEF="ckoker.def"
# IBM C Set++ 2.x (32-bit) with static linking -- no DLL's required.
# Which is good, because otherwise users would need to have the IBM
# OS/2 development system C libraries on their PCs.
# - Current CSDs are CTC0009 and CTU0002
# - Current LINK386 is 2.01.016
#
# -G4 optimizes for the i486 pipeline. It might make the program run a bit
# faster on 486 and above, but it also increases the size of .EXE by about
# 30K. The result still runs OK on i386 processors.
# Add -G4 to the CC= line below if you want i486 optimization.
#
# msgbind does not use any environment variables to find DDE4.MSG. Therefore,
# its path (on the system where you are building C-Kermit) must be edited into
# CKOKER.MSB, or the DDE4.MSG file must be copied into the current directory.
# It is normally found in IBMCPP\HELP.
# release version
ibmc:
$(MAKE) -f ckoker.mak all32 \
CC="icc -q -Sm -Gm -Gt -G4" \
CC2="-Fi+ -Si+ -Gi+" \
OUT="-Fe" O=".obj" \
OPT="-O -Oi25" \
DEBUG="-Gs" \
DLL="-Gt- -Gs" \
CFLAGS="-Sp1 -D__STDC__" \
LDFLAGS="" \
LINKFLAGS="/nologo /noi /exepack /align:4 /base:0x10000 /runfromvdm" \
DEF="ckoker32.def"
# profiling version
ibmcp:
$(MAKE) -f ckoker.mak all32 \
CC="icc -q -Sm -Gm -Gt -G4" \
CC2="-Fi+ -Si+ -Gi+"\
OUT="-Fe" O=".obj" \
OPT="-O -Oi25" \
DEBUG="-Gh -Ti" \
DLL="-Gt- -Gs" \
CFLAGS="-Sp1 -D__STDC__" \
LDFLAGS="dde4xtra.obj" \
LINKFLAGS="/nologo /noi /exepack /align:4 /base:0x10000 /runfromvdm" \
DEF="ckoker32.def"
# debugging version
ibmcd:
$(MAKE) -f ckoker.mak all32 \
CC="icc -q -Sm -Gm -Gt -G4" \
CC2="-Fi+ -Si+ -Gi+"\
OUT="-Fe" O=".obj" \
OPT="" \
DEBUG="-Ti -Tx+ -D__DEBUG" \
DEBUG2="/Wcmp /Wcnd /Wcns /Wdcl \
/Weff /Wenu /Wext /Wgnr /Word /Wpar /Wppc /Wpro /Wrea \
/Wret /Wtrd /Wund /Wuni /Wuse" \
DLL="-Gt- -Gs" \
CFLAGS="-Sp1 -D__STDC__" \
LDFLAGS="" \
LINKFLAGS="/nologo /noi /exepack /align:4 /base:0x10000 /runfromvdm \
/debug /line" \
DEF="ckoker32.def"
# emx 0.8f + gcc 2.3.3 (32-bit)
# comment out the msgbind line in the ckoker32.exe rules
# release version
gcc:
$(MAKE) -f ckoker.mak all32 \
CC="gcc -Zomf" OUT="-o" O=".obj" \
OPT="-O" DEBUG="-s" DLL="-Zdll" \
CFLAGS="" LDFLAGS="" \
DEF="ckoker32.def"
# debugging version
gccd:
$(MAKE) -f ckoker.mak all32 \
CC="gcc" OUT="-o" O=".o" \
OPT="" DEBUG="-g" DLL="-Zdll" \
CFLAGS="" LDFLAGS="" \
DEF="ckoker32.def"
#---------- Macros:
# To build without TCP/IP support, uncomment the following line and
# then comment out the next:
# DEFINES = -DOS2 -DDYNAMIC -DKANJI -DNETCONN -DDECNET -DNPIPE -DOS2MOUSE
# To build with TCP/IP support, uncomment the following three
# lines and comment out the previous set:
DEFINES = -DOS2 -DDYNAMIC -DKANJI -DNETCONN -DDECNET -DTCPSOCKET \
-DNPIPE -DOS2MOUSE -DOS2PM -DCK_NETBIOS
LIBS = rexx.lib
# To override the following definitions without having to edit this file,
# define them as environment variables and then run NMAKE with the /E switch.
# for IBM TCP/IP 1.2.1
IBM12DIR = C:\TCPIP
IBM12LIBS = $(IBM12DIR)\lib\tcpipdll.lib
IBM12INC = $(IBM12DIR)\include
# for IBM TCP/IP 2.0
IBM20DIR = E:\TCPIP
IBM20LIBS = $(IBM20DIR)\lib\tcp32dll.lib $(IBM20DIR)\lib\so32dll.lib
IBM20INC = $(IBM20DIR)\include
# for FTP PC/TCP 1.3
FTP13DIR = E:\DEVKIT
FTP13LIBS32 = $(FTP13DIR)\lib\socket32.lib
FTP13LIBS16 = $(FTP13DIR)\lib\socket16.lib
FTP13INC = $(FTP13DIR)\include
#---------- Inference rules:
.SUFFIXES: .w .c $(O)
.c$(O):
$(CC) $(CC2) $(CFLAGS) $(DEBUG) $(OPT) $(DEFINES) -c $*.c
#---------- Targets:
OBJS = ckcmai$(O) ckcfns$(O) ckcfn2$(O) ckcfn3$(O) ckcpro$(O) \
ckuxla$(O) ckucmd$(O) ckuusr$(O) ckuus2$(O) ckuus3$(O) \
ckuus4$(O) ckuus5$(O) ckuus6$(O) ckuus7$(O) ckuusx$(O) \
ckuusy$(O) ckudia$(O) ckuscr$(O) ckufio$(O) ckocon$(O) \
ckotio$(O) ckonet$(O) ckcnet$(O) ckonbi$(O) ckomou$(O)
all32: ckoker32.exe tcp32
all16: ckoker16.exe tcp16
# Remove the DLLs you don't have the Development Kits for:
# IBM TCP/IP 2.0 - cko32i20.dll
# IBM TCP/IP 1.2 - cko32i12.dll cko16i12.dll
# FTP Software PC/TCP 1.3 - cko32i13.dll cko16f13.dll
tcp32: cko32i20.dll cko32i12.dll cko32f13.dll
tcp16: cko16i12.dll cko16f13.dll
ckoker32.exe: $(OBJS) $(DEF) ckoker.mak ckoker.msb ckoker.rc
$(CC) $(CC2) /B"$(LINKFLAGS)" $(DEBUG) $(OBJS) $(DEF) $(OUT) $@ $(LIBS) $(LDFLAGS)
msgbind ckoker.msb
rc ckoker.rc ckoker32.exe
ckoker16.exe: $(OBJS) $(DEF) ckoker.mak
$(CC) $(CC2) $(DEBUG) $(OBJS) $(DEF) $(OUT) $@ $(LIBS) $(LDFLAGS)
cko32i20.dll: ckoi20.obj cko32i20.def
$(CC) $(CC2) $(DEBUG) $(DLL) ckoi20.obj cko32i20.def $(OUT) $@ \
$(IBM20LIBS)
cko32i12.dll: ckoi12.obj cko32i12.def
$(CC) $(CC2) $(DEBUG) $(DLL) ckoi12.obj cko32i12.def $(OUT) $@ \
$(IBM12LIBS)
cko16i12.dll: ckoi12.obj cko16i12.def
$(CC) $(CC2) $(DEBUG) $(DLL) ckoi12.obj cko16i12.def $(OUT) $@ \
$(IBM12LIBS)
cko32f13.dll: ckof13.obj cko32f13.def
$(CC) $(CC2) $(DEBUG) $(DLL) ckof13.obj cko32f13.def $(OUT) $@ \
$(FTP13LIBS32)
cko16f13.dll: ckof13.obj cko16f13.def
$(CC) $(CC2) $(DEBUG) $(DLL) ckof13.obj cko16f13.def $(OUT) $@ \
$(FTP13LIBS16)
ckwart.exe: ckwart$(O) $(DEF)
$(CC) $(CC2) $(DEBUG) ckwart$(O) $(DEF) $(OUT) $@ $(LIBS) $(LDFLAGS)
docs: ckermit.inf
#---------- Dependencies:
ckcmai$(O): ckcmai.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcnet.h ckonet.h
ckcfns$(O): ckcfns.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcxla.h ckuxla.h
ckcfn2$(O): ckcfn2.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcxla.h ckuxla.h
ckcfn3$(O): ckcfn3.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcxla.h ckuxla.h
ckcpro$(O): ckcpro.c ckcker.h ckcdeb.h ckcasc.h
ckuxla$(O): ckuxla.c ckcker.h ckcdeb.h ckcxla.h ckuxla.h
ckucmd$(O): ckucmd.c ckcker.h ckcdeb.h ckcasc.h ckucmd.h
ckudia$(O): ckudia.c ckcker.h ckcdeb.h ckcasc.h ckucmd.h
ckuscr$(O): ckuscr.c ckcker.h ckcdeb.h ckcasc.h
ckuusr$(O): ckuusr.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
ckcxla.h ckuxla.h ckcnet.h ckonet.h
ckuus2$(O): ckuus2.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
ckcxla.h ckuxla.h
ckuus3$(O): ckuus3.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
ckcxla.h ckuxla.h ckcnet.h ckonet.h ckonbi.h
ckuus4$(O): ckuus4.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
ckcxla.h ckuxla.h ckuver.h ckcnet.h ckonet.h
ckuus5$(O): ckuus5.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h
ckuus6$(O): ckuus6.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h
ckuus7$(O): ckuus7.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
ckcxla.h ckuxla.h ckcnet.h ckonet.h
ckuusx$(O): ckuusx.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckonbi.h
ckuusy$(O): ckuusy.c ckcker.h ckcdeb.h ckcasc.h
ckufio$(O): ckufio.c ckcker.h ckcdeb.h ckuver.h ckodir.h ckoker.h
ckocon$(O): ckocon.c ckcker.h ckcdeb.h ckcasc.h ckoker.h ckocon.h ckonbi.h
ckotio$(O): ckotio.c ckcker.h ckcdeb.h ckuver.h ckodir.h ckoker.h
ckcnet$(O): ckcnet.c ckcker.h ckcdeb.h ckcnet.h ckonet.h ckotcp.h
ckonet$(O): ckonet.c ckcker.h ckcdeb.h ckoker.h ckcnet.h ckonet.h \
ckotcp.h ckonbi.h
ckonbi$(O): ckonbi.c ckonbi.h ckcdeb.h
ckomou$(O): ckomou.c ckcdeb.h
ckcpro.c: ckcpro.w
$(MAKE) ckwart.exe \
CC="$(CC) $(CC2)" OUT="$(OUT)" O="$(O)" OPT="$(OPT)" \
DEBUG="$(DEBUG)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
ckwart ckcpro.w ckcpro.c
ckof13.obj: ckoftp.c ckotcp.h
@echo > ckof13.obj
del ckof13.obj
$(CC) $(CC2) $(CFLAGS) -DTCPERRNO -I$(FTP13INC) \
$(DEBUG) $(OPT) $(DLL) -c ckoftp.c
ren ckoftp.obj ckof13.obj
ckoi20.obj: ckoibm.c ckotcp.h
@echo > ckoi20.obj
del ckoi20.obj
$(CC) $(CC2) $(CFLAGS) -I$(IBM20INC) \
$(DEBUG) $(OPT) $(DLL) -c ckoibm.c
ren ckoibm.obj ckoi20.obj
ckoi12.obj: ckoibm.c ckotcp.h
@echo > ckoi12.obj
del ckoi12.obj
$(CC) $(CC2) $(CFLAGS) -I$(IBM12INC) \
$(DEBUG) $(OPT) $(DLL) -c ckoibm.c
ren ckoibm.obj ckoi12.obj
ckermit.inf: ckermit.ipf cker01.ipf cker02.ipf cker03.ipf cker04.ipf \
cker05.ipf cker06.ipf
ipfc ckermit.ipf /inf
clean:
-del *.obj
-del *.res