# 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 " 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