home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ckc190.zip / ckoker.mak < prev    next >
Text File  |  1994-09-09  |  11KB  |  301 lines

  1. # CKOKER.MAK, Version 4.03
  2. # See CKOMAK.HLP for further information.
  3. # Authors: 
  4. #   Kai Uwe Rommel, Muenchen, Germany
  5. #   Jeffrey Altman, Altmania Productions, Great Neck, NY, USA
  6. #   Frank da Cruz, Columbia University, New York City, USA
  7. #   Michael Godfrey, Stanford University, USA
  8. # Last update: Fri Sep  9 13:39:45 1994
  9. #
  10. # -- Makefile to build C-Kermit 5A(190) for OS/2 --
  11. #
  12. # The result is a runnable program called CKOKER16.EXE or CKOKER32.EXE
  13. # in the current directory.
  14. #
  15. # The 32-bit versions run only on OS/2 2.00 or higher.
  16.  
  17. #---------- Compiler targets:
  18. #
  19. # To build: "[dn]make <target>"
  20.  
  21. unknown:
  22.     @echo Please specify target: "msc ibmc gcc" or "clean"
  23.  
  24. # Microsoft C 6.00A (16-bit):
  25. #
  26. # When (if) the LINK step doesn't work: (a) make sure the MSC directories are
  27. # ahead of the OS/2 directories in your PATH; (b) if LINK complains about not
  28. # finding LLIBCEP.LIB (because NMAKE inserted "/NOD:LLIBCE.LIB LLIBCEP.LIB"
  29. # into the LINK options), just tell it to use LLIBCE.LIB.
  30. # Warning: If the compiler complains about "Unrecoverable heap overflow", in
  31. # Pass x, add the -BxCxL option after -W2, within the quotes; for example, for
  32. # Pass 3, add -B3C3L.  This requires CxL.EXE on disk (e.g. C3L.EXE for Pass 3).
  33. #
  34.  
  35. #    IMPORTANT: When building with TCP/IP support, edit the IBM-supplied
  36. #    TCPIP\INCLUDE\NETLIB.H to remove the spurious #define for SIGALRM!
  37. #    Similarly, the FTP Software PC/TCP devkit header files will need some
  38. #    editing to correct far vs _far confusion.
  39.  
  40. # release version
  41. msc:
  42.     $(MAKE) -f ckoker.mak all16 \
  43.     CC="cl -nologo -W2 -B2C2L -B3C3L -FPc -AL" OUT="-o" O=".obj" \
  44.     OPT="-Ot" DEBUG="-Gs" DLL="-Ze -D_DLL -MT -Alfw -Gs -Lp" \
  45.     CFLAGS="-Au -J -Zap -G2 -Gt8 -UMSDOS" \
  46.     LDFLAGS="-F 9A00 -Lp -link /noe /packc /packd /exep" \
  47.     DEF="ckoker.def"
  48.  
  49. # debugging version
  50. mscd:
  51.     $(MAKE) -f ckoker.mak all16 \
  52.     CC="cl -nologo -W2 -B2C2L -B3C3L -FPc -AL" OUT="-o" O=".obj" \
  53.     OPT="-Od" DEBUG="-Zi" DLL="-Ze -D_DLL -MT -Alfw -Gs -Lp" \
  54.     CFLAGS="-Au -J -Zap -G2 -Gt8 -UMSDOS" \
  55.     LDFLAGS="-F 9A00 -Lp -link /noe /packc /packd /exep" \
  56.     DEF="ckoker.def"
  57.  
  58. # IBM C Set++ 2.x (32-bit) with static linking -- no DLL's required.
  59. # Which is good, because otherwise users would need to have the IBM
  60. # OS/2 development system C libraries on their PCs.
  61. # - Current CSDs are CTC0009 and CTU0002
  62. # - Current LINK386 is 2.01.016
  63. #
  64. # -G4 optimizes for the i486 pipeline.  It might make the program run a bit
  65. # faster on 486 and above, but it also increases the size of .EXE by about
  66. # 30K.  The result still runs OK on i386 processors.
  67. # Add -G4 to the CC= line below if you want i486 optimization.
  68. #
  69. # msgbind does not use any environment variables to find DDE4.MSG.  Therefore,
  70. # its path (on the system where you are building C-Kermit) must be edited into
  71. # CKOKER.MSB, or the DDE4.MSG file must be copied into the current directory.
  72. # It is normally found in IBMCPP\HELP.
  73.  
  74. # release version
  75. ibmc:
  76.     $(MAKE) -f ckoker.mak all32 \
  77.     CC="icc -q -Sm -Gm -Gt -G4" \
  78.         CC2="-Fi+ -Si+ -Gi+" \
  79.         OUT="-Fe" O=".obj" \
  80.     OPT="-O -Oi25" \
  81.         DEBUG="-Gs" \
  82.         DLL="-Gt- -Gs" \
  83.     CFLAGS="-Sp1 -D__STDC__" \
  84.         LDFLAGS="" \
  85.         LINKFLAGS="/nologo /noi /exepack /align:4 /base:0x10000 /runfromvdm" \
  86.     DEF="ckoker32.def"
  87.  
  88. # profiling version
  89. ibmcp:
  90.     $(MAKE) -f ckoker.mak all32 \
  91.     CC="icc -q -Sm -Gm -Gt -G4" \
  92.         CC2="-Fi+ -Si+ -Gi+"\
  93.         OUT="-Fe" O=".obj" \
  94.     OPT="-O -Oi25" \
  95.         DEBUG="-Gh -Ti" \
  96.         DLL="-Gt- -Gs" \
  97.     CFLAGS="-Sp1 -D__STDC__" \
  98.         LDFLAGS="dde4xtra.obj" \
  99.         LINKFLAGS="/nologo /noi /exepack /align:4 /base:0x10000 /runfromvdm" \
  100.     DEF="ckoker32.def"
  101.  
  102. # debugging version
  103. ibmcd:
  104.     $(MAKE) -f ckoker.mak all32 \
  105.     CC="icc -q -Sm -Gm -Gt -G4" \
  106.         CC2="-Fi+ -Si+ -Gi+"\
  107.         OUT="-Fe" O=".obj" \
  108.     OPT="" \
  109.         DEBUG="-Ti -Tx+ -D__DEBUG" \
  110.         DEBUG2="/Wcmp /Wcnd /Wcns /Wdcl \
  111.             /Weff /Wenu /Wext /Wgnr /Word /Wpar /Wppc /Wpro /Wrea \
  112.             /Wret /Wtrd /Wund /Wuni /Wuse" \
  113.         DLL="-Gt- -Gs" \
  114.     CFLAGS="-Sp1 -D__STDC__" \
  115.         LDFLAGS="" \
  116.         LINKFLAGS="/nologo /noi /exepack /align:4 /base:0x10000 /runfromvdm \
  117.                    /debug /line" \
  118.     DEF="ckoker32.def"
  119.  
  120. # emx 0.8f + gcc 2.3.3 (32-bit)
  121. # comment out the msgbind line in the ckoker32.exe rules
  122.  
  123. # release version
  124. gcc:
  125.     $(MAKE) -f ckoker.mak all32 \
  126.     CC="gcc -Zomf" OUT="-o" O=".obj" \
  127.     OPT="-O" DEBUG="-s" DLL="-Zdll" \
  128.     CFLAGS="" LDFLAGS="" \
  129.     DEF="ckoker32.def"
  130.  
  131. # debugging version
  132. gccd:
  133.     $(MAKE) -f ckoker.mak all32 \
  134.     CC="gcc" OUT="-o" O=".o" \
  135.     OPT="" DEBUG="-g" DLL="-Zdll" \
  136.     CFLAGS="" LDFLAGS="" \
  137.     DEF="ckoker32.def"
  138.  
  139. #---------- Macros:
  140.  
  141. # To build without TCP/IP support, uncomment the following line and
  142. # then comment out the next:
  143. # DEFINES = -DOS2 -DDYNAMIC -DKANJI -DNETCONN -DDECNET -DNPIPE -DOS2MOUSE
  144.  
  145. # To build with TCP/IP support, uncomment the following three 
  146. # lines and comment out the previous set:
  147. DEFINES = -DOS2 -DDYNAMIC -DKANJI -DNETCONN -DDECNET -DTCPSOCKET \
  148.           -DNPIPE -DOS2MOUSE -DOS2PM -DCK_NETBIOS 
  149.  
  150. LIBS = rexx.lib 
  151.  
  152. # To override the following definitions without having to edit this file,
  153. # define them as environment variables and then run NMAKE with the /E switch.
  154.  
  155. # for IBM TCP/IP 1.2.1
  156. IBM12DIR  = C:\TCPIP
  157. IBM12LIBS = $(IBM12DIR)\lib\tcpipdll.lib
  158. IBM12INC  = $(IBM12DIR)\include
  159.  
  160. # for IBM TCP/IP 2.0
  161. IBM20DIR  = E:\TCPIP
  162. IBM20LIBS = $(IBM20DIR)\lib\tcp32dll.lib $(IBM20DIR)\lib\so32dll.lib
  163. IBM20INC  = $(IBM20DIR)\include
  164.  
  165. # for FTP PC/TCP 1.3
  166. FTP13DIR  = E:\DEVKIT
  167. FTP13LIBS32 = $(FTP13DIR)\lib\socket32.lib
  168. FTP13LIBS16 = $(FTP13DIR)\lib\socket16.lib
  169. FTP13INC  = $(FTP13DIR)\include
  170.  
  171. #---------- Inference rules:
  172.  
  173. .SUFFIXES: .w .c $(O)
  174.  
  175. .c$(O):
  176.     $(CC) $(CC2) $(CFLAGS) $(DEBUG) $(OPT) $(DEFINES) -c $*.c
  177.  
  178. #---------- Targets:
  179.  
  180. OBJS =    ckcmai$(O) ckcfns$(O) ckcfn2$(O) ckcfn3$(O) ckcpro$(O) \
  181.         ckuxla$(O) ckucmd$(O) ckuusr$(O) ckuus2$(O) ckuus3$(O) \
  182.         ckuus4$(O) ckuus5$(O) ckuus6$(O) ckuus7$(O) ckuusx$(O) \
  183.     ckuusy$(O) ckudia$(O) ckuscr$(O) ckufio$(O) ckocon$(O) \
  184.         ckotio$(O) ckonet$(O) ckcnet$(O) ckonbi$(O) ckomou$(O)
  185.  
  186. all32: ckoker32.exe tcp32
  187.  
  188. all16: ckoker16.exe tcp16
  189.  
  190. # Remove the DLLs you don't have the Development Kits for:
  191. # IBM TCP/IP 2.0          - cko32i20.dll
  192. # IBM TCP/IP 1.2          - cko32i12.dll cko16i12.dll
  193. # FTP Software PC/TCP 1.3 - cko32i13.dll cko16f13.dll
  194.  
  195. tcp32: cko32i20.dll cko32i12.dll cko32f13.dll 
  196.  
  197. tcp16: cko16i12.dll cko16f13.dll 
  198.  
  199. ckoker32.exe: $(OBJS) $(DEF) ckoker.mak ckoker.msb ckoker.rc
  200.     $(CC) $(CC2) /B"$(LINKFLAGS)" $(DEBUG) $(OBJS) $(DEF) $(OUT) $@ $(LIBS) $(LDFLAGS)
  201.     msgbind ckoker.msb
  202.         rc ckoker.rc ckoker32.exe
  203.  
  204. ckoker16.exe: $(OBJS) $(DEF) ckoker.mak 
  205.     $(CC) $(CC2) $(DEBUG) $(OBJS) $(DEF) $(OUT) $@ $(LIBS) $(LDFLAGS)
  206.          
  207. cko32i20.dll: ckoi20.obj cko32i20.def
  208.     $(CC) $(CC2) $(DEBUG) $(DLL) ckoi20.obj cko32i20.def $(OUT) $@ \
  209.     $(IBM20LIBS)
  210.  
  211. cko32i12.dll: ckoi12.obj cko32i12.def
  212.     $(CC) $(CC2) $(DEBUG) $(DLL) ckoi12.obj cko32i12.def $(OUT) $@ \
  213.     $(IBM12LIBS)
  214.  
  215. cko16i12.dll: ckoi12.obj cko16i12.def
  216.     $(CC) $(CC2) $(DEBUG) $(DLL) ckoi12.obj cko16i12.def $(OUT) $@ \
  217.     $(IBM12LIBS)
  218.  
  219. cko32f13.dll: ckof13.obj cko32f13.def
  220.     $(CC) $(CC2) $(DEBUG) $(DLL) ckof13.obj cko32f13.def $(OUT) $@ \
  221.     $(FTP13LIBS32)
  222.  
  223. cko16f13.dll: ckof13.obj cko16f13.def
  224.     $(CC) $(CC2) $(DEBUG) $(DLL) ckof13.obj cko16f13.def $(OUT) $@ \
  225.     $(FTP13LIBS16)
  226.  
  227. ckwart.exe: ckwart$(O) $(DEF)
  228.     $(CC) $(CC2) $(DEBUG) ckwart$(O) $(DEF) $(OUT) $@ $(LIBS) $(LDFLAGS)
  229.  
  230. docs:       ckermit.inf
  231.  
  232. #---------- Dependencies:
  233.  
  234. ckcmai$(O):    ckcmai.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcnet.h ckonet.h
  235. ckcfns$(O):    ckcfns.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcxla.h ckuxla.h
  236. ckcfn2$(O):    ckcfn2.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcxla.h ckuxla.h
  237. ckcfn3$(O):    ckcfn3.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcxla.h ckuxla.h
  238. ckcpro$(O):    ckcpro.c ckcker.h ckcdeb.h ckcasc.h
  239. ckuxla$(O):    ckuxla.c ckcker.h ckcdeb.h ckcxla.h ckuxla.h
  240. ckucmd$(O):    ckucmd.c ckcker.h ckcdeb.h ckcasc.h ckucmd.h
  241. ckudia$(O):    ckudia.c ckcker.h ckcdeb.h ckcasc.h ckucmd.h
  242. ckuscr$(O):    ckuscr.c ckcker.h ckcdeb.h ckcasc.h
  243. ckuusr$(O):    ckuusr.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
  244.           ckcxla.h ckuxla.h ckcnet.h ckonet.h
  245. ckuus2$(O):    ckuus2.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
  246.           ckcxla.h ckuxla.h
  247. ckuus3$(O):    ckuus3.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
  248.           ckcxla.h ckuxla.h ckcnet.h ckonet.h ckonbi.h
  249. ckuus4$(O):    ckuus4.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
  250.           ckcxla.h ckuxla.h ckuver.h ckcnet.h ckonet.h
  251. ckuus5$(O):    ckuus5.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h
  252. ckuus6$(O):    ckuus6.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h
  253. ckuus7$(O):    ckuus7.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckucmd.h \
  254.           ckcxla.h ckuxla.h ckcnet.h ckonet.h
  255. ckuusx$(O):    ckuusx.c ckcker.h ckcdeb.h ckcasc.h ckuusr.h ckonbi.h
  256. ckuusy$(O):    ckuusy.c ckcker.h ckcdeb.h ckcasc.h
  257. ckufio$(O):    ckufio.c ckcker.h ckcdeb.h ckuver.h ckodir.h ckoker.h
  258. ckocon$(O):    ckocon.c ckcker.h ckcdeb.h ckcasc.h ckoker.h ckocon.h ckonbi.h
  259. ckotio$(O):    ckotio.c ckcker.h ckcdeb.h ckuver.h ckodir.h ckoker.h
  260. ckcnet$(O):    ckcnet.c ckcker.h ckcdeb.h ckcnet.h ckonet.h ckotcp.h
  261. ckonet$(O):    ckonet.c ckcker.h ckcdeb.h ckoker.h ckcnet.h ckonet.h \
  262.                 ckotcp.h ckonbi.h
  263. ckonbi$(O):     ckonbi.c ckonbi.h ckcdeb.h 
  264. ckomou$(O):     ckomou.c ckcdeb.h
  265.  
  266. ckcpro.c:    ckcpro.w
  267.         $(MAKE) ckwart.exe \
  268.           CC="$(CC) $(CC2)" OUT="$(OUT)" O="$(O)" OPT="$(OPT)" \
  269.           DEBUG="$(DEBUG)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
  270.         ckwart ckcpro.w ckcpro.c
  271.  
  272. ckof13.obj: ckoftp.c ckotcp.h
  273.         @echo > ckof13.obj
  274.         del ckof13.obj
  275.     $(CC) $(CC2) $(CFLAGS) -DTCPERRNO -I$(FTP13INC) \
  276.            $(DEBUG) $(OPT) $(DLL) -c ckoftp.c
  277.         ren ckoftp.obj ckof13.obj
  278.  
  279. ckoi20.obj: ckoibm.c ckotcp.h
  280.         @echo > ckoi20.obj
  281.         del ckoi20.obj
  282.     $(CC) $(CC2) $(CFLAGS) -I$(IBM20INC) \
  283.            $(DEBUG) $(OPT) $(DLL) -c ckoibm.c
  284.         ren ckoibm.obj ckoi20.obj
  285.  
  286. ckoi12.obj: ckoibm.c ckotcp.h
  287.         @echo > ckoi12.obj
  288.         del ckoi12.obj
  289.     $(CC) $(CC2) $(CFLAGS) -I$(IBM12INC) \
  290.            $(DEBUG) $(OPT) $(DLL) -c ckoibm.c
  291.         ren ckoibm.obj ckoi12.obj
  292.  
  293. ckermit.inf:    ckermit.ipf cker01.ipf cker02.ipf cker03.ipf cker04.ipf \
  294.                 cker05.ipf cker06.ipf
  295.                 ipfc ckermit.ipf /inf
  296.  
  297. clean:
  298.        -del *.obj
  299.        -del *.res
  300.