home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / cku196.zip / makefile < prev    next >
Makefile  |  2000-01-06  |  269KB  |  5,989 lines

  1. # makefile / Makefile / ckuker.mak / CKUKER.MAK
  2. #
  3. # Sat Jan  1 00:00:02 2000
  4. BUILDID=20000101
  5. #
  6. CKVER= "7.0.196"
  7. #
  8. # -- Makefile to build C-Kermit for UNIX and UNIX-like systems --
  9. #
  10. # Copyright (C) 1985, 2000,
  11. #   Trustees of Columbia University in the City of New York.
  12. #   All rights reserved.  See the C-Kermit COPYING.TXT file or the
  13. #   copyright text in the ckcmai.c module for disclaimer and permissions.
  14. #
  15. # Author: Frank da Cruz, Columbia University
  16. # 612 West 115th Street, New York NY 10025-7799, USA
  17. # E-mail: fdc@columbia.edu
  18. # Fax:    +1 212 662-6442
  19. # Web:    http://www.columbia.edu/kermit/
  20. #
  21. # Contributions from many others.  Special thanks to Peter Eichhorn,
  22. # assyst GmbH, for the consolidated HP-UX entries, to Robert Lipe for
  23. # the updated & consolidated SCO UNIX / ODT / OSR5 entries, to Ric Anderson
  24. # for new IRIX 6.x entires, and Jeff Altman for the Kerberos/SRP targets.
  25. #
  26. # Most entries use the "xermit" target, which uses the select()-based CONNECT
  27. # module, ckucns.c.  The "wermit" target uses the older fork()-base CONNECT
  28. # module, ckucon.c, which has some drawbacks (but is more portable).  If your
  29. # entry still uses the "wermit" target, please try substituting the "xermit"
  30. # one and if it works, let us know.
  31. #
  32. # CAREFUL: Don't put the lowercase word "if", "define", or "end" as the first
  33. # word after the "#" comment introducer in the makefile, even if it is
  34. # separated by whitespace.  Some versions of "make" understand these as
  35. # directives.  Uppercase letters remove the danger, e.g. "# If you have..."
  36. #
  37. # WARNING: This is a huge makefile, and it contains nested makes.
  38. # Some "make" programs run out of memory.  If this happens to you, edit
  39. # away the parts that do not apply to your system and try again.
  40. #
  41. # Certain UNIX variations have their own separate makefiles:
  42. #  . For 2.10 or 2.11 BSD on DEC PDP-11s, use ckubs2.mak.
  43. #  . For Plan 9, use ckpker.mk.
  44. #
  45. # Separate build procedures are provided non-UNIX platforms: VMS, VOS,
  46. # AOS/VS, etc.  See the ckaaaa.txt file for details.
  47. #
  48. #
  49. # DIRECTIONS
  50. #
  51. # Rename this file to "makefile" or "Makefile" if necessary.  Pick out the
  52. # entry most appropriate for your UNIX system from the list below and then
  53. # give the appropriate "make" command, for example "make aix43", "make sys5r4",
  54. # "make linux".  If you experience any difficulties with the build procedure,
  55. # then please also read any comments that accompany the make entry itself
  56. # (search for the make entry name on the left margin).
  57. #
  58. # Other entries:
  59. #  'make manpage' creates the nroff man page file from ckuker.cpp.
  60. #  'make install' is a SAMPLE installation script.
  61. #  'make clean' removes intermediate and object files.
  62. #
  63. # IMPORTANT:
  64. #   For more detailed installation instructions, read the files ckuins.txt
  65. #   and ckccfg.txt.  For descriptions of known problems and limitations,
  66. #   read the files ckcbwr.txt and ckubwr.txt (the "beware files").
  67. #
  68. # Most entries build C-Kermit with its symbol table included.  To reduce the
  69. # size of the executable program, add "LNKFLAGS=-s" to the end of your 'make'
  70. # command or to the makefile entry, or 'strip' the executable after
  71. # building.  To further reduce the size after building, use 'mcs -d' if your
  72. # system has such a command.  For further details on size reduction, read
  73. # ckccfg.txt to find out how to remove features that you don't need.
  74. #
  75. # TCP/IP networking support: If your C-Kermit version does not include TCP/IP
  76. # networking, but your UNIX system does, try adding -DTCPSOCKET to the CFLAGS
  77. # of your makefile entry.  If that doesn't work, look at some of the other
  78. # entries that include this flag for ideas about what libraries might need to
  79. # be included, etc.  NOTE: In some cases (old versions of SCO or HP-UX), you
  80. # might need not only a C compiler, but also a "TCP/IP developers kit" for the
  81. # required object libraries and header files.
  82. #
  83. # Fullscreen file transfer display support: If you are going to use C-Kermit
  84. # for establishing connections (dialed, network, etc), you can configure it to
  85. # produce a formatted file transfer display by including the curses library
  86. # and adding -DCK_CURSES to the CFLAGS for your option, and linking with the
  87. # appropriate libraries.  There are many examples below, usually ending in
  88. # "c", like sunos41c.  Also add -DCK_WREFRESH if your curses library includes
  89. # clearok() and wrefresh() functions (or remove -DNOWREFRESH if the linker
  90. # complains that it can't find these functions).  After building, you still
  91. # have to SET FILE DISPLAY FULLSCREEN to get the formatted screen display.
  92. #
  93. # Please report modifications, failures (preferably with fixes) or successes
  94. # to the author.
  95. #
  96. # TARGETS FOR DIFFERENT UNIX PLATFORMS AND VERSIONS:
  97. #
  98. # + Marks those that have been tested successfully in the current version.
  99. # - Marks those that are known not to work in the current version.
  100. # ? Marks those that worked in a previous version but have not been tested
  101. #     in the current version.
  102. # --------------------------
  103. # ? for 386BSD (Jolix) 0.0, 0.1, "make 386bsd" (see comments in entry),
  104. #     or (preferably, if it works) "make bsd44" or "make bsd44c".
  105. # ? for Acorn RISCiX, "make riscix" or "make riscixgcc"
  106. # ? for Alliant FX/8 with Concentrix 4.1 or later, "make bsdlck"
  107. # ? for Altos 486, 586, 986 with Xenix 3.0, "make altos"
  108. # ? for Altos ACS68000, 8Mhz 68000, UNIX System 3 Rel 2, 512K, "make altos3"
  109. # ? for Amdahl UTS 2.4 on IBM 370 series & compatible mainframes, "make uts24"
  110. # ? for Amdahl UTSV IBM 370 series & compatible mainframes, "make utsv"
  111. # ? for Amdahl UTSV IBM 370 series mainframes with TCP/IP, "make utsvtcp"
  112. # ? for Amdahl mainframes with UNIX System V R 5.2.6b 580, "make sys3"
  113. # ? for Apollo Aegis 9.x, DOMAIN/IX 9.x, "make aegis"
  114. #    (Last tested in C-Kermit 5A(189))
  115. # ? for Apollo DOMAIN/IX, if the above fails, try "make apollobsd"
  116. # ? for Apollo with SR10.0 or later, BSD environment, "make sr10-bsd"
  117. # ? for Apollo with SR10.0 or later, System V environment, "make sr10-s5r3"
  118. # ? for Apple Macintosh II with A/UX pre-3.0, "make aux", "auxgcc" or "auxufs"
  119. # ? for Apple Macintosh with A/UX 3.0 and gcc, "make aux3gcc" or aux3gccc
  120. # + for Apple PowerMac with MkLinux, "make mklinux" (read Linux entry first)
  121. # + for Apple PowerMac with LinuxPPC, "make linuxppc"
  122. # ? for Apple Macintosh with Minix 1.5.10, "make minix68k" or "make minixc68"
  123. # + for Apple Macintosh with Mac OS X 1.0 (Rhapsody), "make macosx10"
  124. #     (no curses), "make macosx10c" (curses), or "make macosx10nc" (ncurses).
  125. #     Or "make macosx10ncx" (ncurses but "make macosx10nc" doesn't work).
  126. # ? for Arix System 90 with AT&T SVR3, "make sys5r3na"
  127. # ? for AT&T 6300 with IN/ix, "make sys5"
  128. # ? for AT&T 6300 PLUS, "make att6300" or (with no debugging) "make att6300nd"
  129. # ? for AT&T 6386 WGS UNIX PC, "make sys5r3"
  130. # ? for AT&T 3B2, 3B20 systems, "make att3bx" or "make att3bxc"
  131. #   for AT&T 3B1, 7300 UNIX PC (see notes with the entries):
  132. #     In C-Kermit 7.0, only the gcc entries work:
  133. # +   "make sys3upcg", "make sys3upcgc", "make sys3upcgcm", "make att351gm"
  134. #    The others fail with "too many defines" (usually in ckuusr.h):
  135. # -   "make sys3upc", "make sys3upcold", "make sys3upcc", "make sys3upcx",
  136. #       "make sys3upcm", "make att351m"
  137. # ? for AT&T System III/System V R2 or earlier, "make sys3" or "make sys3nid"
  138. # ? for AT&T System III/System V with Honey DanBer UUCP, "make sys3hdb"
  139. # ? for AT&T System V on DEC VAX, "make sys3" or "make sys5r3"
  140. # + for AT&T System V R3, use "make sys5r3" or "make sys5r3c"
  141. # + for AT&T System V/386 R320.0 Versyss Systems, use "make sys5r3"
  142. #     or "make sys5r3c" with KFLAGS=-DNONAWS.
  143. # + for AT&T System V R4, "make sys5r4", "make sys5r4sx", or "make sys5r4nx",
  144. #     or if the ANSI C function prototyping makes trouble, add -DNOANSI,
  145. #     as in "sys5r4sxna" entry
  146. # + for AT&T System V R4 with bundled TCP/IP, "make sys5r4netc", ...
  147. # + for AT&T System V R4 with Wollongong TCP/IP, "make sys5r4twg", ...
  148. # + for AT&T (USL) System V R4.2 use the sys5r4* entries.
  149. # ? for Atari Falcon with MiNT, "make posix"
  150. # ? for Atari ST with Minix ST 1.5.10.3, "make minix68k" or "make minixc68"
  151. # ? for BBN C/70 with IOS 2.0, "make c70"
  152. # ? for BeBox with Be OS 1.x DR7, "make beboxdr7"
  153. #     Compiles OK but doesn't link with default linker which is limited to 64K.
  154. #     Links OK with "Code Warrior Gold".  Many hacks in the source code need
  155. #     to be removed when DR8 and later come out.
  156. #     (Last tested in C-Kermit 6.0)
  157. # - for BeBox with Be OS 1.x DR8, "make bebox"
  158. #     (Needed functions missing from operating system and/or not working.)
  159. # - for Bell Labs UNIX Version 6 (6th Edition), there is no makefile entry.
  160. # ? for Bell Labs UNIX Version 7 (7th Edition), "make v7" (but see notes below)
  161. #    (last built successfully in C-Kermit 5A188)
  162. # ? for Bell Labs Research UNIX Version 10, "make bellv10"
  163. #    (last built successfully in C-Kermit 6.0)
  164. # + for Bell Labs / Lucent Plan 9, use separate makefile ckpker.mk:
  165. #    can be built for Intel, MIPS, 680x0, and PowerPC.
  166. # + for BSDI BSD/386 1.x, "make bsdi"
  167. # + for BSDI BSD/OS 2.x, "make bsdi2"
  168. # + for BSDI BSD/OS 3.0 or 3.1, "make bsdi3"
  169. # + for BSDI BSD/OS 4.0, "make bsdi4"
  170. # ? for Berkeley Unix 2.4, "make v7" (but read v7 material below)
  171. # ? for Berkeley Unix 2.9 (DEC PDP-11 or Pro-3xx), "make bsd29"
  172. # - for Berkeley Unix 2.10, use ckubs2.mak (a separate makefile)
  173. # - for Berkeley Unix 2.11, use ckubs2.mak (a separate makefile)
  174. #     This makefile is too big.  Read the instructions in ckubs2.mak.
  175. #     "make -f ckubs2.mak bsd210" or "make - f ckubs2.mak bsd211".
  176. #     (last built successfully in C-Kermit 6.0 - later versions too big)
  177. # + for Berkeley Unix 2.11 "make -f ckubs2.mak bsd210noicp" (no command parser)
  178. # ? for Berkeley Unix 4.1, "make bsd41"
  179. # ? for Berkeley Unix 4.2, "make bsd" (tested with 4.2 and 4.3)
  180. # ? for Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP, "make bsdhdb"
  181. # ? for Berkeley Unix 4.3, "make bsd43" (uses acucntrl program for locks)
  182. # ? for Berkeley Unix 4.3 without acucntrl program, "make bsdlck" or "make bsd"
  183. # + for Berkeley Unix 4.3-Tahoe, same as 4.3 BSD
  184. # + for Berkeley Unix 4.3-Reno, "make bsd43" or "make bsd44" or "make bsd44c"
  185. # + for Berkeley Unix 4.3-Carson City, "make bsd44" or "make bsd44c"
  186. # + for Berkeley Unix 4.4-Networking/2 or -Alpha, "make bsd44" or "make bsd44c"
  187. # + for Berkeley Unix 4.4, "make bsd44" or "make bsd44c"
  188. # + for Berkeley Unix 4.4-Lite, "make bsd44" or "make bsd44c"
  189. # ? for Bull DPX/2 with BOS/X, "make bulldpx2"
  190. # ? for Cadmus, "make sys3"
  191. # ? for Callan Unistar, "make sys3"
  192. # ? for CDC VX/VE 5.2.1 System V emulation, "make vxve"
  193. # ? for Charles River Data Systems Universe 680x0 with UNOS 9.2, maybe
  194. #     also other UNOS versions, "make crds"
  195. # ? for CIE Systems 680/20 with Regulus, "make cie"
  196. # + for Commodore Amiga 3000UX Sys V R4, "make sys5r4sx"
  197. # + for Commodore Amiga 3000UX Sys V R4 and TCP/IP, "make svr4amiganet"
  198. # ? for Commodore Amiga with Minix 1.5.10, "make minix68k" of "make minixc68"
  199. # ? for Concurrent/Masscomp with RTU 4.0 or later, BSD environment, "make
  200. #     rtubsd", "make rtubsd2", "make rtubsd3" (depending on where ndir.h
  201. #     is stored, see entries below).
  202. # ? for Concurrent/Masscomp with RTU 4.0 or later, System V R2, "make rtus5"
  203. # ? for Concurrent/Masscomp with RTU 5.0 or later, System V R3, "make rtusvr3"
  204. # ? for Concurrent (Perkin-Elmer) 3200 series, "make sys5".
  205. # ? for Concurrent (Perkin-Elmer) 3200 series with <dirent.h>, "make ccop1"
  206. # ? for Consensys UNIX SV/386 R4V3, "make sys5r4sxtcpc" or "make sys5r4sx"
  207. # ? for Convergent with CTIX Sys V R2, "make sys5"
  208. # ? for Convergent with CTIX 6.4.1, "make ctix"
  209. # ? for Convex C1, "make convex"
  210. # ? for Convex C210 with Convex/OS 8, "make convex8"
  211. # ? for Convex C2 with Convex/OS 9.1, "make convex9"
  212. # ? for Convex C2 with Convex/OS 10.1 and gcc 2.x, "make convex10gcc"
  213. # ? for Cray Research X/MP or YMP or C90 with UNICOS 6.x (System V R3),
  214. #    "make cray"
  215. # ? for Cray Research X/MP or YMP or C90 with UNICOS 7.x (System V R4),
  216. #    "make cray"
  217. # ? for Cray Research X/MP or YMP or C90 with UNICOS 8.0 Alpha, "make cray8"
  218. # ? for Cray Computer Cray-2 or Cray3 with CSOS, "make craycsos"
  219. # ? for Cyber 910 (Silicon-Graphics Iris) with Irix 3.3, "irix33"
  220. # ? for Data General AViiON with DG/UX 5.4R3.xx or later, "make dgux543c"
  221. # ? for Data General AViiON with DG/UX 5.4 before R3.00, "make dgux540"
  222. #     or "make dgux540c" (compile ckwart separately if necessary)
  223. # + for DG/UX 5.4 on AViiON Intel models, "make dgux540i" or dgux540ic.
  224. # ? for DG/UX 5.4R4.11 on AViiON, all models, "make dgux54411"
  225. # + for DG/UX 5.4R4.20 on AViiON, all models, "make dgux54420"
  226. # + for Data General AViiON with DG/UX 4.3x using Sys V-isms, "make dgux430"
  227. # ? for Data General AViiON with DG/UX 4.3x using BSD-isms, "make dgux430bsd"
  228. # ? for Data General AViiON, earlier UNIX versions,
  229. #     "make sys5r3" (maybe compile ckwart separately, or "touch ckcpro.c")
  230. # ? for Data General MV systems with DG/UX, ???
  231. # ? for Data General MV systems with MV/UX, use AOS/VS C-Kermit (CKDKER.MAK)
  232. # + for Data General MV systems with AOS/VS, use CKDKER.MAK.
  233. #   for DEC PDP-11 with Berkeley UNIX 2.x, see Berkeley UNIX 2.x.
  234. # ? for DEC PDP-11 with Mini-UNIX (Bell 6th Edition for PDP-11 with no MMU),
  235. #     probably no way to fit C-Kermit without I&D space.
  236. # ? for DEC PDP-11 with Ultrix-11 3.x, ??? (probably needs overlays)
  237. # ? for DEC VAX with Ultrix 1.x "make bsd"
  238. # ? for DEC VAX with Ultrix 2.x "make ultrix2s"
  239. # ? for DEC VAX or DECstation with Ultrix 3.0, 3.1, "make ultrix3x"
  240. # ? for DECstation or VAX with Ultrix 4.0 or 4.1, "make ultrix40"
  241. # ? for DECstation or VAX with Ultrix 4.2, "make ultrix42" or "make ultrix42c"
  242. # ? for DECstation or VAX with Ultrix 4.2, Sys V R4 world, "make du42s5r4"
  243. # ? for DECstation or VAX with Ultrix 4.x, POSIX world, "make posix"
  244. # + for DECstation or VAX with Ultrix 4.3, "make ultrix43".
  245. # + for DECstation or VAX with Ultrix 4.4, "make ultrix44".
  246. # ? for DECstation 5000/50, /150 or /260 (R4x00 MIPS CPU), Ultrix 4.3A or later
  247. #     "make ultrix43-mips3" or "make ultrix43c-mips3"
  248. # ? for DECstation (MIPS) with Berkeley Sprite, "make bsd44"?
  249. # ? for DECstation (MIPS) with OSF/1 V1.0 to 1.3, "make dec-osf"
  250. # ? for DEC Alpha with OSF/1 1.0 to 1.3, "make dec-osf"
  251. # ? for DEC PC 486 with OSF/1, "make dec-osf"
  252. # ? for DEC Alpha with OSF/1 2.x, "make dec-osf20"
  253. # + for DEC Alpha with OSF/1 3.0, "make dec-osf30"
  254. # + for DEC Alpha with Digital UNIX 3.2, "make du32"
  255. # + for DEC Alpha with Digital UNIX 4.0, "make du40" or "make du40gcc"
  256. # + for DEC Alpha with Digital UNIX 5.0, "make du50"
  257. # - for DEC Pro-350 with Pro/Venix V1.x, "make provx1" (version 5A is too big)
  258. # ? for DEC Pro-380 with Pro/Venix V2.0 (Sys V), "make sys3" or "make sys3nid"
  259. # ? for DEC Pro-380 with 2.9, 2.10, or 2.11 BSD, "make bsd29" or "make bsd210"
  260. #   for DEC PDP-11 with 2.xBSD (use separate makefile ckubs2.mak)
  261. # ? for Dell UNIX Issue 2.x (= USL Sys V/386 R4.x + fixes), "make dellsys5r4"
  262. #     or "make dellsys5r4c" (last tested in C-Kermit 5A).
  263. # ? for DIAB DS90 with DNIX (any version) create an empty <sys/file.h> if
  264. #     this file does not already exist (or add -DNOFILEH to the make entry).
  265. # ? for DIAB DS90 or LUXOR ABC-9000 with pre-5.2 DNIX, add "getcwd" to libc.a
  266. #     (see ckuins.txt), then "make dnixold".
  267. # ? for DIAB DS90 with DNIX 5.2 (Sys V.2) or earlier, "make dnix",
  268. #     "make dnixnd", or (to add curses and TCP/IP) "make dnixnetc",
  269. # ? for DIAB DS90 with DNIX 5.3 (Sys V.3), "make dnix5r3"
  270. # ? for DIAB DS90 with DNIX 5.3 (Sys V.3) and TCP/IP, "make dnix5r3net"
  271. # ? for DIAB DS90 with DNIX 5.3 2.2 (Sys V.3), ANSI C, "make dnix5r3ansi"
  272. #     or, to include TCP/IP, "make dnix5r3ansinet",
  273. #     but you have to fix a bug in /usr/include/stdlib.h first:
  274. #     change "extern void free(char *str);" to "extern void free(void *str);"
  275. # ? for Dolphin Server Technology Triton 88/17 with SV/88 R3.2, "make sv88r32"
  276. # ? for Encore Multimax 310, 510 with Umax 4.2, "make umax42"
  277. # ? for Encore Multimax 310, 510 with Umax 4.3, "make umax43"
  278. # ? for Encore Multimax 310, 510 with Umax V 2.2, use Berkeley cc, "make bsd"
  279. # ? for Encore 88K with Umax V 5.2, "make encore88k"
  280. # ? for ESIX System V R4.0.3 or 4.04 with TCP/IP support, "make esixr4"
  281. #     NOTE: You can also build on Unixware 2.x with "make esixr4", and run
  282. #     on ESIX, but there you must first:
  283. #       ln /usr/lib/libsocket.so /usr/lib/libsocket.so.1
  284. #       ln /usr/lib/libnsl.so /usr/lib/libnsl.so.1
  285. #     (This worked for C-Kermit 6.0 but does not work for 7.0)
  286. # ? for Everex STEP 386/25 Rev G with ESIX Sys V R3.2D, "make sys5r3"
  287. # ? for Fortune 32:16, For:Pro 1.8, "make ft18"
  288. # ? for Fortune 32:16, For:Pro 2.1, "make ft21"
  289. # ? for FPS 500 with FPX 4.1, "made bsd"
  290. # ? for FreeBSD 1.0, "make freebsd"
  291. # + for FreeBSD 2.x, "make freebsd2" (ncurses) or "make freebsd2c" (curses)
  292. # + for FreeBSD 3.x, "make freebsd3" (ncurses) or "make freebsd3c" (curses)
  293. # ? for Harris HCX-2900, "make sys5r3"
  294. # ? for Harris Night Hawk 88K or 68K with CX/UX pre-6.1, "make sys5r3"
  295. # ? for Harris Night Hawk 88K or 68K with CX/UX 6.1 or later, "make cx_ux"
  296. # ? for Heurikon, "make sys3"
  297. # ? for HP-3000, MPE/ix, "make posix"?
  298. # + for HP-9000 Series 300 with 4.4BSD, "make bsd44"
  299. # + for HP-9000 Series 500, HP-UX 5.21 with WIN/TCP 1.2 "make hpux500wintcp"
  300. # + for HP-9000 Series, HP-UX < 6.5, without long filenames, no job control,
  301. #     "make hpuxpre65"
  302. # + for HP-9000 Series, HP-UX pre-7.0, without long filenames, "make hpux"
  303. # + for HP-9000 Series, HP-UX 6.5, without long filenames,
  304. #     "make hpux65" or "make hpux65c"
  305. # + for HP-9000 Series, HP-UX 7.0 or later, no long filenames, "make hpux70sf"
  306. #     or (to include tcp/ip, curses, etc) "make hpux70sftcpc"
  307. # + for HP-9000 Series with HP-UX Sys V R2, BSD long names, "make hpuxlf"
  308. # + for HP-9000 Series with HP-UX Sys V R2, dirent long names, "make hpuxde"
  309. #     or (to include TCP/IP support) "make hpuxdetcp"
  310. # + for HP-9000 Series with HP-UX Sys V R3, "make hpuxs5r3"
  311. # + for HP-9000 Series with HP-UX 7.0, TCP/IP, long filenames, "make hpux70lfn"
  312. # + for HP-9000 300/400 Series (680x0) with HP-UX 8.0, TCP/IP, "make hpux80"
  313. #      or "make hpux80c"
  314. # + for HP-9000 700/800 Series (PA-RISC), HP-UX 8.0, TCP/IP, "make hpux80pa"
  315. #      or "make hpux80pac"
  316. # + for HP-9000 Series with HP-UX 8.0, no TCP/IP, long filenames,
  317. #      "make hpux80notcp" or "make hpuxde"
  318. # + for HP-9000 Series, HP-UX 9.0 - 9.10, TCP/IP, curses, restricted compiler
  319. #     (no optimization, no ANSI), all models, "make hpux90".  Read the hpux90
  320. #     entry below for more info.
  321. # + for HP-9000 700 and 800 Series, HP-UX 9.x, TCP/IP, curses,
  322. #     HP optimizing ANSI C compiler, "make hpux90o700".
  323. # + for HP-9000 with Motorola CPUs, HP-UX 9.x, TCP/IP, curses,
  324. #     HP optimizing ANSI C compiler, "make hpux90mot".
  325. # + for HP-9000 on other CPUs, HP-UX 9.x, TCP/IP, curses,
  326. #     HP optimizing ANSI C compiler, "make hpux90o".
  327. # + for HP-9000 series, HP-UX 9.x, TCP/IP, curses, gcc, all models,
  328. #     "make hpux90gcc"
  329. # + for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
  330. #     curses, restricted compiler (no optimization, no ANSI) "make hpux100".
  331. # + for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
  332. #     curses, HP ANSI/optimizing compiler "make hpux100o" or "make hpux100o+"
  333. # + for Trusted HP-UX 10.xx "make hpux100t", "make hpux100to", make hpux100to+"
  334. # + for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
  335. #     (no optimization, no ANSI) "make hpux110".
  336. # + for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
  337. #     HP ANSI/optimizing compiler "make hpux110o" or "make hpux110o+"
  338. # + for Trusted HP-UX 11.xx "make hpux110t", "make hpux110to", make hpux110to+"
  339. # + for HP-9000 PA-RISC models with NeXTSTEP 3.3, "make nextquadfat".
  340. # + for HP-9000 PA-RISC models with OPENSTEP/Mach 4.1, "make nextquadfat".
  341. # ? for IBM 370 Series with IX/370, "make ix370"
  342. # ? for IBM 370 Series with AIX/370 1.2, "make aix370"
  343. # ? for IBM 370 Series with AIX/370 3.0, "make aix370"
  344. # ? for IBM 370 Series with AIX/ESA 2.1, "make aixesa"
  345. # - for IBM PC/AT 286 & compatibles with Mark Williams Coherent OS,
  346. #     command-line-only version, "make coherent" (version 5A & later too big)
  347. # ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
  348. #     minimum interactive version, "make coherentmi"
  349. # ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
  350. #     full interactive version, prior to v4.2, "make coherentmax"
  351. # + for IBM PC 386 & compatibles with Mark Williams Coherent OS 4.2,
  352. #     "make coherent42"
  353. # ? for IBM PC 386 & compatibles with LynxOS 2.0 or 2.1, "make lynx21"
  354. # ? for IBM PC 386 & compatibles with LynxOS 2.2, "make lynx"
  355. # - for IBM PC/AT & compatibles with original MINIX, "make minix" (too big)
  356. # ? for IBM PC family, 386-based, with MINIX/386 1.5, "make minix386"
  357. #     or if you have GNU CC, "make minix386gcc"
  358. # + for IBM PC family, 386-based, with MINIX 2.0, "make minix20"
  359. # + for IBM PS/2 with PS/2 AIX 1.0, 1.1, or 1.2, "make ps2aix" or ps2aixnetc.
  360. # ? for IBM PS/2 with PS/2 AIX 1.3, "make ps2aix3"
  361. # ? for IBM RISC System/6000 with AIX 3.0, "make aix30"
  362. # ? for IBM RISC System/6000 with AIX 3.1.x, "make aix31"
  363. # + for IBM RISC System/6000 with AIX 3.2.0 thru 3.2.5, "make aix32"
  364. # + for IBM RS/6000 or Power Series with AIX 4.1 or AIX 4.1.1, "make aix41"
  365. # + for IBM RS/6000 or Power Series with AIX 4.1 with X.25, "make aix41x25"
  366. # + for IBM RS/6000 or Power Series with AIX 4.2, "make aix42"
  367. # + for IBM RS/6000 or Power Series with AIX 4.3, "make aix43"
  368. # ? for IBM RT PC with AIX 2.1, "make sys3"
  369. # ? for IBM RT PC with AIX 2.2.1, "make rtaix" or "make rtaixc"
  370. # ? for IBM RT PC with ACIS 4.2, "make bsd"
  371. # ? for IBM RT PC with ACIS 4.3, "make rtacis" or "make bsd KFLAGS=-DNOANSI"
  372. # ? for IBM RT PC with 4.3BSD/Reno, "make bsd44" or "make bsd44c"
  373. # ? for ICL DRS400 or 400E, "make iclsys5r3"
  374. # ? for ICL DRS3000 (80486) with DRS/NX, "make iclsys5r4_486"
  375. # ? for ICL DRS6000 (SPARC) with DRS/NX, "make iclsys5r4"
  376. # + for ICL DRS6000 (SPARC) with DRS/NX 4.2MP 7MPlus, "make iclsys5r4m+"
  377. # ?     Ditto but with IKSD support included, "make iclsys5r4m+iksd"
  378. # ? for Integrated Solutions Inc V8S VME 68020, "make isi"
  379. # ? for Intel 302 with Bell Tech Sys V/386 R3.2, "make sys5r3"
  380. # ? for Intel Xenix/286, "make sco286"
  381. # ? for Interactive System III (PC/IX), "make pcix" or "make is3"
  382. # ? for Interactive System III (PC/IX) with gcc, "make is3gcc"
  383. # ? for Interactive 386/ix 1.0.6 with TCP/IP networking, "make is5r3net2"
  384. # ? for Interactive 386/ix 2.0.x, "make is5r3" or (POSIX) "make is5r3p"
  385. # ? for Interactive 386/ix 2.0.x with TCP/IP networking, "make is5r3net"
  386. #     or "make is5r3net2"
  387. # ? for Interactive 386/ix 2.2.1, job control, curses, no net, gcc,
  388. #     "make is5r3gcc"
  389. # + for Interactive UNIX Sys V R3.2 V2.2 - 4.0 without TCP/IP, "make is5r3jc"
  390. # ? for Interactive UNIX Sys V R3.2 V2.2 - 4.0 with TCP/IP, "make is5r3netjc"
  391. # + for Intergraph Clipper, "make clix" or "make clixnet"
  392. # ? for Jolix (see 386BSD)
  393. # + for Linux on PowerMac (Mklinux DR3), "make mklinux".
  394. # + for Linux 1.2 and later, "make linux".  Uses ncurses.  This version
  395. #     handles serial speeds up to 460800 bps, Linux FSSTD 1.2, TCP/IP, and
  396. #     should work on both libc and glibc systems.  For static linking, use
  397. #     "make linux LNKFLAGS=-static".  Please read the comments that accompany
  398. #     the linux entry.
  399. # + for Linux builds that fail with "sys/select.h: No such file or directory",
  400. #     "make linuxns"
  401. # + for Linux 1.2 and later but with curses.h and libcurses (rather than
  402. #     ncurses.h and libncurses), use "make linuxc".
  403. # + for Linux 1.2 and later with no curses support at all, "make linuxnc".
  404. # + for Linux 1.2 and later, to build with egcs, "make linuxegcs".
  405. # + for Linux with no TCP/IP, "make linuxnotcp"
  406. # + for Linux with lcc compiler, no TCP/IP, "make linuxnotcp-lcc"
  407. # ? for Linux 1.0 or earlier, "make linux10", or (to remove TCP/IP)
  408. #     "make linuxnotcp".  For static linking, use "make linuxs".
  409. #     IMPORTANT: Read the comments that accompany the "linux:" entry.
  410. # ? for Luxor ABC-9000 (DIAB DS-90) with pre-5.2 DNIX, add "getcwd" to libc.a
  411. #     (see ckuins.txt), then "make dnixold".
  412. # ? for Mach 2.6 on (anything, e.g. DECstation), "make bsd42" or "make bsd43".
  413. # ? for MachTen (Tenon) 2.1.1.D on (e.g.) Apple Powerbook, "make machten".
  414. # ? for Masscomp RTU AT&T System III, "make rtu"
  415. #   for other Masscomp, see Concurrent.
  416. # ? for Microport SV/AT (System V R2), "make mpsysv" (last edit tested: 144)
  417. # ? for Microport SVR4 2.2, 3.1, or 4.1 "make sys5r4sx"
  418. # ? for Microsoft,IBM Xenix (/286, PC/AT, etc), "make xenix" or "make sco286"
  419. # ? for MIPS System with RISC/os (UMIPS) 4.52 = AT&T SVR3, "make mips"
  420. #     or "make mipstcpc"
  421. # + for MkLinux on Power Macintosh, "make linux"
  422. # ? for Modcomp 9730, Real/IX, "make sys5r3" (or modify to use gcc = GLS cc)
  423. # ? for Modcomp Realstar 1000 with REAL/IX D.1, "make sv88r32"
  424. # ? for Motorola Four Phase, "make sys3" or "make sys3nid"
  425. # + for Motorola Delta System V/68 R3, "make sv68r3"
  426. # + for Motorola Delta System V/68 R3V5, "make sv68r3v5"
  427. # + for Motorola Delta System V/68 R3V5.1, "make sv68r3v51"
  428. # + for Motorola Delta System V/68 R3V6 with NSE TCP/IP, "make sv68r3v6"
  429. # + for Motorola Delta System V/88 R32, "make sv88r32"
  430. # + for Motorola Delta System V/88 R40, "make sv88r40"
  431. # ? for Mt Xinu Mach386 on 386/486-based PCs, "make bsd43"
  432. # ? for NCR Tower 1632, OS 1.02, "make tower1"
  433. # ? for NCR Tower 1632 or Minitower with System V R2, "make sys3"
  434. #     or "make sys3nv"
  435. # ? for NCR Tower 32, OS Release 1.xx.xx, "make tower32-1"
  436. # ? for NCR Tower 32, OS Release 2.xx.xx, "make tower32-2"
  437. # ? for NCR Tower 32, OS Releases based on Sys V R3, "make tower32"
  438. # ? for NCR Tower 32, OS Releases based on Sys V R3 with gcc "make tower32g"
  439. # ? for NCR System 3000, AT&T UNIX System V R4 2.0, "make sys5r4sxna"
  440. # ? for NCR System 3000, AT&T UNIX System V R4 2.0 with Wollongong TCP/IP,
  441. #     "make sys5r4net2" or "make sys5r4net2c".
  442. #      Some header files might be misplaced; try this:
  443. #       ln /usr/include/netinet/in.h /usr/include/sys/in.h
  444. #       ln /usr/include/arpa/inet.h /usr/include/sys/inet.h
  445. #       ln /usr/include/sys/termiox.h /usr/include/termiox.h
  446. # ? for NCR System 3000, NCR UNIX 02.02.01, same as above.
  447. # + for NCR MP-RAS System V R4 V2.03 or 3.02, "make mpras" or "make mprastcpc"
  448. # + for NetBSD 1.0-3.x on PC 386/486, Sparc, ..., "make netbsd"
  449. #     or (ncurses) "make netbsdn"
  450. #     or "make netbsdnoiksd" (no IKSD).
  451. # + for NeXT with NeXTSTEP 1.0 through 3.2, "make next" (on a NeXT)
  452. # + for NeXT with NeXTSTEP 3.3, "make next33"
  453. # ? for NeXT with OPENSTEP/Mach 4.1, "make nextquadfat".
  454. # + for NeXT with OPENSTEP/Mach 4.2, "make openstep42".
  455. # ? for NeXTSTEP/486, "make next" (on a PC)
  456. # ? for NeXTSTEP portable binary (runs on Intel or Motorola), "make nextfat"
  457. # ? for NeXTSTEP portable binary (Intel, Motorola, HP PA-RISC, or SPARC),
  458. #     "make nextquadfat"
  459. # ? for Nixdorf Targon/31, "make t31tos40x"
  460. # ? for Norsk Data Uniline 88/17 with SV/88 R3.2, "make sv88r32"
  461. #   for Novell UnixWare - see UnixWare
  462. # ? for OSF/1 (vanilla, from OS/F), "make posix"
  463. # ? for OkiStation 7300 Series, "make sys5r4sxtcp"
  464. # ? for Olivetti LSX-3020 with X/OS R.2.3, "make xos23" or "make xos23c"
  465. # + for OpenBSD, "make openbsd"
  466. # ? for OPENSTEP/Mach 4.1, "make nextquadfat" (NeXT, Intel, PA-RISC, SPARC)
  467. # + for OPENSTEP/Mach 4.2, "make openstep42" (tested on NeXT)
  468. # ? for Perkin-Elmer (Concurrent) 3200 series, "make sys5".
  469. # ? for Perkin-Elmer (Concurrent) 3200 series with <dirent.h>, "make ccop1"
  470. # ? for Perkin-Elmer/Concurrent 3200 with Xelos R02, "make ccop1"
  471. # ? for PFU Compact A Series SX/A TISP V10/E50 (Japan), "make sxae50"
  472. # ? for Plexus, "make sys3"
  473. # + for Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1,
  474. #     "ucb make pyramid" or for HDB UUCP, "ucb make pyramid-hdb" or:
  475. # + for Pyramid MIServer S or ES Series, DataCenter/OSx, "make pyrdcosx"
  476. # + for Pyramid MIS-S MIPS R3000, DataCenter OSx System V R4, "make pyrdcosx"
  477. # + for POSIX on anything, "make posix" (but adjustments might be necessary).
  478. # + for POSIX on SunOS 4.1 or later, "make sunposix"
  479. # ? for Prime 8000 MIPS, SVR3, "make mips" or "make mipstcpc"
  480. # - for QNX 2.x (sorry we don't have a version of C-Kermit for QNX 2.x)
  481. # ? for QNX 4.0 or 4.1, 16-bit, on 286 PC, Watcom C 8.5, "make qnx16_41"
  482. # + for QNX 4.21 - 4.22A (286+), and 4.23 (386+), or higher, 16-bit,
  483. #     Watcom C 9.5x or higher, "make qnx16"
  484. # + for QNX 4.21 and above, 32-bit, 386 or above, Watcom C 10.6, "make qnx32"
  485. #     NOTE: ("make qnx" == "make qnx32")
  486. # ? for Ridge 32 (ROS3.2), "make ridge32"
  487. # ? for Samsung MagicStation, "make sys5r4"
  488. # ? for SCO Xenix 2.2.1 with development system 2.2 on 8086/8 "make sco86"
  489. # ? for SCO Xenix/286 2.2.1 with development system 2.2 on 80286, "make sco286"
  490. #     NOTE: reportedly this makefile is too long for SCO Xenix/286 make, but it
  491. #     works with "makeL", or if some of the other make entries are edited out.
  492. # ? for SCO Xenix/386 2.2.2, "make sco386"
  493. # ? for SCO Xenix/386 2.3.x, "make sco3r2" or "make sco3r2x"
  494. # ? for SCO Xenix/386 SCO 2.3.3 or 2.3.4 with gcc 1.37 or later,
  495. #     "make sco386gcc" or (to add curses) "make sco386gccc".
  496. # ? for SCO Xenix/386 or UNIX/386 with Excelan TCP/IP, "make sco3r2net"
  497. #     or (to add curses support) "make sco3r2netc" or "sco386netc"
  498. # + for SCO XENIX 2.3.4, "make sco234" or "make sco234c" to add curses.
  499. # + for SCO XENIX 2.3.4 with SCO TCP/IP & curses, "make sco234netc".
  500. # ? for SCO Xenix 2.3.x with Racal-InterLan TCP/IP, "make sco3r2netri"
  501. #   for other UNIX varieties with Racal Interlan TCP/IP, read sco3r2netri entry
  502. # ? for SCO Xenix 2.3.x with SCO (Lachman) TCP/IP, "make sco3r2lai"
  503. #     or (to add curses) "make sco3r2laic"
  504. #   for SCO UNIX...  ALSO READ COMMENTS in the SCO UNIX entries for more info!
  505. # ? for SCO UNIX/386 3.2.0 or 3.2.1, "make sco3r2" or "make sco3r2x"
  506. # ? for SCO UNIX/386 3.2.2, "make sco3r22" or "make sco3r22gcc"
  507. #     or "make sco3r22c"
  508. # ? for SCO UNIX/386 3.2.2 with SCO TCP/IP, "make sco3r22net"
  509. #     or "make sco3r22netc" (curses)
  510. # ? for SCO ODT 1.1, "make sco3r22net" or "make sco3r22netc" (curses)
  511. # + for SCO UNIX/386 3.2 V4.x, no network support, "make sco32v4"
  512. # +   or "make sco32v4ns" (this one uses no select() or sockets library)
  513. # + for SCO UNIX/386 3.2 V4.x with TCP/IP, "make sco32v4net"
  514. #     (also sco32v4gcc, sco32v4netgcc)
  515. # + for SCO UNIX/386 3.2 V5.0 - see SCO OpenServer.
  516. # + for SCO UNIX 3.2v4.x with TCP/IP, <dirent.h> for Extended Acer File
  517. #     System (EAFS), curses, ANSI C compilation, "make sco32v4net"
  518. # +   or (to use select()-based CONNECT module) "make sco32v4netx".
  519. # + for SCO UNIX 3.2v4.2, "make sco-odt30"
  520. # + for SCO MPX 3.0 - The SCO UNIX binary runs on the corresponding MPX system.
  521. #
  522. # NOTE: Also see below for other entries that are variations on these.
  523. # Also be sure to read the comments accompanying each SCO entry.
  524. #
  525. # + for SCO ODT 2.0, "make sco32v4net"
  526. # + for SCO ODT 3.0, "make sco-odt30"
  527. # + for SCO OpenServer 5.0 (OSR5), "make sco32v5"
  528. # + for SCO OpenServer 5.0 (OSR5) with networking, "make sco32v5net"
  529. # + for SCO OpenServer 5.0 (OSR5), gcc, "make sco32v5gcc"
  530. # + for SCO OpenServer 5.0 (OSR5), gcc, with networking, "make sco32v5netgcc"
  531. # + for SCO OpenServer 5.0 (OSR5) as above, ELF binary, "make sco32v5netgccelf"
  532. # + for SCO OpenServer 5.0.4, use "make sco32v504xxx" entries as above.
  533. # + for SCO OpenServer 5.0.5, use "make sco32v505xxx" entries as above.
  534. # + for SCO OpenServer 5.0.5 with UDK, use "make sco32v505udk".
  535. #  (for SCO UnixWare - see UnixWare)
  536. # ? for Sequent with DYNIX/ptx 1.2.1, "make dynixptx12"
  537. # ? for Sequent with DYNIX/ptx 1.3 or 1.4 with TCP/IP, "make dynixptx13"
  538. # ? for Sequent with DYNIX/ptx 2.0 or 2.1 with TCP/IP, "make dynixptx20"
  539. #     or "dynixptx20c"
  540. # + for Sequent with DYNIX/ptx 2.1.6 on i486, "dynixptx216c"
  541. # ? for Sequent with DYNIX/ptx V4.1.3 with TCP/IP, "make dynixptx41c"
  542. # + for Sequent with DYNIX/ptx V4.4.2 with TCP/IP, "make dynixptx44"
  543. # ? for Sequent Balance 8000 or B8 with DYNIX 3.0.xx, "make dynix3"
  544. #    or "make dynix3noacu"
  545. # ? for Sequent Symmetry S81 with DYNIX 3.0.xx, "make dynix3"
  546. # ? for Sequent DYNIX 3.1.xx, "make dynix31" or "make dynix31c"
  547. # + for Siemens/Nixdorf SINIX-L Intel V5.41, "make sinix541i"
  548. # + for Siemens/Nixdorf SINIX-N MIPS V5.42, "make sinix542"
  549. # + for Siemens/Nixdorf SINIX-Z Intel V5.42, "make sinix542i"
  550. # + for Siemens/Nixdorf Reliant UNIX V5.43, "make sni543"
  551. # + for Siemens/Nixdorf Reliant UNIX V5.44, "make sni544"
  552. # ? for Silicon Graphics Iris System V IRIX 3.2 or earlier, "make iris"
  553. # ? for Silicon Graphics Sys V R3 with IRIX 3.3 or later, "make sys5r3"
  554. # ? for Silicon Graphics Iris Indigo with IRIX 4.0 or 5.0, "make irix40" or
  555. #     (to include Yellow Pages and Curses) "make irix40ypc"
  556. # ? for Silicon Graphics Iris Indigo or Elan with IRIX 4.0.x with microcode
  557. #     optimization and -O4, "make irix40u" or "irix40uc" (and read notes
  558. #     accompanying these entries).
  559. # + for Silicon Graphics IRIX 5.1, "make irix51"
  560. # + for Silicon Graphics IRIX 5.2, "make irix52"
  561. # + for Silicon Graphics IRIX 5.3, "make irix53"
  562. # + for Silicon Graphics IRIX 6.0, "make irix60".
  563. # + for Silicon Graphics IRIX 6.2, "make irix62".
  564. # + for Silicon Graphics IRIX 6.3, "make irix63".
  565. # + for Silicon Graphics IRIX 6.4, "make irix64" or "make irix64gcc".
  566. # + for Silicon Graphics IRIX 6.5, "make irix65".
  567. # + for SGI IRIX 6.5.5 (new company name) "make irix65"
  568. # ? for Solaris 2.0-2.3 on SPARC or Intel, SunPro CC, "make solaris2x",
  569. # ?   or to add SunLink X.25 8.0x support, "make solaris2x25".
  570. # + for Solaris 2.4 build with gcc, "make solaris24g".
  571. # + for Solaris 2.0-2.3 on SPARC or Intel, GNU CC, "make solaris2xg".
  572. # + for Solaris 2.4 with X.25, "make solaris24x25".
  573. # + for Solaris 2.5 on SPARC or Intel, SunPro CC, "make solaris25".
  574. # +   or to add SunLink X.25 8.0x support, "make solaris25x25".
  575. # + for Solaris 2.5 on SPARC or Intel, GNU CC, "make solaris25g".
  576. # + for Solaris 2.6 on SPARC or Intel, "make solaris26".
  577. # + for Solaris 7 (a.k.a. 2.7) on SPARC or Intel, "make solaris7".
  578. # + for Solbourne 4/500 with OS/MP 4 "make sunos4"
  579. # + for Solbourne 4/500 with OS/MP 4.1 "make sunos41" or "make sunos41c"
  580. # ? for SONY NEWS with NEWS-OS 4.0.1C, "make sonynews"
  581. # ? for SONY NEWS with NEWS-OS 4.1.2C, "make sonynews"
  582. # ? for Sperry/UNISYS 5000/20, UTS V 5.2 3R1, "make sys5"
  583. # ? for Sperry/UNISYS 5000/30/35/50/55, UTS V 5.2 2.01, "make unisys5r2"
  584. # ? for Sperry/UNISYS 5000/80 with System V R3, "make sys5r3"
  585. # ? for Sperry/UNISYS 5000/95 with System V R3, "make sys5r3"
  586. #     For UNISYS SVR3 it might be necessary to "make sys5r3 KFLAGS=-UDYNAMIC"
  587. # ? for Stardent 1520, "make sys5r3"
  588. # ? for Stratus, various models, FTX 2.1, probably also 2.2, "make sys5r4"
  589. # ? for Sun with Sun UNIX 3.5 and gcc, "make sunos3gcc"
  590. # ? for Sun with pre-4.0 SunOS versions, "make bsd" (or appropriate variant)
  591. # ? for Sun with SunOS 4.0, BSD environment, "make sunos4"
  592. # ? for Sun with SunOS 4.0, BSD, with SunLink X.25, make sunos4x25
  593. # ? for Sun with SunOS 4.0, AT&T Sys V R3 environment, "make sunos4s5"
  594. # + for Sun with SunOS 4.1 or 4.1.1, BSD environment, "make sunos41"
  595. #     or "make sunos41c" (curses) or "make sunos41gcc" (compile with gcc)
  596. # + for Sun with SunOS 4.1.x, BSD, with SunLink X.25 7.00 or earlier,
  597. #     "make sunos41x25" or "make sunos41x25c" (curses)
  598. # + for Sun with SunOS 4.1, 4.1.1, AT&T Sys V R3 environment, "make sunos41s5"
  599. # + for Sun with SunOS 4.1, 4.1.1, POSIX environment, "make sunposix"
  600. # + for Sun with SunOS 4.1.2, "make sunos41" or any of its variations.
  601. #     NOTE:  All SunOS 4.x systems -- Shared libraries are used by default.
  602. #       If this causes problems, add -Bstatic to CFLAGS.
  603. #     NOTE2: When building C-Kermit under SunOS for the BSD universe,
  604. #       but /usr/5bin/cc is ahead of /usr/ucb/cc in your PATH, add
  605. #       "CC=/usr/ucb/cc CC2=/usr/ucb/cc" to the make entry.
  606. #     NOTE3: If an executable built on one type of Sun hardware does not work
  607. #       on another type, rebuild the program from source on the target machine.
  608. #   for Sun with Solaris 1.x use SunOS 4.1 entries.
  609. #   for Sun with Solaris 2.0 and higher use Solaris entries.
  610. # + for Sun SPARC with Linux, "make linux"
  611. # ? for Sun SPARC with OPENSTEP/Mach 4.1, "make nextquadfat"
  612. # ? for Sun SPARC with OPENSTEP/Mach 4.2, "make openstep42"
  613. # ? for Tandy 16/6000 with Xenix 3.0, "make trs16"
  614. # ? for Tektronix 6130/4132/43xx (e.g.4301) with UTek OS, "make utek"
  615. #     or (for models without hardware flow control), "make uteknohwfc"
  616. # ? for Tektronix XD88 series with UTekV OS, "make utekvr3"
  617. # ? for Tri Star Flash Cache with Esix SVR3.2, "make sys5r3"
  618. # ? for Unistar, "make sys5"
  619. # ? for UNISYS S/4040 68040 CTIX SVR3.2 6.4.1, "make ctix" or "make sys5r3"
  620. # ? for UNISYS U5000 UNIX SVR3 6.x, "make sys5r3" or "make sys5r3c"
  621. # ? for UNISYS U6000 UNIX SVR4 1.x, "make sys5r4nx" or "make sys5r4nxnetc"
  622. #   for UNISYS ... (also see Sperry)
  623. #   for Univel - see UnixWare
  624. # ? for UnixWare 1.x, "make unixware" or "make unixwarenetc".
  625. #     If there are problems with this in C-K 7.0 see notes at unixware entry.
  626. # + for Unixware 2.0.x "make uw2"
  627. # + for UnixWare 2.1.x, "make uw21"
  628. # + for UnixWare 2.x with IKSD (shadow password) support, "make uw2iksd"
  629. # + for UnixWare 7, "make uw7"
  630. # + for UnixWare 7 with IKSD support, "make uw7iksd" or "make uw7iksdudk"
  631. # + for UnixWare 7 with OpenSSL, "make uw7ssl"
  632. # ? for Valid Scaldstar, "make valid"
  633. # ? for Whitechapel MG01 Genix 1.3, "make white"
  634. # ? for Zilog ZEUS 3.21, "make zilog"
  635. #
  636. # The result should be a runnable program called "wermit" in the current
  637. # directory.  After satisfactory testing, you can rename wermit to "kermit"
  638. # and put it where users can find it.
  639. #
  640. # To remove intermediate and object files, "make clean".
  641. # If your C compiler produces files with an extension other than "o",
  642. # then "make clean EXT=u", "make clean EXT=s", or whatever.
  643. #
  644. # To run lint on the source files, "make lintsun", "make lintbsd",
  645. # "make lints5", as appropriate.
  646. #
  647. ##############################################################################
  648. #
  649. # NOTES FOR V7 AND 2.X BSD (BASED ON VERSION 4E OF C-KERMIT, 1987):
  650. #
  651. # For Unix Version 7, several variables must be defined to the values
  652. # associated with your system.  BOOTNAME=/edition7 is the kernel image on
  653. # okstate's Perkin-Elmer 3230.  Others will probably be /unix.  PROCNAME=proc
  654. # is the name of the structure assigned to each process on okstate's system.
  655. # This may be "_proc" or some other variation.  See <sys/proc.h> for more
  656. # info on your systems name conventions.  NPROCNAME=nproc is the name of a
  657. # kernel variable that tells how many "proc" structures there are.  Again
  658. # this may be different on your system, but nproc will probably be somewhere.
  659. # The variable NPTYPE is the type of the nproc variable -- int, short, etc.
  660. # which can probably be gleaned from <sys/param.h>.  The definition of DIRECT
  661. # is a little more complicated.  If nlist() returns, for "proc" only, the
  662. # address of the array, then you should define DIRECT as it is below.  If
  663. # however, nlist() returns the address of a pointer to the array, then you
  664. # should give DIRECT a null definition (DIRECT= ).  The extern declaration in
  665. # <sys/proc.h> should clarify this for you.  If it is "extern struct proc
  666. # *proc", then you should NOT define DIRECT.  If it is "extern struct proc
  667. # proc[]", then you should probably define DIRECT as it is below.  See
  668. # ckuv7.hlp for further information.
  669. #
  670. # For 2.9 BSD, the makefile may use pcc rather than cc for compiles; that's
  671. # what the CC and CC2 definitions are for (the current version of the
  672. # makefile uses cc for both; this was tested in version 4E of C-Kermit and
  673. # worked OK on the DEC Pro 380, but all bets are off for version 5A).  2.9
  674. # support basically follows the 4.1 path.  Some 2.9 systems use "dir.h" for
  675. # the directory header file, others will need to change this to "ndir.h".
  676. #
  677. # The v7 and 2.9bsd versions assume I&D space on a PDP-11.  When building
  678. # C-Kermit for v7 on a PDP-11, you should probably add the -i option to the
  679. # link flags.  Without I&D space, overlays will be necessary (if available),
  680. # or code segment mapping (a`la Pro/Venix) if that's available.
  681. #
  682. # C-Kermit 5A (and 6.0?) can be built for 2.10 and 2.11BSD, using overlays,
  683. # but a separate makefile is used because this one is too big.
  684. #
  685. ##############################################################################
  686. #
  687. # V7-specific variables.
  688. # These are set up for Perkin-Elmer 3230 V7 Unix:
  689. #
  690. PROC=proc
  691. DIRECT=
  692. NPROC=nproc
  693. NPTYPE=int
  694. BOOTFILE=/edition7
  695. #
  696. # ( For old Tandy TRS-80 Model 16A or 6000 V7-based Xenix, use PROC=_proc,
  697. #   DIRECT=-DDIRECT, NPROC=_Nproc, NPTYPE=short, BOOTFILE=/xenix )
  698. #
  699. ###########################################################################
  700. #
  701. #  Compile and Link variables:
  702. #
  703. #  EXT is the extension (file type) for object files, normally o.
  704. #  See MINIX entry for what to do if another filetype must be used.
  705. #
  706. EXT=o
  707. #LNKFLAGS=
  708. SHAREDLIB=
  709. CC= cc
  710. CC2= cc
  711. MAKE= make
  712. SHELL=/bin/sh
  713.  
  714. ###########################################################################
  715. # SAMPLE INSTALLATION SCRIPT
  716. #
  717. # Modify to suit your own computer's file organization
  718. # and permissions.  If you don't have write access to the destination
  719. # directories, "make install" will fail.  In most cases, a real installation
  720. # will also require you to chown / chgrp for the UUCP lockfile and/or tty
  721. # devices, and perhaps also to chmod +s the appropriate permission fields.
  722. #
  723. # Default binary, man, and doc directories are supplied below.  You can
  724. # override them in your 'make' command.  Examples:
  725. #
  726. #   make install                                   # Accept defaults.
  727. #   make "INFODIR=/usr/share/lib/kermit" install   # Override INFODIR default.
  728. #
  729. # You can also build and install in one step, e.g.:
  730. #
  731. #   make sunos41gcc install
  732. #
  733. WERMIT = makewhat
  734. DESTDIR =
  735. BINDIR = /usr/local/bin
  736. MANDIR = /usr/man/manl
  737. INFODIR = /usr/local/doc/kermit
  738. MANEXT = l
  739. ALL = $(WERMIT)
  740.  
  741. all: $(ALL)
  742.  
  743. .c.o:
  744.     $(CC) $(CFLAGS) -DKTARGET=\"$(KTARGET)\" -c $<
  745.  
  746. #Clean up intermediate and object files
  747. clean:
  748.     @echo 'Removing object files...'
  749.     -rm -f ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  750. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckcpro.$(EXT) ckcfns.$(EXT) \
  751. ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) \
  752. ckufio.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) ckwart.$(EXT) ckuusx.$(EXT) \
  753. ckuusy.$(EXT) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckusig.$(EXT) \
  754. ckucns.$(EXT) ckcmdb.$(EXT) ckuath.$(EXT) ckctel.$(EXT) ckclib.$(EXT) \
  755. ckcuni.$(EXT) ck_crp.$(EXT) ck_ssl.$(EXT) ckupty.$(EXT) ckcpro.c wart
  756.  
  757. # Install C-Kermit after building -- IMPORTANT: Read the instructions above.
  758. install:
  759.     cp wermit $(DESTDIR)$(BINDIR)/kermit
  760.     chmod 755 $(DESTDIR)$(BINDIR)/kermit
  761.     @echo
  762.     @echo "Kermit binary installed:"
  763.     @ls -l $(DESTDIR)$(BINDIR)/kermit
  764.     @echo
  765.     @echo " WARNING: If C-Kermit is to be used for dialing out, you will"
  766.     @echo " probably need to change its owner and group and permissions to"
  767.     @echo " match the cu program.  See the ckuins.txt file for details."
  768.     @echo
  769.     @echo "Installing man page..."
  770.     cp ckuker.nr $(DESTDIR)$(MANDIR)/kermit.$(MANEXT)
  771. # To make sure 'man' notices the new source file and doesn't keep
  772. # showing the old formatted version, remove the old formatted version,
  773. # something like this:
  774. #    rm -f $(DESTDIR)$(MANDIR)/../cat$(MANEXT)/kermit.$(MANEXT)
  775. # or this (which requires CATDIR to be defined):
  776. #    rm -f $(DESTDIR)$(CATDIR)/kermit.$(MANEXT)
  777.     chmod 644 $(DESTDIR)$(MANDIR)/kermit.$(MANEXT)
  778.     @echo
  779.     @echo "Installing info files..."
  780.     @if test -d $(INFODIR); then \
  781.         echo "$(INFODIR) exists..." ; \
  782.     else \
  783.         echo "Creating $(INFODIR)/..." ; \
  784.         mkdir $(INFODIR) ; \
  785.         chmod 755 $(INFODIR) ; \
  786.     fi
  787.     @echo "Copying text files to $(INFODIR)..."
  788.     @cp COPYING.TXT $(INFODIR)
  789.     @cp ckaaaa.txt $(INFODIR)/READ.ME
  790.     @cp ckuaaa.txt $(INFODIR)
  791.     @cp ckermit2.txt ckcbwr.txt ckubwr.txt ckuins.txt $(INFODIR)
  792.     @cp ckermit.ini ckermod.ini ckurzsz.ini ckermit.k*d $(INFODIR)
  793.     @cp telnet.txt security.txt iksd.txt $(INFODIR)
  794.     @cp cke*.ksc $(INFODIR)
  795.     @cp ckcplm.txt ckccfg.txt $(INFODIR)
  796.     @chmod 644 $(INFODIR)/*
  797.     @ls -l $(INFODIR)/*
  798.  
  799. makewhat:
  800.     @echo 'make what?  You must tell which platform to make C-Kermit for.'
  801.     @echo Examples:  make hpux1100, make aix43, make solaris26, etc.
  802.     @echo Please read the comments at the beginning of the makefile.
  803.  
  804. ###########################################################################
  805. #
  806. # Dependencies Section:
  807.  
  808. manpage: ckuker.nr
  809.  
  810. # Normal version
  811.  
  812. wermit:    ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  813.         ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  814.         ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  815.         ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  816.         ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  817.         ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  818.         ckcuni.$(EXT) ckupty.$(EXT)
  819.     $(CC2) $(LNKFLAGS) -o wermit \
  820.         ckcmai.$(EXT) ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
  821.         ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  822.         ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
  823.         ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
  824.         ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) ckucon.$(EXT) \
  825.         ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
  826.         ckusig.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) $(LIBS)
  827.  
  828. # Version with CONNECT module that uses select() instead of fork()
  829.  
  830. xermit:    ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  831.         ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  832.         ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  833.         ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  834.         ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  835.         ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  836.         ckcuni.$(EXT) ckupty.$(EXT)
  837.     $(CC2) $(LNKFLAGS) -o wermit \
  838.         ckcmai.$(EXT) ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
  839.         ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  840.         ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
  841.         ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
  842.         ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) ckucns.$(EXT) \
  843.         ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckusig.$(EXT) \
  844.         ckctel.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) $(LIBS)
  845.  
  846. # Malloc Debugging version
  847.  
  848. mermit:    ckcmdb.$(EXT) ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) \
  849.         ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  850.         ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  851.         ckcpro.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) \
  852.         ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
  853.         ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
  854.         ckusig.$(EXT) ckcuni.$(EXT)
  855.     $(CC2) $(LNKFLAGS) -o mermit ckcmdb.$(EXT) ckclib.$(EXT) ckcmai.$(EXT)\
  856.         ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  857.         ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  858.         ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  859.         ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  860.         ckuusr.$(EXT) ckucon.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  861.         ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckcuni.$(EXT) $(LIBS)
  862.  
  863. # Kerberized Version - Subject to USA export restrictions.
  864.  
  865. krbmit:    ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  866.         ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  867.         ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  868.         ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  869.         ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  870.         ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  871.         ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
  872.         ck_ssl.$(EXT)
  873.     $(CC2) $(LNKFLAGS) -o krbmit ckcmai.$(EXT) ckclib.$(EXT) \
  874.         ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  875.         ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  876.         ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  877.         ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  878.         ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  879.         ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
  880.         ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ck_ssl.$(EXT) $(LIBS)
  881.  
  882. # SRP(TM) Version - Subject to USA export restrictions.
  883.  
  884. srpmit:    ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  885.         ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  886.         ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  887.         ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  888.         ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  889.         ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  890.         ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
  891.         ck_ssl.$(EXT)
  892.     $(CC2) $(LNKFLAGS) -o srpmit ckcmai.$(EXT) ckclib.$(EXT) \
  893.         ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  894.         ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  895.         ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  896.         ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  897.         ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  898.         ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
  899.         ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ck_ssl.$(EXT) $(LIBS)
  900.  
  901. # Kerberized Version - Not subject to USA export restrictions.
  902.  
  903. krbmit-export:    ckcmai.$(EXT) \
  904.         ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  905.         ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  906.         ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  907.         ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  908.         ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  909.         ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  910.         ckuath.$(EXT) ckcuni.$(EXT) ckupty.$(EXT)
  911.     $(CC2) $(LNKFLAGS) -o krbmit-export ckcmai.$(EXT) ckclib.$(EXT) \
  912.         ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  913.         ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  914.         ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  915.         ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  916.         ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  917.         ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
  918.         ckcuni.$(EXT) ckupty.$(EXT) $(LIBS)
  919.  
  920. # SRP(TM) Version - Not subject to USA export restrictions.
  921.  
  922. srpmit-export:    ckcmai.$(EXT) \
  923.         ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  924.         ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  925.         ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  926.         ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  927.         ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  928.         ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  929.         ckuath.$(EXT) ckcuni.$(EXT) ckupty.$(EXT)
  930.     $(CC2) $(LNKFLAGS) -o srpmit-export ckcmai.$(EXT) ckclib.$(EXT) \
  931.         ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  932.         ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  933.         ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  934.         ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  935.         ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  936.         ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
  937.         ckcuni.$(EXT) ckupty.$(EXT) $(LIBS)
  938.  
  939. ###########################################################################
  940. # man page...
  941. #
  942. # WARNING: Using "cc -E" to preprocess the man page is not portable, but it
  943. # works OK in SunOS 4.1.x, HP-UX, etc.  We use the preprocessor to produce
  944. # custom man pages based on ifdef, else, and endif directives.  But the
  945. # preprocessor replaces omitted lines by blank lines and comment lines, so we
  946. # use grep to filter them out.  THIS MEANS THAT THE SOURCE FILE, ckuker.cpp,
  947. # MUST NOT CONTAIN ANY BLANK LINES!
  948. # Note: on some systems you might need to add -x to the first grep invocation.
  949. #
  950. ckuker.nr: ckuker.cpp
  951.     $(CC) $(CFLAGS) -E ckuker.cpp |grep -v "^$$" |grep -v "^\#" > ckuker.nr
  952.  
  953. ###########################################################################
  954. # Dependencies for each module...
  955. #
  956. ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h ckcsig.h \
  957.         ckuusr.h ckctel.h ckclib.h
  958.  
  959. ckclib.$(EXT): ckclib.c ckclib.h ckcdeb.h ckcasc.h ckcsym.h
  960.  
  961. ckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckclib.h
  962.  
  963. ckcpro.c: ckcpro.w wart ckcdeb.h ckcsym.h ckcasc.h ckcker.h ckcnet.h ckctel.h \
  964.      ckclib.h
  965.     ./wart ckcpro.w ckcpro.c
  966.  
  967. ckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckcuni.h \
  968.         ckuxla.h ckclib.h ckcnet.h
  969.  
  970. ckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
  971.         ckuxla.h ckctel.h ckclib.h ckcnet.h ckcuni.h
  972.  
  973. ckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
  974.         ckuxla.h ckclib.h ckcuni.h
  975.  
  976. ckuxla.$(EXT): ckuxla.c ckcker.h ckcsym.h ckcdeb.h ckcxla.h ckuxla.h ckclib.h \
  977.          ckcuni.h
  978.  
  979. ckcuni.$(EXT): ckcuni.c ckcdeb.h ckcker.h ckucmd.h ckcuni.h ckcxla.h \
  980.         ckuxla.h ckcuni.h
  981.  
  982. ckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcsym.h ckcdeb.h ckcxla.h \
  983.         ckuxla.h ckcasc.h ckcnet.h ckctel.h ckclib.h ckcuni.h
  984.  
  985. ckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
  986.         ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
  987.  
  988. ckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
  989.         ckcasc.h ckcnet.h ckcsym.h ckctel.h ckctel.h ckclib.h ckcuni.h
  990.  
  991. ckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
  992.         ckcasc.h ckcnet.h ckuver.h ckcsym.h ckctel.h ckclib.h ckcuni.h
  993.  
  994. ckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
  995.          ckcsym.h ckctel.h ckclib.h ckcxla.h ckuxla.h ckcuni.h
  996.  
  997. ckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
  998.          ckcsym.h ckctel.h ckclib.h
  999.  
  1000. ckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
  1001.         ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
  1002.  
  1003. ckuusx.$(EXT): ckuusx.c ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcsym.h \
  1004.         ckcsig.h ckcnet.h ckctel.h ckclib.h ckcxla.h ckuxla.h ckcuni.h
  1005.  
  1006. ckuusy.$(EXT): ckuusy.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
  1007.          ckclib.h
  1008.  
  1009. ckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h ckcsym.h ckctel.h ckclib.h
  1010.  
  1011. ckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h ckcsym.h ckclib.h \
  1012.         ckcxla.h ckuxla.h ckcuni.h
  1013.  
  1014. ckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h ckcsym.h ckctel.h ckclib.h
  1015.  
  1016. ckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
  1017.          ckclib.h
  1018.  
  1019. ckucns.$(EXT): ckucns.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
  1020.          ckclib.h ckcxla.h ckuxla.h ckcuni.h
  1021.  
  1022. ckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h ckcsym.h ckcsig.h ckctel.h \
  1023.          ckclib.h
  1024.  
  1025. ckctel.$(EXT): ckcsym.h ckcdeb.h ckcker.h ckcnet.h ckctel.h ckclib.h
  1026.  
  1027. wart: ckwart.$(EXT)
  1028.     $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT) $(LIBS)
  1029.  
  1030. ckcmdb.$(EXT): ckcmdb.c ckcdeb.h ckcsym.h ckclib.h
  1031.  
  1032. ckwart.$(EXT): ckwart.c
  1033.  
  1034. ckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h ckcsym.h ckcsig.h \
  1035.         ckcnet.h ckctel.h ckclib.h
  1036.  
  1037. ckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcsig.h \
  1038.         ckcnet.h ckctel.h ckclib.h
  1039.  
  1040. ckusig.$(EXT): ckusig.c ckcasc.h ckcdeb.h ckcker.h ckcnet.h ckuusr.h \
  1041.         ckcsig.h ckctel.h ckclib.h
  1042.  
  1043. ckupty.$(EXT): ckupty.c ckupty.h ckcdeb.h
  1044.  
  1045. ckuath.$(EXT): ckuath.c ckcdeb.h ckucmd.h ckuath.h ckuat2.h ckctel.h \
  1046.          ckclib.h ckcnet.h
  1047.  
  1048. ck_crp.$(EXT): ck_crp.c ckcdeb.h ckcnet.h ckuath.h ckclib.h
  1049.  
  1050. ck_ssl.$(EXT): ck_ssl.c ckcdeb.h ckucmd.h ckuath.h ckuat2.h ckctel.h \
  1051.          ckclib.h ck_ssl.h
  1052.  
  1053. ###########################################################################
  1054. #
  1055. # Entries to make C-Kermit for specific systems.
  1056. #
  1057. # Put the ones that need short makefiles first.
  1058.  
  1059. #Apollo Aegis 9.x.  Includes TCP/IP support.
  1060. #You can also add processor-dependent optimization switches like -M570.
  1061. aegis:
  1062.     @echo Making C-Kermit $(CKVER) for Apollo Aegis 9.x...
  1063.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1064.     "CFLAGS= -DBSD4 -DTCPSOCKET -DNOCSETS -DCK_CURSES -O $(KFLAGS)" \
  1065.     "LIBS = -lcurses -ltermcap"
  1066.  
  1067. #Apple Mac II, A/UX pre-3.0
  1068. #Warning, if "send *" doesn't work, try the auxufs makefile entry below.
  1069. aux:
  1070.     @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
  1071.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1072.     "CFLAGS = -DAUX -DTCPSOCKET $(KFLAGS) -i -O" "LNKFLAGS = -i"
  1073.  
  1074. #Apple Mac II, A/UX pre-3.0, compiled with gcc
  1075. auxgcc:
  1076.     @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
  1077.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1078.     "CFLAGS = -DAUX -DTCPSOCKET -traditional $(KFLAGS) -i -O" \
  1079.     "LNKFLAGS = " "CC = gcc" "CC2 = gcc"
  1080.  
  1081. #Apple Mac II, A/UX, pre-3.0, but with ufs file volumes, uses <dirent.h>.
  1082. auxufs:
  1083.     @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
  1084.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1085.     "CFLAGS = -DAUX -DTCPSOCKET -DDIRENT $(KFLAGS) -i -O" "LNKFLAGS = -i"
  1086.  
  1087. #Apple Mac II, A/UX 3.0, compiled with gcc
  1088. aux3gcc:
  1089.     @echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
  1090.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1091.     "CFLAGS = -DAUX -DHDBUUCP -DLFDEVNO -DTCPSOCKET -DDIRENT $(KFLAGS)" \
  1092.     "LNKFLAGS = -s" "LIBS = $(LIBS)" \
  1093.     "CC=gcc -pipe -traditional" "CC2=gcc -pipe -traditional"
  1094.  
  1095. #Apple Mac II, A/UX 3.0, compiled with gcc, uses curses
  1096. aux3cgcc:
  1097.     @echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
  1098.     $(MAKE) "MAKE=$(MAKE)" aux3gcc KTARGET=$${KTARGET:-$(@)} \
  1099.     "KFLAGS=$(KFLAGS) -DCK_CURSES" "LIBS = -lcurses $(LIBS)"
  1100.  
  1101. # Tenon MachTen, tested on Apple Powerbook with MachTen 2.1.1.D.
  1102. # NOTE: This doesn't do anything about UUCP.  It only works if /usr/spool/uucp
  1103. # has permission of 777, and dialout device is world read/writeable.
  1104. machten:
  1105.     @echo Making C-Kermit $(CKVER) for MachTen...
  1106.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1107.     "CFLAGS= -DBSD43 -DTCPSOCKET -DSIG_V -DNDGPWNAM -DCK_CURSES -O \
  1108.     $(KFLAGS)"  "LIBS=-lcurses -ltermcap"
  1109.  
  1110. #Bell Labs Research UNIX V10
  1111. #Can't add TCP/IP because there is no sockets library.  It would have to
  1112. #be done using streams, but there is no code in C-Kermit for that.
  1113. #Remove -DNOJC if desired (if your system has csh, ksh, or bash).
  1114. bellv10:
  1115.     @echo Making C-Kermit $(CKVER) for Bell Labs Research UNIX V10...
  1116.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1117.     "CFLAGS= -DBELLV10 -DBSD4 -DNDIR -DNOJC -DNOSYSIOCTLH -DNOSETREU \
  1118.     -DNOCSETS -MINIDIAL $(KFLAGS)"
  1119.  
  1120. #Berkeley Unix 4.1
  1121. bsd41:
  1122.     @echo Making C-Kermit $(CKVER) for 4.1BSD...
  1123.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1124.     "CFLAGS= -DBSD41" "LIBS = -ljobs"
  1125.  
  1126. #Berkeley 4.2, 4.3, also Ultrix-32 1.x, 2.x, 3.x, many others
  1127. # Add -O, -s, etc, if they work.
  1128. # If you have a version of BSD but signal() is void rather than int,
  1129. # "make bsd KFLAGS=-DSIG_V".
  1130. bsd:
  1131.     @echo Making C-Kermit $(CKVER) for 4.2BSD...
  1132.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1133.     "CFLAGS= -DBSD4 -DTCPSOCKET $(KFLAGS)"
  1134.  
  1135. bsd42:
  1136.     $(MAKE) bsd KTARGET=$${KTARGET:-$(@)}
  1137.  
  1138. #Berkeley 4.2, 4.3, minimum size
  1139. bsdm:
  1140.     @echo Making C-Kermit $(CKVER) for 4.2BSD...
  1141.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1142.     "CFLAGS= -O -DBSD4 -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT \
  1143.     -DNOCSETS -DNOICP $(KFLAGS)" "LNKFLAGS = -s"
  1144.  
  1145. #Berkeley Unix with HoneyDanBer UUCP
  1146. bsdhdb:
  1147.     @echo Making C-Kermit $(CKVER) for 4.2BSD with HDB UUCP...
  1148.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1149.     "CFLAGS= -DHDBUUCP -DBSD4 -DTCPSOCKET $(KFLAGS)"
  1150.  
  1151. #Berkeley Unix 4.3 with acucntrl program
  1152. bsd43:
  1153.     @echo Making C-Kermit $(CKVER) for 4.3BSD with acucntrl...
  1154.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1155.     "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET $(KFLAGS) -O"
  1156.  
  1157. #Ditto, with curses support.
  1158. bsd43c:
  1159.     @echo Making C-Kermit $(CKVER) for 4.3BSD with acucntrl and curses...
  1160.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1161.     "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -DCK_CURSES $(KFLAGS) -O" \
  1162.     "LIBS=-lcurses -ltermcap"
  1163.  
  1164. #Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
  1165. #but without acucntrl program
  1166. bsdlck:
  1167.     @echo Making C-Kermit $(CKVER) for 4.2BSD, /usr/spool/uucp/LCK/...
  1168.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1169.     "CFLAGS= -DLCKDIR -DBSD4 -DTCPSOCKET $(KFLAGS)"
  1170.  
  1171. #Berkeley UNIX 4.4-Lite, 4.4-Encumbered, Net/2, etc (Post-Reno),
  1172. #with TCP/IP networking.  This includes NetBSD, FreeBSD, etc.
  1173. #NOTE: This is not a pure POSIX configuration.  Using -DPOSIX instead of
  1174. # -DBSD44 prevents any kind of directory-reading (for wildcard expansion),
  1175. #and disallows use of ENOTCONN symbol for detecting broken network
  1176. #connections, and disallows RTS/CTS flow control, and would also require
  1177. #definition of the appropriate UUCP lockfile convention.
  1178. #Do not add -DCK_POSIX_SIG without reading <signal.h> first!  For example,
  1179. #sigsetjmp(), etc, tend to be defined but not implemented.
  1180. bsd44:
  1181.     @echo Making C-Kermit $(CKVER) for 4.4BSD...
  1182.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1183.     "CFLAGS= -DBSD44 -DTCPSOCKET $(KFLAGS) -O"
  1184.  
  1185. #Berkeley UNIX 4.4, as above, but with curses for fullscreen display
  1186. #Please read notes for bsd44 entry just above.
  1187. # NOTE: This one dumps core on the real 4.4BSD system at UC Berkeley
  1188. # (an HP-9000 300), so use the no-curses version for that one.
  1189. bsd44c:
  1190.     @echo Making C-Kermit $(CKVER) for 4.4BSD with curses...
  1191.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1192.     "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET $(KFLAGS) -O" \
  1193.     "LIBS= -lcurses -ltermcap $(LIBS)"
  1194.  
  1195. #For FreeBSD 1.x.  Not tested recently - might need ncurses.
  1196. freebsd:
  1197.     @echo 'Making C-Kermit $(CKVER) for FreeBSD...'
  1198.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1199.     "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -funsigned-char \
  1200.     $(KFLAGS) -O -pipe" "LIBS= -lcurses -ltermcap -lcrypt $(LIBS)"
  1201.  
  1202. #FreeBSD 2.x with ncurses
  1203. freebsd2:
  1204.     @echo 'Making C-Kermit $(CKVER) for FreeBSD 2.x with ncurses...'
  1205.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1206.     "CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -DUSE_STRERROR \
  1207.     -DTPUTSARGTYPE=int -DTPUTSARG1CONST -DFREEBSD2 -funsigned-char \
  1208.     $(KFLAGS) -O -pipe" \
  1209.     "LIBS= -lncurses -ltermlib -lcrypt $(LIBS)"
  1210.  
  1211. #For FreeBSD 2.x -- Uses curses rather than ncurses
  1212. freebsd2c:
  1213.     @echo 'Making C-Kermit $(CKVER) for FreeBSD 2.x with curses...'
  1214.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1215.     "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DUSE_STRERROR \
  1216.     -DTPUTSARGTYPE=int -DTPUTSARG1CONST -DFREEBSD2 \
  1217.     -funsigned-char $(KFLAGS) -O -pipe" \
  1218.     "LIBS= -lcurses -ltermlib -lcrypt $(LIBS)"
  1219.  
  1220. #FreeBSD 3.x with ncurses and uu_lock()
  1221. #(Note: uu_lock() goes back to 2.2.2, but not necessarily 2.0)
  1222. freebsd3:
  1223.     @echo 'Making C-Kermit $(CKVER) for FreeBSD 3.x with ncurses...'
  1224.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1225.     "CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -funsigned-char \
  1226.     -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD3 -DUSE_UU_LOCK \
  1227.     $(KFLAGS) -O -pipe" \
  1228.     "LIBS= -lncurses -lcrypt -lutil $(LIBS)"
  1229.  
  1230. #As above but with curses rather than ncurses.
  1231. freebsd3c:
  1232.     @echo 'Making C-Kermit $(CKVER) for FreeBSD 3.x with curses...'
  1233.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1234.     "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DUSE_UU_LOCK \
  1235.     -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD3 $(KFLAGS) \
  1236.     -funsigned-char -pipe -O" \
  1237.     "LIBS= -lcurses -lcrypt -lutil $(LIBS)"
  1238.  
  1239. #NetBSD - all versions - with curses, not ncurses.
  1240. netbsd:
  1241.     @echo Making C-Kermit $(CKVER) for NetBSD with curses...
  1242.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1243.     "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR -DTPUTSISVOID \
  1244.     -DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int $(KFLAGS) -O" \
  1245.     "LIBS= -lcurses -lcrypt $(LIBS)"
  1246.  
  1247. #NetBSD with ncurses rather than curses
  1248. netbsdn:
  1249.     @echo Making C-Kermit $(CKVER) for NetBSD with ncurses...
  1250.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1251.     "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC \
  1252.     -DCK_DTRCD -DCK_DTRCTS \
  1253.     -DUSE_STRERROR -DTPUTSISVOID -DTPUTSARGTYPE=int $(KFLAGS) -O" \
  1254.     "LIBS= -L/usr/pkg/lib -lncurses -lcrypt"
  1255.  
  1256. #NetBSD with no IKSD
  1257. netbsdnoiksd:
  1258.     @echo Making C-Kermit $(CKVER) for NetBSD with curses...
  1259.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1260.     "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR -DTPUTSISVOID \
  1261.     -DCK_DTRCD -DCK_DTRCTS \
  1262.     -DNOIKSD -DTPUTSARGTYPE=int $(KFLAGS) -O" \
  1263.     "LIBS= -lcurses $(LIBS)"
  1264.  
  1265. #OpenBSD - Uses ncurses as its curses so use -ltermlib, not -ltermcap
  1266. #Add -DMAINTYPE=int if you get complaints about main: return type is not int.
  1267. openbsd:
  1268.     @echo Making C-Kermit $(CKVER) for OpenBSD...
  1269.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1270.     "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
  1271.     -DNDSYSERRLIST $(KFLAGS) -O" "LIBS= -lcurses -ltermlib"
  1272.  
  1273. # make 386bsd 0.0new, posix
  1274. # for  386bsd 0.1.24, change /usr/include/termios.h to #define NCCS if
  1275. #  _POSIX_SOURCE is #defined. (source: lewine, posix prgmrs guide, o`reilly)
  1276. #NOTE: Lock directory is /var/spool/lock.  Formerly, it was /var/spool/uucp,
  1277. #but reportedly <wjones@halcyon.com> that was due to a typo in 'man tip'.
  1278. 386bsd:
  1279.     @echo 'Making C-Kermit $(CKVER) for jolix 386BSD 0.0new and 0.1.24...'
  1280.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1281.     "CFLAGS= -DPOSIX -DSETREUID -DPIDSTRING -DUSLEEP \
  1282.     -D_386BSD -DCK_CURSES -DTCPSOCKET \
  1283.     -DLOCK_DIR=\\\"/var/spool/lock\\\" \
  1284.     $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
  1285.  
  1286. #Mac OS X 1.0 (Rhapsody) -- TCP/IP but no curses.
  1287. macosx10:
  1288.     @echo Making C-Kermit $(CKVER) for `uname -s`...
  1289.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1290.     "CFLAGS= -DMACOSX10 -DTCPSOCKET -O $(KFLAGS)"
  1291.  
  1292. #Mac OS X 1.0 (Rhapsody) -- TCP/IP and curses.
  1293. #Note: curses must be obtained separately.  See next entry for ncurses.
  1294. #Add "LIBS = -lcurses -ltermcap" if necessary (but reportedly it is not).
  1295. macosx10c:
  1296.     @echo Making C-Kermit $(CKVER) for `uname -s` + curses...
  1297.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1298.     "CFLAGS= -DMACOSX10 -DCK_CURSES -DTPUTSFNTYPE=void -DTPUTSISVOID \
  1299.     -DTCPSOCKET -O $(KFLAGS)"
  1300.  
  1301. #Mac OS X 1.0 (Rhapsody) -- TCP/IP and ncurses.
  1302. #Note: ncurses must be obtained separately.
  1303. #In the event of trouble with this one try the next one.
  1304. macosx10nc:
  1305.     @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
  1306.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1307.     "CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -O $(KFLAGS) " \
  1308.     "LIBS= -lncurses $(LIBS)"
  1309.  
  1310. #The problem here is that if curses.h also exists, it conflicts with
  1311. #ncurses.h and and we have fatal errors.  If this happens to you, then
  1312. #try this entry.
  1313. macosx10ncx:
  1314.     @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
  1315.     @rm -f ./curses.h; touch ./curses.h
  1316.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1317.     "CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -I. -O $(KFLAGS) " \
  1318.     "LIBS= -lncurses $(LIBS)"
  1319.     @rm -f ./curses.h
  1320.  
  1321. #Acorn RISCiX, based on ...
  1322. #Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
  1323. #but without acucntrl program
  1324. riscix:
  1325.     @echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
  1326.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1327.         "CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
  1328.         -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
  1329.         -DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
  1330.         -DFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL \
  1331.         -DNOANSI -w -O2 -fomit-frame-pointer" \
  1332.         "LIBS= -lcurses -ltermcap " \
  1333.         "CC= /usr/ucb/cc" \
  1334.         "CC2= /usr/ucb/cc"
  1335.  
  1336. #Acorn RISCiX, as above, but using gcc
  1337. riscix-gcc:
  1338.     @echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
  1339.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1340.         "CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
  1341.         -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
  1342.         -DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
  1343.         -DFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL \
  1344.         -DNOANSI -w -O2 -fomit-frame-pointer" \
  1345.         "LIBS= -lcurses -ltermcap " \
  1346.         "CC= gcc -mbsd" \
  1347.         "CC2= gcc -mbsd"
  1348.  
  1349. #Convergent CTIX 6.4.1
  1350. ctix:
  1351.     @echo 'Making C-Kermit $(CKVER) for Convergent CTIX 6.4.1'
  1352.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1353.     "CFLAGS= -DSVR3 -DDIRENT -DTCPSOCKET -DHDBUUCP -DCK_CURSES \
  1354.     -DNONAWS $(KFLAGS) -XO" "LNKFLAGS=-s" "LIBS=-lsocket -lcurses -lc_s"
  1355.     mcs -d wermit
  1356.  
  1357. # The following makefile entry should work for any Harris Night Hawk system
  1358. # (either 88k or 68k based) running release 6.1 or later of the CX/UX
  1359. # operating system. This is a POSIX and ANSI-C compliant system which also
  1360. # supports BSD networking. (Earlier CX/UX releases will probably work with
  1361. # sys5r3, but this has not been verified).
  1362. #
  1363. cx_ux:
  1364.     @echo Making C-Kermit $(CKVER) for Harris Night Hawk CX/UX 6.1 or later
  1365.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1366.     "CFLAGS=-DPOSIX -DTCPSOCKET -DHDBUUCP -DPID_T=pid_t -DWAIT_T=int \
  1367.     -Dd_ino=d_fileno -DUID_T=uid_t -DGID_T=gid_t $(KFLAGS) -Xa \
  1368.     -O3 -g" "LNKFLAGS=-O3"
  1369.  
  1370. #Intergraph Clipper, CLIX, job control, HDB UUCP.
  1371. clix:
  1372.     @echo 'Making C-Kermit $(CKVER) for Intergraph CLIX...'
  1373.     $(MAKE) wermit "CC=acc" "CC2=acc" KTARGET=$${KTARGET:-$(@)} \
  1374.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DDCLTIMEVAL -DNOSYSLOG \
  1375.     -DNOGETUSERSHELL -DNOREALPATH $(KFLAGS) -O" \
  1376.     "LNKFLAGS=" "LIBS= -lbsd"
  1377.  
  1378. #As above + TCP/IP...
  1379. clixnet:
  1380.     @echo 'Making networked C-Kermit $(CKVER) for Intergraph CLIX...'
  1381.     $(MAKE) wermit "CC=acc" "CC2=acc" KTARGET=$${KTARGET:-$(@)} \
  1382.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DDCLTIMEVAL -DNOSYSLOG \
  1383.     -DTCPSOCKET -DNOGETUSERSHELL -DNOREALPATH $(KFLAGS) -O" \
  1384.     "LNKFLAGS=" "LIBS= -lbsd"
  1385.  
  1386. #Mark Williams Coherent 286 or 386 on IBM PC family.
  1387. #There is a 64K limit on program size, so this is a command-line only version.
  1388. coherent:
  1389.     $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DNOICP -DNOSETKEY \
  1390.     -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG -DNOXMIT \
  1391.     -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DSELECT_H $(KFLAGS) -VSUVAR" \
  1392.     KTARGET=$${KTARGET:-$(@)} wermit
  1393.  
  1394. #Mark Williams Coherent 386 on IBM PC family.
  1395. #This will make a "minimum interactive" version - no scripts,
  1396. #no character sets, no help, no dial, no debug/transaction logging, no
  1397. #transmit, msend, mail, type, etc.
  1398. coherentmi:
  1399.     $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DNOSETKEY \
  1400.     -DNOSHOW -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG \
  1401.     -DNOXMIT -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DNOSERVER -DNOUUCP \
  1402.     -DNOSPL -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ \
  1403.     -DNOCMDL $(KFLAGS) -VSUVAR -DSELECT_H" KTARGET=$${KTARGET:-$(@)} \
  1404.     wermit
  1405.  
  1406. #Mark Williams Coherent 386 on IBM PC/AT family.
  1407. coherentmax:
  1408.     $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DSELECT_H \
  1409.     -DNOSYSIOCTLH $(KFLAGS) -VSUVAR" "LNKFLAGS = -O -s" \
  1410.     KTARGET=$${KTARGET:-$(@)} wermit
  1411.  
  1412. #Mark Williams Coherent 386 4.2.  Includes curses but not TCP/IP.
  1413. #Requires updates to the 4.2.10 compiler; the regular compiler fails to
  1414. #to handle "complex expressions".
  1415. coherent42:
  1416.     $(MAKE) "CFLAGS = -T500000 -DCOHERENT -DNOANSI -DSELECT -DDCLGETCWD \
  1417.     -DNOSYSLOG -DDIRENT -DCK_CURSES -DCK_NEWTERM -DCK_WREFRESH -VSUVAR \
  1418.     -DNOSYSIOCTLH -DNOINITGROUPS -DNOSYMLINK -DSELECT_H -O $(KFLAGS)" \
  1419.     "LNKFLAGS = -O -s" KTARGET=$${KTARGET:-$(@)} \
  1420.     "LIBS  = -lsocket -lcurses" wermit
  1421.  
  1422. #DEC Ultrix 2.x
  1423. # Add -O, -DDYNAMIC, -s, etc, if they work.
  1424. ultrix2x:
  1425.     @echo Making C-Kermit $(CKVER) for Ultrix 2.x ...
  1426.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1427.     "CFLAGS= -DBSD4 -DTCPSOCKET -DDU2 -DNOGETUSERSHELL $(KFLAGS)"
  1428.  
  1429. du2:
  1430.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix2x
  1431.  
  1432. #DEC Ultrix 3.1 (and probably also 3.0)
  1433. ultrix3x:
  1434.     @echo Making C-Kermit $(CKVER) for Ultrix 3.x...
  1435.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1436.     "CFLAGS= -DBSD4 -DTCPSOCKET -DDIRENT -DSIG_V -DNOGETUSERSHELL \
  1437.     $(KFLAGS) -O" "LNKFLAGS = -s"
  1438.  
  1439. du3:
  1440.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix3x
  1441.  
  1442.  
  1443. #DEC Ultrix 4.0 or 4.1 on DECstation, VAXstation, VAX, etc.
  1444. ultrix40:
  1445.     @echo Making C-Kermit $(CKVER) for Ultrix 4.0 or 4.1...
  1446.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1447.     "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDU4 -DNOGETUSERSHELL \
  1448.     $(KFLAGS) -Olimit 1450" "LNKFLAGS = -s"
  1449.  
  1450. #DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
  1451. #Like ultrix40, except now C compiler supports -O2 optimization.
  1452. ultrix42:
  1453.     @echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
  1454.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1455.     "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL $(KFLAGS) \
  1456.     -O2 -Olimit 1750" "LNKFLAGS = -s"
  1457.  
  1458. du42:
  1459.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix42
  1460.  
  1461. #DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
  1462. #Like du42, but with curses support added, optimization and a couple features
  1463. #removed because in C-Kermit 7.0 we get bizarre relocation errors otherwise.
  1464. ultrix42c:
  1465.     @echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
  1466.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1467.     "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
  1468.     -DCK_CURSES -DNODEBUG -DNOIKSD $(KFLAGS)" "LNKFLAGS = -s" \
  1469.     "LIBS= -lcurses -ltermcap"
  1470.  
  1471. ultrix43:
  1472.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DULTRIX43 $(KFLAGS)" \
  1473.     KTARGET=$${KTARGET-$(@)} ultrix42c
  1474.  
  1475. ultrix43notcp:
  1476.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DULTRIX43 -DNONET $(KFLAGS)" \
  1477.     KTARGET=$${KTARGET-$(@)} ultrix42c
  1478.  
  1479. ultrix44:
  1480.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DULTRIX44 $(KFLAGS)" \
  1481.     KTARGET=$${KTARGET-$(@)} ultrix42c
  1482.  
  1483. ultrix45:
  1484.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DULTRIX45 $(KFLAGS)" \
  1485.     KTARGET=$${KTARGET-$(@)} ultrix42c
  1486.  
  1487. du42c:
  1488.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix42c
  1489.  
  1490. #DEC Ultrix 4.3A or later on DECsystem and DECstation 5000/50, /150 or /260
  1491. #with MIPS R4x00 processor.  The "-mips3" switch generates R4000-specific
  1492. #code, which is faster and more compact, but *won't* run on earlier
  1493. #DECsystems and DECstations.
  1494. ultrix43-mips3:
  1495.     @echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
  1496.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1497.     "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
  1498.     $(KFLAGS) -O2 -Olimit 1750 -mips3" "LNKFLAGS = -s -mips3"
  1499.  
  1500. du43-mips3:
  1501.     $(MAKE) "MAKE=$(MAKE)" ultrix43-mips3
  1502.  
  1503. #DEC Ultrix 4.3A or later on MIPS R4x000 based systems.
  1504. #Like ultrix43-mips3 but with curses support added
  1505. ultrix43c-mips3:
  1506.     @echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
  1507.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1508.     "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL -DCK_CURSES \
  1509.     $(KFLAGS) -O2 -Olimit 3000 -mips3" "LNKFLAGS = -s -mips3" \
  1510.     "LIBS= -lcurses -ltermcap"
  1511.  
  1512. du43c-mips3:
  1513.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix43c-mips3
  1514.  
  1515. #DEC Ultrix 4.4 on DECstation 5000/50 or /150 with R4000 MIPS processor,
  1516. #or 5000/260 with R4400.  The "-mips3" switch generates R4000-specific code,
  1517. #which is faster and more compact but *won't* run on earlier DECstations.
  1518. ultrix44-mips3:
  1519.     @echo Making C-Kermit $(CKVER) for Ultrix 4.4, R4000 cpu ...
  1520.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1521.     "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
  1522.     $(KFLAGS) -O2 -Olimit 1450 -mips3" "LNKFLAGS = -s -mips3"
  1523.  
  1524. du44-mips3:
  1525.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix44c-mips3
  1526.  
  1527. #DEC Ultrix 4.2 on DECstation, VAXstation, VAX, etc, System V R4 environment
  1528. ultrix42s5r4:
  1529.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4 on Ultrix...'
  1530.     $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1531.     "CFLAGS = -O2 -Olimit 1500 -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  1532.     -DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
  1533.  
  1534. #OSF/1
  1535. osf:
  1536.     $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
  1537.     "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
  1538.     -DCK_CURSES -DCK_RTSCTS -DFNFLOAT $(KFLAGS)" \
  1539.     "LNKFLAGS = -s" "LIBS = -lbsd -lcurses -ltermcap -lm"
  1540.  
  1541. #DEC OSF/1 V1.0-1.3 on DECstation, VAX, Alpha, or PC.
  1542. dec-osf:
  1543.     @echo Making C-Kermit $(CKVER) for DEC OSF/1 V1.x...
  1544.     @echo If you are building for DEC OSF/1 2.0, please use dec-osf20.
  1545.     @echo Remove or adjust -O2 and/or -Olimit if they cause trouble.
  1546.     $(MAKE) osf KTARGET=$${KTARGET:-$(@)} \
  1547.     "KFLAGS= -O2 -Olimit 2400 $(KFLAGS)"
  1548.  
  1549. #DEC OSF/1 2.0 on Alpha and probably nowhere else.
  1550. #The only difference from OSF/1 is that optimization is omitted.
  1551. #The optimized version gets strange runtime errors, like the PAUSE command
  1552. #not working.  Add "-unsigned" to make all chars unsigned.
  1553. dec-osf20:
  1554.     @echo Making C-Kermit $(CKVER) for DEC OSF/1 V2.0...
  1555.     @echo Optimization omitted because it causes runtime errors.
  1556.     @echo See comments in makefile.
  1557.     $(MAKE) osf KTARGET=$${KTARGET:-$(@)} "KFLAGS= -DOSF20 $(KFLAGS)"
  1558.  
  1559. dec-osf30:
  1560.     @echo Making C-Kermit $(CKVER) for DEC OSF/1 V3.0...
  1561.     $(MAKE) osf KTARGET=$${KTARGET:-$(@)} \
  1562.     "KFLAGS= -DOSF30 -O2 -Olimit 2400 $(KFLAGS)"
  1563.  
  1564. #Digital UNIX 3.2
  1565. # Must compile ckuus[6x].c separately without optimization otherwise
  1566. # the optimizer dumps core - keep CFLAGS here in sync with those from osf.
  1567. du32:
  1568.     @echo Making C-Kermit $(CKVER) for Digital UNIX 3.2...
  1569.     $(MAKE) ckuus6.$(EXT) \
  1570.     "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
  1571.     -DCK_CURSES -DCK_RTSCTS -DFNFLOAT $(KFLAGS)"
  1572.     $(MAKE) ckuusx.$(EXT) \
  1573.     "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
  1574.     -DCK_CURSES -DCK_RTSCTS -DFNFLOAT $(KFLAGS)"
  1575.     $(MAKE) osf "KFLAGS= -DOSF32 -DHDBUUCP -O2 -Olimit 3000 $(KFLAGS)"
  1576.  
  1577. dec-osf32:
  1578.     $(MAKE) "MAKE=$(MAKE)" du32 KTARGET=$${KTARGET:-$(@)}
  1579.  
  1580. du40:
  1581.     @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0...
  1582.     $(MAKE) osf KTARGET=$${KTARGET:-$(@)} \
  1583.     "KFLAGS= -DOSF40 -DHDBUUCP -DFNFLOAT \
  1584.     -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
  1585.  
  1586. du40gcc:
  1587.     @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0 with gcc ...
  1588.     $(MAKE) osf CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
  1589.     "KFLAGS= -DOSF40 -DHDBUUCP $(KFLAGS)"
  1590.  
  1591. #Tru64 Unix 4.0E
  1592. tru64-40e:
  1593.     @echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0E...
  1594.     $(MAKE) osf KTARGET=$${KTARGET:-$(@)} \
  1595.     "KFLAGS= -DOSF40 -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
  1596.     -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
  1597.  
  1598. tru64-40g:
  1599.     @echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0G...
  1600.     $(MAKE) osf KTARGET=$${KTARGET:-$(@)} \
  1601.     "KFLAGS= -DOSF40 -DOSF40G -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
  1602.     -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
  1603.  
  1604. tru64-50:
  1605.     @echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.0...
  1606.     $(MAKE) osf KTARGET=$${KTARGET:-$(@)} \
  1607.     "KFLAGS= -DTRU64 -DOSF50 -DHDBUUCP \
  1608.     -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
  1609.  
  1610. du50:
  1611.     $(MAKE) tru64-50 KTARGET=$${KTARGET:-$(@)}
  1612.  
  1613. du40-ridiculous-checking:
  1614.     @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0.
  1615.     @echo Checking everything - assumes DECC...
  1616.     $(MAKE) osf KTARGET=$${KTARGET:-$(@)} \
  1617.     "KFLAGS= -DOSF40 -DHDBUUCP -w0 -warnprotos -check -portable \
  1618.     -unsigned -std1 -O3 -Olimit 1760 $(KFLAGS)"
  1619.  
  1620. #Sequent DYNIX/ptx 1.2.1
  1621. dynixptx12:
  1622.     @echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.2.1...
  1623.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1624.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DPTX -DNOGETUSERSHELL \
  1625.     -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t $(KFLAGS) -i -O" \
  1626.     "LNKFLAGS = -i"
  1627.  
  1628. #Sequent DYNIX/ptx 1.3 or 1.4
  1629. dynixptx13:
  1630.     @echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.3 TCP/IP...
  1631.     $(MAKE) xermit "CFLAGS= -O KTARGET=$${KTARGET:-$(@)} \
  1632.     -DSVR3 -DDIRENT -DHDBUUCP -DPTX -DCK_POLL -DNOGETUSERSHELL \
  1633.     -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DTCPSOCKET $(KFLAGS) -i" \
  1634.     "LNKFLAGS = -i" "LIBS = -lsocket -linet -lnsl"
  1635.  
  1636. #Sequent DYNIX/ptx 2.0, ANSI C compilation
  1637. #Should work on any hardware platform when DYNIX/ptx runs, including
  1638. #386, 486, Pentium.
  1639. dynixptx20:
  1640.     @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
  1641.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1642.     "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET \
  1643.     -DWAIT_T=int -DPTX -DNOGETUSERSHELL $(KFLAGS) -O" \
  1644.     "LIBS = -lsocket -linet -lnsl"
  1645.  
  1646. #Sequent DYNIX/ptx 2.0, ANSI C compilation, with curses
  1647. dynixptx20c:
  1648.     @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
  1649.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1650.     "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET -DWAIT_T=int -DPTX -DCK_CURSES \
  1651.     -DCK_NEWTERM -DNOGETUSERSHELL $(KFLAGS) -O" \
  1652.     "LIBS = -lsocket -linet -lnsl -lcurses -ltermcap"
  1653.  
  1654. #Sequent DYNIX/ptx 2.1.6, 80486, ANSI C compilation, with curses:
  1655. # -Xa -- use ANSI compiler.
  1656. # -Wc,-pw -- suppress portability warnings.
  1657. # -Wc,-i386 -- 80386 cpu.
  1658. # -Wc,-i486 -- 80486 cpu.
  1659. # -Wc,-P5 -- Pentium (default).
  1660. # -Wc,-O3 -- highest optimization.
  1661. # -Wa,-N17061 -- increase symbol table from default of 15013 for ckcuni.c.
  1662. # Early versions of DYNIX/ptx 2.1.x may need -DCK_POLL instead of -DSELECT.
  1663. # Add "$&" after the colon in the "xermit" target for parallel makes.
  1664. dynixptx216c:
  1665.     @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.1.6'
  1666.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1667.     "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
  1668.     -DSELECT -DCK_REDIR -DCK_NAWS -DCK_WREFRESH -DSW_ACC_ID \
  1669.     -DTCP_NODELAY -DTRMBUFL=2048 -DBIGBUFOK -DHADDRLIST \
  1670.     -DPTX  -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL -DNOREALPATH \
  1671.     $(KFLAGS) -Xa -Wc,-pw -Wc,-i486 -Wc,-O3 -Wa,-N17061" \
  1672.     "LIBS = -lXbsd -lseq -lsocket -linet -lnsl -lmalloc -lm -lcurses" \
  1673.     "LNKFLAGS = -s"
  1674.  
  1675. #Sequent DYNIX/ptx 2.1.6, gcc 2.7.2.2, with curses:
  1676. dynixptx216cgcc:
  1677.     @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.1.6 gcc'
  1678.     $(MAKE) xermit "CC = gcc" "CC2 = gcc" KTARGET=$${KTARGET:-$(@)} \
  1679.     "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
  1680.     -DSELECT -DCK_REDIR -DCK_NAWS -DCK_WREFRESH -DSW_ACC_ID \
  1681.     -DTCP_NODELAY -DTRMBUFL=2048 -DBIGBUFOK -DHADDRLIST \
  1682.     -DPTX  -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL -DNOREALPATH \
  1683.     $(KFLAGS) -O3 -pipe -funsigned-char" \
  1684.     "LIBS = -lXbsd -lseq -lsocket -linet -lnsl -lmalloc -lm -lcurses" \
  1685.     "LNKFLAGS = -s"
  1686.  
  1687. #Sequent DYNIX/ptx 4.0, ANSI C compilation, with curses
  1688. dynixptx41c:
  1689.     @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.0...'
  1690.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1691.     "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET \
  1692.     -DWAIT_T=int -DPTX -DPTX4 -DCK_CURSES -DCK_NEWTERM \
  1693.     -DNOGETUSERSHELL $(KFLAGS) -O" \
  1694.     "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  1695.  
  1696. #Sequent DYNIX/ptx 4.4, ANSI C compilation, with curses
  1697. dynixptx44:
  1698.     @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.4...'
  1699.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1700.     "CFLAGS= -DPTX -DPTX4 -DPOSIX -DHDBUUCP -DTCPSOCKET -DWAIT_T=int \
  1701.     -DCK_CURSES -DCK_NEWTERM -DBIGBUFOK -DSELECT -DNOGETUSERSHELL \
  1702.     $(KFLAGS) -O" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  1703.  
  1704. #Sequent DYNIX 3.0.x
  1705. dynix3:
  1706.     @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
  1707.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1708.     "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -O \
  1709.     -DPWUID_T=int -DGID_T=int $(KFLAGS)"
  1710.  
  1711. #Sequent DYNIX 3.0.x, no ACUCNTRL
  1712. dynix3noacu:
  1713.     @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
  1714.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1715.     "CFLAGS= -DBSD43 -DLCKDIR -DTCPSOCKET -O \
  1716.     -DUID_T=int -DGID_T=int $(KFLAGS)"
  1717.  
  1718. #Sequent DYNIX 3.1.x
  1719. dynix31:
  1720.     @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.x...
  1721.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1722.     "CFLAGS= -O -DDCLPOPEN -DLCKDIR -DBSD4 -DTCPSOCKET $(KFLAGS)"
  1723.  
  1724. #Sequent DYNIX 3.1.2, as above but with curses, to be compiled by gcc 2.3.3.
  1725. dynix31c:
  1726.     @echo 'Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.2, curses...'
  1727.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1728.     "CFLAGS= -O2 -DDCLPOPEN -DACUCNTRL \
  1729.     -DBSD43 -DTCPSOCKET -DCK_CURSES -DUID_T=int \
  1730.     $(KFLAGS)" "LIBS= -lcurses -ltermcap"
  1731.  
  1732. #Convex C1 with Berkeley Unix
  1733. convex:
  1734.     @echo Making C-Kermit $(CKVER) for Convex C1 / BSD...
  1735.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1736.     "CFLAGS= -DBSD4 $(KFLAGS) -Dmsleep=mnap"
  1737.  
  1738. #Convex C210 with Convex/OS 8
  1739. convex8:
  1740.     @echo Making C-Kermit $(CKVER) for Convex C210 with OS 8
  1741.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1742.     "CFLAGS= -DBSD4 -DTCPSOCKET -DNODEBUG -DDIRENT -DNOFILEH \
  1743.     $(KFLAGS) -DSIG_V -Dmsleep=mnap"
  1744.  
  1745. #Convex C2 with Convex OS 9.1 (should also work with 8.1 or later)
  1746. #with ANSI C compiler, uses BSD 4.3 uucp lockfile convention.
  1747. convex9:
  1748.     @echo Making C-Kermit $(CKVER) for Convex C210 with OS 9.1
  1749.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1750.     "CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
  1751.     -D__STDC__ -DLCKDIR -Dmsleep=mnap -O -ext -tm c1 $(KFLAGS)" \
  1752.     "LNKFLAGS = -ext"
  1753.  
  1754. #Convex C2 with Convex OS 10.1 or later
  1755. #with gcc 2.x C compiler
  1756. convex10gcc:
  1757.     @echo Making C-Kermit $(CKVER) for Convex C2 with OS 10.1 using gcc
  1758.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1759.     "CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
  1760.     -D__STDC__  -Dmsleep=mnap -O2 $(KFLAGS)" CC=gcc CC2=gcc
  1761.  
  1762. #Cray X-MP or Y-MP UNICOS 6.x or 7.x.
  1763. #NOTE: NPROC tells how many parallel makes to run.  If your Cray has multiple
  1764. #processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
  1765. cray:
  1766.     @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 6.x or 7.0...
  1767.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
  1768.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
  1769.  
  1770. #Cray X-MP or Y-MP UNICOS 8.0 Alpha.
  1771. cray8:
  1772.     @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 8.0 Alpha...
  1773.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
  1774.     "CFLAGS= -DSVR4 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
  1775.  
  1776. #Cray-2 or Cray 3-CSOS
  1777. #NOTE: NPROC tells how many parallel makes to run.  If your Cray has multiple
  1778. #processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
  1779. craycsos:
  1780.     @echo 'Making C-Kermit $(CKVER) for Cray-2/3 CSOS
  1781.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
  1782.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET \
  1783.     $(KFLAGS) -DCK_ANSIC -DCK_CURSES" "LIBS=-lnet"
  1784.  
  1785. #NeXTSTEP 1.0 through 3.2.
  1786. #Includes fullscreen file transfer display (curses) and TCP/IP support.
  1787. #Uses shared library to make executable program about 80K smaller.
  1788. #Remove "LIBS = -lsys_s" if this causes trouble.
  1789. next:
  1790.     @echo Making C-Kermit $(CKVER) for NeXTSTEP...
  1791.     @echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
  1792.     @echo 'add KFGLAGS=-DNOREDIRECT to your make command.'
  1793.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1794.     "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
  1795.     -pipe -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
  1796.  
  1797. nextc:
  1798.     $(MAKE) "MAKE=$(MAKE)" next KTARGET=$${KTARGET:-$(@)}
  1799.  
  1800. nextg:
  1801.     $(MAKE) "MAKE=$(MAKE)" next KFLAGS=-Wall KTARGET=$${KTARGET:-$(@)}
  1802.  
  1803. nextgc:
  1804.     $(MAKE) "MAKE=$(MAKE)" next KFLAGS=-Wall KTARGET=$${KTARGET:-$(@)}
  1805.  
  1806. #NeXTSTEP 3.3.
  1807. #Includes fullscreen file transfer display and TCP/IP.
  1808. next33:
  1809.     @echo Making C-Kermit $(CKVER) for NeXTSTEP 3.3...
  1810.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1811.     "CFLAGS= -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
  1812.     -pipe -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
  1813.  
  1814. #OPENSTEP 4.2 for Sparc, m680x0, HP PA-RISC, and Intel.
  1815. #Includes fullscreen file transfer display and TCP/IP.
  1816. #ckcpro.c compiled without optimization because it crashes the compiler.
  1817. openstep42:
  1818.     @echo Making C-Kermit $(CKVER) for OPENSTEP 4.2...
  1819.     $(MAKE) ckcpro.$(EXT) \
  1820.     "CFLAGS= -DOPENSTEP42 -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV \
  1821.     -DFNFLOAT -pipe -DCK_CURSES $(KFLAGS) -w"
  1822.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1823.     "CFLAGS= -DOPENSTEP42 -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV \
  1824.     -DFNFLOAT -pipe -DCK_CURSES $(KFLAGS) -O -w" \
  1825.     "LIBS = -lsys_s -lcurses -ltermcap"
  1826.  
  1827. #NeXT with malloc debugger
  1828. nextmd:
  1829.     @echo Making C-Kermit $(CKVER) for NeXT with malloc debugging...
  1830.     $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
  1831.     "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
  1832.     -DCK_CURSES $(KFLAGS) -O -w -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
  1833.     "LIBS = -lsys_s -lcurses -ltermcap"
  1834.  
  1835. #Build for NeXTSTEP with "fat" binaries (MABs) that run on both Motorola
  1836. #and Intel platforms.
  1837. nextfat:
  1838.     $(MAKE) "MAKE=$(MAKE)" next KTARGET=$${KTARGET:-$(@)} \
  1839.     "KFLAGS=-Wall -arch m68k -arch i386" "LNKFLAGS = -arch m68k -arch i386"
  1840.  
  1841. #NeXTSTEP on Intel Platforms.
  1842. next486:
  1843.     @echo Making C-Kermit $(CKVER) for NeXTSTEP on Intel Platforms...
  1844.     @echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
  1845.     @echo 'add KFGLAGS=D-DNOREDIRECT to your make command.'
  1846.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1847.     "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
  1848.     -DNODEBUG -O3 -fno-omit-frame-pointer -fschedule-insns2 -pipe \
  1849.     -DCK_CURSES $(KFLAGS) -w" "LIBS = -lsys_s -lcurses -ltermcap"
  1850.  
  1851. #Single binary that runs on NeXT 68030 and 68040, Intel, HP, and Sparc,
  1852. #as well as on OpenStep/Mach.
  1853. nextquadfat:
  1854.     $(MAKE) "MAKE=$(MAKE)" next KTARGET=$${KTARGET:-$(@)} \
  1855.     "KFLAGS=-Wall -arch m68k -arch i386 -arch hppa -arch sparc" \
  1856.     "LNKFLAGS = -arch m68k -arch i386 -arch hppa -arch sparc"
  1857.  
  1858. #BeBox
  1859. beboxdr7:
  1860.     @echo 'Making C-Kermit $(CKVER) for the BeBox...'
  1861.     @echo 'Link step will fail with default Metroworks linker 64K limit.'
  1862.     @echo 'Code Warrior Gold required to link big programs.'
  1863.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1864.     "CC=/boot/develop/tools/mwcc" "CC2=/boot/develop/tools/mwld" \
  1865.     "CFLAGS= -DBEBOX -DBE_DR_7 -DPOSIX -DNOUUCP $(KFLAGS) -O"
  1866.  
  1867. #BeBox
  1868. bebox:
  1869.     @echo 'Making C-Kermit $(CKVER) for BeBox...'
  1870.     @echo 'Link step will fail with default Metroworks linker 64K limit.'
  1871.     @echo 'Code Warrior Pro 3.0 for BeBox required to link big programs.'
  1872.     $(MAKE) wermit "CC=mwcc" "CC2=mwld" KTARGET=$${KTARGET:-$(@)} \
  1873.     "CFLAGS= -DBEBOX -DPOSIX -DNOUUCP $(KFLAGS) -O"
  1874.  
  1875. #Plan 9 from Bell Labs
  1876. plan9:
  1877.     @echo 'C-Kermit for Plan 9 from Bell Labs - calling ckpker.mk...'
  1878.     make -f ckpker.mk
  1879.  
  1880. #POSIX
  1881. posix:
  1882.     @echo 'Making C-Kermit $(CKVER) for pure POSIX...'
  1883.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1884.     "CFLAGS= -DPOSIX -DNOUUCP $(KFLAGS) -O"
  1885.  
  1886. #Berkeley Software Design Inc. BSDI
  1887. # Substitute "LIBS= -lnewcurses -ltermcap" if desired.
  1888. bsdi:
  1889.     @echo 'Making C-Kermit $(CKVER) for BSDI ...'
  1890.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1891.     "CFLAGS= -DBSD44 -DSETREUID -DSW_ACC_ID -DBIGBUFOK \
  1892.     -DTCPSOCKET -DCK_CURSES -DFNFLOAT $(KFLAGS) -O" \
  1893.     "LIBS= -lcurses -ltermcap -lm"
  1894.  
  1895. #Berkeley Software Design Inc. BSDI - has higher serial speeds than 1.x.
  1896. bsdi2:
  1897.     $(MAKE) "MAKE=$(MAKE)" bsdi KTARGET=$${KTARGET:-$(@)} \
  1898.     "KFLAGS=-DBSDI2 $(KFLAGS)"
  1899.  
  1900. bsdi3:
  1901.     $(MAKE) "MAKE=$(MAKE)" bsdi KTARGET=$${KTARGET:-$(@)} \
  1902.     "KFLAGS=-DBSDI2 -DBSDI3 $(KFLAGS)"
  1903.  
  1904. bsdi4:
  1905.     $(MAKE) "MAKE=$(MAKE)" bsdi KTARGET=$${KTARGET:-$(@)} \
  1906.     "KFLAGS=-DBSDI2 -DBSDI3 -DBSDI4 -DTPUTSFNTYPE=void -DTPUTSISVOID \
  1907.     -m486 $(KFLAGS)"
  1908.  
  1909. # (old name for the above)
  1910. bsdiposix:
  1911.     $(MAKE) "MAKE=$(MAKE)" bsdi
  1912.  
  1913.  
  1914. #Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1
  1915. pyramid:
  1916.     @echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
  1917.     ucb $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1918.     "CFLAGS= -DBSD43 -DTCPSOCKET -DPYRAMID -O $(KFLAGS)" "LNKFLAGS = -s"
  1919.  
  1920. #Pyramid Dual Port OSx using HonyDanBer UUCP, curses and TCP
  1921. pyramid-hdb:
  1922.     @echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
  1923.     ucb $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1924.     "CFLAGS= -DBSD43 -DTCPSOCKET -DHBDUUCP -DCK_CURSES -O $(KFLAGS)" \
  1925.     "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
  1926.  
  1927. #Pyramid DC/OSx (UNIX System V R4).
  1928. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  1929. #are not misplaced in sys (rather than netinet and arpa, respectively).
  1930. #Uses ANSI C.
  1931. #NOTE: Remove -O and Olimit:2500 from CFLAGS if TELNET connections do not work.
  1932. pyrdcosx:
  1933.     @echo 'Making C-Kermit $(CKVER) for Pyramid DC/OSx...'
  1934.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1935.     "CFLAGS = -Xa -O -DSVR4 -DDIRENT -DHDBUUCP -DSELECT -DNOGETUSERSHELL \
  1936.     -DCK_CURSES -DSTERMIOX -DTCPSOCKET -DPYRAMID -K Olimit:3100 \
  1937.     -DNO_DNS_SRV $(KFLAGS)" "LIBS= -lcurses -lsocket -lnsl" "LNKFLAGS = -s"
  1938.  
  1939. #IBM's AIX 3.0 on IBM 370 mainframe, tested on AIX F44 thru F50.
  1940. aix370:
  1941.     @echo Making C-Kermit $(CKVER) for IBM System/370 AIX 3.0...
  1942.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1943.     "CFLAGS= -DAIX370 -DTCPSOCKET -DLCKDIR -DDIRENT $(KFLAGS)" \
  1944.     "LIBS = -lbsd"
  1945.  
  1946. #IBM's AIX/ESA 2.1 (OSF/1) on IBM mainframe
  1947. aixesa:
  1948.     @echo Making C-Kermit $(CKVER) for IBM AIX/ESA...
  1949.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1950.     "CFLAGS= -DAIXESA -DTCPSOCKET $(KFLAGS) -O"
  1951.  
  1952. #IBM PS/2 with AIX 1.0 thru 1.3.
  1953. #  Reports indicate that -O switch must be omitted.
  1954. #  It is also possible that "make bsd" will work (reports welcome).
  1955. #  One report said "make LIBS=-lbsd bsd" did the trick.
  1956. #  NOTLOG is to get around a 'tlog' symbol defined in one of the headers.
  1957. ps2aix:
  1958.     @echo 'Making C-Kermit $(CKVER) for IBM AIX 1.x PS/2...'
  1959.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1960.     "CFLAGS = -DATTSV -DNOREALPATH -DPS2AIX10 -DSIG_V \
  1961.     -DNOUNICODE -DNOTLOG $(KFLAGS) -i" \
  1962.     "LNKFLAGS = -i"
  1963.  
  1964. ps2aixnetc:
  1965.     @echo 'Making C-Kermit $(CKVER) for IBM AIX 1.x PS/2...'
  1966.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1967.     "CFLAGS = -DATTSV -DNOREALPATH -DPS2AIX10 -DTCPSOCKET -DCK_CURSES \
  1968.     -DSIG_V -DNOUNICODE -DNOTLOG $(KFLAGS) -i" \
  1969.     "LIBS = -lcurses" "LNKFLAGS = -i"
  1970.  
  1971. ps2aix3:
  1972.     $(MAKE) ps2aix KTARGET=$${KTARGET:-$(@)}
  1973.  
  1974. #IBM RT PC with AIX 2.2.1
  1975. #This one has unique and strange lockfiles.
  1976. rtaix:
  1977.     @echo 'Making C-Kermit $(CKVER) for IBM RT PC, AIX 2.2.1...'
  1978.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1979.     "CFLAGS = -DATTSV -DRTAIX -DHDBUUCP -DTCPSOCKET -Wq,-SJ2 \
  1980.     -DCLSOPN -DNOREALPATH -DNOUNICODE $(KFLAGS) -O -w" \
  1981.     "LNKFLAGS = -s"
  1982.  
  1983. #IBM RT PC with AIX 2.2.1
  1984. #This one has unique and strange lockfiles.
  1985. rtaixc:
  1986.     @echo 'Making C-Kermit $(CKVER) for IBM RT PC, AIX 2.2.1, curses...'
  1987.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1988.     "CFLAGS = -DATTSV -DRTAIX -DHDBUUCP -DTCPSOCKET -DCK_CURSES \
  1989.     -DCLSOPN -DNOREALPATH -Wq,-SJ2 $(KFLAGS) -O -w" \
  1990.     "LIBS=-lcurses" "LNKFLAGS = -s"
  1991.  
  1992. #IBM RT PC with AIX (ACIS) 2.2.1 (BSD 4.3)
  1993. # Add -O, -DDYNAMIC, -s, etc, if they work.
  1994. rtacis:
  1995.     @echo Making C-Kermit $(CKVER) for RT PC with ACIS 2.2.1 = BSD 4.3...
  1996.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1997.     "CFLAGS= -DBSD4 -DTCPSOCKET -DNOREALPATH $(KFLAGS) -U__STDC__" \
  1998.     "LNKFLAGS = -s"
  1999.  
  2000. #IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000.
  2001. rs6000:
  2002.     @echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
  2003.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2004.     "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DCK_ANSIC \
  2005.     -DCK_POLL -DCLSOPN -DSELECT_H -DNOTTYLOCK -O $(KFLAGS)" \
  2006.     "LNKFLAGS = -s"
  2007.  
  2008. #IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000, with curses.
  2009. rs6000c:
  2010.     @echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
  2011.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2012.     "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DCK_ANSIC \
  2013.     -DCK_POLL -DCLSOPN -DCK_CURSES -DSELECT_H -DNOTTYLOCK -DNOREALPATH \
  2014.     -O $(KFLAGS)" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -s"
  2015.  
  2016. aix30:
  2017.     $(MAKE) rs6000 KTARGET=$${KTARGET:-$(@)}
  2018.  
  2019. aix31:
  2020.     $(MAKE) rs6000 KTARGET=$${KTARGET:-$(@)}
  2021.  
  2022. #IBM AIX 3.2 for RISC System/6000.
  2023. #In case of "subprogram too complex" warnings, add "-qmaxmem=4000" to CFLAGS.
  2024. rs6aix32:
  2025.     @echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000...
  2026.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2027.     "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DCK_ANSIC -DNOREALPATH \
  2028.     -DSELECT_H -DCLSOPN -DNOTTYLOCK -O $(KFLAGS)" "LNKFLAGS = -s"
  2029.  
  2030. #IBM AIX 3.2 for RISC System/6000.
  2031. rs6aix32c:
  2032.     @echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000, TCP+curses...
  2033.     @echo In case of Subprogram Too Complex warnings,
  2034.     @echo add -qmaxmem=6000 to CFLAGS.
  2035.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2036.     "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DCK_ANSIC -DNOREALPATH \
  2037.     -DCLSOPN -DCK_CURSES -DSELECT_H -DNOTTYLOCK -O $(KFLAGS)" \
  2038.     "LNKFLAGS = -s" "LIBS=-lcurses"
  2039.  
  2040. aix32:
  2041.     $(MAKE) rs6aix32c KTARGET=$${KTARGET:-$(@)}
  2042.  
  2043. #IBM AIX 4.1, 4.1.x on RISC System/6000 or Power Series.
  2044. #Generates common binary for all platforms if using xlc (IBM C compiler).
  2045. #When using gcc, add -mcpu=common to generate common binary.
  2046. #Note that this one needs CK_NEWTERM.
  2047. aix41:
  2048.     @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2049.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2050.     "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2051.     -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2052.     -DNOGETUSERSHELL -qmaxmem=8000 -O $(KFLAGS)" \
  2053.     "LNKFLAGS = -s" "LIBS=-lcurses"
  2054.  
  2055. aix41+krb5+krb4:
  2056.     @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2057.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} \
  2058.     "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2059.     -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2060.     -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  2061.     -DCK_ENCRYPTION -DCK_DES \
  2062.     -I/usr/local/include/  \
  2063.     -DNOGETUSERSHELL -qmaxmem=8000 -O $(KFLAGS)" \
  2064.     "LNKFLAGS = -s" \
  2065.     "LIBS = -L/usr/local/lib -lcurses -lkrb4 -ldes425 -lkrb5 \
  2066.     -lcom_err -lk5crypto"
  2067.  
  2068. #IBM AIX 4.1 (Beta) or AIX 4.1.1 for RISC System/6000 or Power Series
  2069. rs6aix41d:
  2070.     @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 - debugging...
  2071.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2072.     "CFLAGS= -g -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2073.     -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2074.     -DNOGETUSERSHELL -DRLOGCODE -qcheck -qextchk -qinfo -qproto \
  2075.     -qflag=i:i -langlvl=ansi -qtbtable=full -bnoquiet $(KFLAGS)" \
  2076.     "LNKFLAGS =" "LIBS=-lcurses"
  2077.  
  2078. #Old name for "aix41".
  2079. rs6aix41c:
  2080.     $(MAKE) aix41 KTARGET=$${KTARGET:-$(@)}
  2081.  
  2082. #IBM AIX 4.1, 4.1.x, or 4.2 on RISC System/6000 or Power Series,
  2083. # with X.25 support
  2084. #Generates common binary for all platforms if using xlc (IBM C compiler).
  2085. #When using gcc, add -mcpu=common to generate common binary.
  2086. aix41x25:
  2087.     @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2088.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2089.     "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2090.     -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2091.     -DIBMX25 -DDEBUG -DNOGETUSERSHELL -qmaxmem=6000 -g $(KFLAGS)" \
  2092.     "LNKFLAGS = -g -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg"
  2093.     -@echo "]0;kermit done\c"
  2094.  
  2095. #As above but without -g in LNKFLAGS.
  2096. aix41x25o:
  2097.     @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2098.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2099.     "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2100.     -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2101.     -DIBMX25 -DNODEBUG -DNOGETUSERSHELL -qmaxmem=6000 $(KFLAGS)" \
  2102.     "LNKFLAGS = -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg"
  2103.     -@echo "]0;kermit done\c"
  2104.  
  2105. #AIX 4.2 -- Must have CK_NEWTERM or echoing is lost after curses.
  2106. aix42:
  2107.     @echo Making C-Kermit $(CKVER) for IBM AIX 4.2 or higher...
  2108.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2109.     "CFLAGS= -DAIXRS -DAIX41 -DAIX42 -DSVR4 -DSTERMIOX -DTCPSOCKET \
  2110.     -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DFNFLOAT \
  2111.     -DSELECT -DSELECT_H -DNOGETUSERSHELL -qmaxmem=8000 -O $(KFLAGS)" \
  2112.     "LNKFLAGS = -s" "LIBS=-lcurses -lm"
  2113.  
  2114. #AIX 4.3 -- Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
  2115. aix43:
  2116.     @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher...
  2117.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2118.     "CFLAGS= -DAIXRS -DAIX41 -DAIX43 -DSVR4 -DSTERMIOX -DTCPSOCKET \
  2119.     -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2120.     -DFNFLOAT -DNOGETUSERSHELL -qmaxmem=8000 -O $(KFLAGS)" \
  2121.     "LNKFLAGS = -s" "LIBS=-lcurses -lm"
  2122.  
  2123. aix44:
  2124.     $(MAKE) aix42 "KFLAGS=-DAIX44 -qmaxmem=20000 $(KFLAGS)" \
  2125.     KTARGET=$${KTARGET:-$(@)}
  2126.  
  2127. aix45:
  2128.     $(MAKE) aix42 "KFLAGS=-DAIX45 -qmaxmem=20000 $(KFLAGS)" \
  2129.     KTARGET=$${KTARGET:-$(@)}
  2130.  
  2131. #Bull DPX/2 with BOS/X, like AIX/RS6000
  2132. bulldpx2:
  2133.     @echo Making C-Kermit $(CKVER) for Bull DPX/2 with BOS/X...
  2134.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2135.     "CFLAGS= -DSVR3 -DDIRENT -DCK_ANSIC -DCKTYP_H=<sys/types.h> \
  2136.     -DCK_POLL -DNOGETUSERSHELL -DCLSOPN -O $(KFLAGS)" \
  2137.     "LNKFLAGS = -s"
  2138.  
  2139. #Sun UNIX 3.5 with gcc 2.3.3.
  2140. sunos3gcc:
  2141.     @echo Making C-Kermit $(CKVER) for Sun UNIX 3.5 and gcc...
  2142.     $(MAKE) xermit CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
  2143.     CFLAGS="-g -O -DBSD4 -DTCPSOCKET $(KFLAGS)"
  2144.  
  2145. #SunOS version 4.0, BSD environment, has saved original euid feature.
  2146. # Add "CC=/usr/ucb/cc CC2=/usr/ucb/cc" if necessary.
  2147. # Note: Including Unicode crashes the assembler in ckcuni.c.
  2148. sunos4:
  2149.     @echo Making C-Kermit $(CKVER) for SunOS 4.0, BSD environment...
  2150.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2151.     "CFLAGS= -O -DSUNOS4 -DFNFLOAT -DNOUNICODE $(KFLAGS)" \
  2152.     "LIBS=-lm"
  2153.  
  2154. #As above, but with SunLink X.25 support
  2155. sunos4x25:
  2156.     @echo SunLink X.25 support
  2157.     $(MAKE) "MAKE=$(MAKE)" sunos4 KTARGET=$${KTARGET:-$(@)} \
  2158.     "KFLAGS=$(KFLAGS) -DFNFLOAT -DSUNX25" \
  2159.     "LIBS=-lm"
  2160.  
  2161. #SUN OS version 4.1 - 4.1.3, BSD environment, has saved original euid feature.
  2162. #Uses Honey DanBer UUCP.  Requires presence of /usr/spool/locks directory.
  2163. # /var/spool/ should be a symbolic link to  /usr/spool/.
  2164. # ... or 'make xermit "CC= /usr/ucb/cc " \'
  2165. # Note: "xermit" means use the select() version of the CONNECT module.
  2166. sunos41:
  2167.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 / BSD...
  2168.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2169.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNOUNICODE $(KFLAGS)" \
  2170.     "LIBS= $(LIBS) -lresolv -lm"
  2171.  
  2172. #As above, but compile with gcc.  Gives 24-32K size reduction
  2173. #with gcc 2.1 or 2.2.2.  CAUTION: make sure "fixincludes" has been run on
  2174. #the include files, so gcc's are in sync with the regular Sun ones!
  2175. #This includes the curses library for fullscreen file transfer display.
  2176. #NDGPWNAM needed for GCC 2.5.6, not needed for 2.4.0, but it's uncertain
  2177. #whether it will do any harm for 2.4.0 compilation -- if so, remove it.
  2178. sunos41gcc:
  2179.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  2180.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  2181.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  2182.     -funsigned-char $(KFLAGS)" "LIBS= -lcurses -ltermcap -lresolv -lm"
  2183.  
  2184. # As above, but without -funsigned-char so I can see the warnings that
  2185. # everybody else will get when they use ANSI compilers that don't have this
  2186. # option (gsc = gcc signed char).
  2187. sunos41gsc:
  2188.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  2189.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  2190.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  2191.     $(KFLAGS)" "LIBS= -lcurses -ltermcap -lresolv -lm"
  2192.  
  2193. #As above but build with ckucon.c rather than ckucns.c for testing.
  2194. sunos41wgcc:
  2195.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  2196.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  2197.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  2198.     -funsigned-char $(KFLAGS)" "LIBS= -lcurses -ltermcap -lresolv -lm"
  2199.  
  2200. #As above but with ckucon.c rather than ckucns.c (for testing only)
  2201. sunos41gccfork:
  2202.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  2203.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  2204.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  2205.     -funsigned-char $(KFLAGS)" "LIBS= -lcurses -ltermcap -lresolv -lm"
  2206.  
  2207. #as above but configured for Kerberos IV
  2208. sunos41gcc+krb4:
  2209.     @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, krb4...
  2210.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  2211.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  2212.     -DTCPSOCKET -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB4 \
  2213.     -DCK_ENCRYPTION -DCK_DES -DCK_CAST -DBIGBUFOK -funsigned-char \
  2214.     -I/usr/kerberos/include/ \
  2215.     $(KFLAGS)" \
  2216.     "LIBS= \
  2217.     -L/usr/kerberos/lib \
  2218.     -lcurses -ltermcap -lresolv -lm -lkrb -ldes"
  2219.  
  2220. #as above but configured for SSL/TLS
  2221. sunos41gcc+openssl:
  2222.     @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, ssl...
  2223.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  2224.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  2225.     -DCK_AUTHENTICATION -funsigned-char \
  2226.     -DCK_SSL -DTCPSOCKET -DBIGBUFOK \
  2227.     -I/w/jaltman2/ssl/openssl-0.9.4/include/ \
  2228.     $(KFLAGS)" \
  2229.     "LIBS= \
  2230.     -L/w/jaltman2/ssl/openssl-0.9.4/ \
  2231.     -lcurses -ltermcap -lresolv -lm -lssl -lcrypto"
  2232.  
  2233. #as above but configured for Kerberos IV and SSL/TLS
  2234. sunos41gcc+krb4+openssl:
  2235.     @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, krb4...
  2236.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  2237.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  2238.     -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 -DCK_ENCRYPTION -DCK_DES \
  2239.     -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
  2240.     -I/usr/kerberos/include/ \
  2241.     -I/w/jaltman2/ssl/openssl-0.9.4/include/ \
  2242.     $(KFLAGS)" \
  2243.     "LIBS= \
  2244.     -L/usr/kerberos/lib \
  2245.     -L/w/jaltman2/ssl/openssl-0.9.4/ \
  2246.     -lcurses -ltermcap -lresolv -lm -lkrb -lssl -lcrypto"
  2247.  
  2248. #SUNOS 4.1 as sunos41 above, but also with curses support
  2249. sunos41c:
  2250.     @echo Curses support
  2251.     $(MAKE) "MAKE=$(MAKE)" sunos41 KTARGET=$${KTARGET:-$(@)} \
  2252.     "KFLAGS=$(KFLAGS) -DCK_CURSES -DFNFLOAT " \
  2253.     "LIBS= -lcurses -ltermcap"
  2254.  
  2255. #As SunOS 4.1.x, gcc, configured as Internet Kermit Server.
  2256. # . NOLOCAL removes capability to make connections
  2257. # . TNCODE allows server-side Telnet negotiation.
  2258. sunos41giks:
  2259.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc for IKS...
  2260.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  2261.     "CFLAGS= -O -DSUNOS41 -DNDGPWNAM -DFNFLOAT \
  2262.     -DNOLOCAL -DTNCODE -DNOPUSH $(KFLAGS)" \
  2263.     "LIBS= -lm -L/usr/local/lib -lpwent -lm -lresolv"
  2264.  
  2265. #SUNOS 4.1 with SunLink X.25 support
  2266. sunos41x25:
  2267.     @echo SunLink X.25 support
  2268.     $(MAKE) "MAKE=$(MAKE)" sunos41 KTARGET=$${KTARGET:-$(@)} \
  2269.     "KFLAGS = -DFNFLOAT -DSUNX25 $(KFLAGS)" "LIBS=-lm -lresolv"
  2270.  
  2271. #SUNOS 4.1 with SunLink X.25 support and curses
  2272. sunos41x25c:
  2273.     @echo SunLink X.25 support, curses
  2274.     $(MAKE) "MAKE=$(MAKE)" sunos41c KTARGET=$${KTARGET:-$(@)} \
  2275.     "KFLAGS=$(KFLAGS) -DSUNX25"
  2276.  
  2277. #SUN with Solaris 2.0 = SunOS 5.0.
  2278. #Mostly the same as System V R4.  Don't use this with later Solaris versions.
  2279. solaris20:
  2280.     @echo 'Making C-Kermit $(CKVER) for Sun with Solaris 2.0 and curses...'
  2281.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2282.     "CFLAGS = -O -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DSTERMIOX \
  2283.     -DTCPSOCKET -DCK_CURSES -DFNFLOAT -DCK_POLL $(KFLAGS)" \
  2284.     "LIBS= -lsocket -lnsl -lcurses -ltermlib -lm" "LNKFLAGS = -s"
  2285.  
  2286. #SUN with Solaris 2.0.
  2287. #As above, but built with the gcc compiler from the Cygnus CD-ROM.
  2288. solaris20g:
  2289.     @echo 'Making C-Kermit $(CKVER) for Sun Solaris 2.0, gcc, and curses..'
  2290.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2291.     "CFLAGS = -O -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DSTERMIOX \
  2292.     -DTCPSOCKET -DCK_CURSES -DCK_POLL -DFNFLOAT $(KFLAGS)" \
  2293.     "LIBS= -lsocket -lnsl -lcurses -ltermlib -lm" "LNKFLAGS = -s" \
  2294.     CC=/opt/cygnus-sol2-1.1/bin/gcc CC2=/opt/cygnus-sol2-1.1/bin/gcc
  2295.  
  2296. #SunOS 5.1 = Solaris 2.1.
  2297. #NOTE: A C compiler is no longer bundled with SunOS 5.1, so to compile C
  2298. #programs, you might have to change your PATH to include the directory
  2299. #/usr/ccs/bin AFTER the directory containing the compiler.  SunPRO C is
  2300. #installed by default in /opt/SUNWspro/bin.  So a sample PATH might be:
  2301. #
  2302. # /usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin:\
  2303. # /usr/ucb:/usr/sbin:/sbin:.
  2304. #
  2305. # or:
  2306. #
  2307. # /usr/openwin/bin:/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin.
  2308. #
  2309. #NOTE 2: Compilation with the Apogee C compiler (apcc) might not work,
  2310. #because it refuses to allow "-Usun".  Reportedly, newer releases of apcc
  2311. #(such as 1.057) work OK, use: "make -e sunos51 CC=apcc CC2=apcc".
  2312. solaris21:
  2313.     @echo 'Making C-Kermit $(CKVER) for SunOS 5.x....'
  2314.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2315.     "CFLAGS = -O -Usun -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DFNFLOAT \
  2316.     -DSELECT -DNODEBUG -DSTERMIOX $(KFLAGS)" "LIBS = -lm" "LNKFLAGS = -s"
  2317.  
  2318. #C-Kermit for Solaris 2.0-2.4 compiled with gcc, includes curses and TCP/IP.
  2319. #Change -O2 to -O if -O2 gives trouble.
  2320. #Remove -Usun if it causes trouble.
  2321. #Your PATH should start with something like:
  2322. #  /usr/local/gnu/bin:/usr/ccs/bin:
  2323. #Produces a huge executable -- strip with /usr/ccs/bin/strip (not Gnu strip).
  2324. #Also don't add "LNKFLAGS = -s" -- strip manually instead.
  2325. #Also note: this can NOT be linked statically - Sun makes it impossible.
  2326. #And for Solaris 2.4, you might have to replace:
  2327. # /usr/local/lib/gcc-lib/i486-sun-solaris2/2.4.5/include/sys/stat.h
  2328. #with /usr/include/sys/stat.h.
  2329. solaris2xg:
  2330.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc...'
  2331.     @echo 'Please read the comments that accompany the solaris2xg target.'
  2332.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2333.     "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  2334.     -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
  2335.     "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv"
  2336.  
  2337. #ditto but no curses.
  2338. solaris2xgnc:
  2339.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc...'
  2340.     @echo 'Please read the comments that accompany the solaris2xg target.'
  2341.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2342.     "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  2343.     -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
  2344.     "LIBS= -lsocket -lnsl -lm -lresolv"
  2345.  
  2346. solaris22g:
  2347.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" solaris2xg \
  2348.     KTARGET=$${KTARGET:-$(@)}
  2349.  
  2350. solaris23g:
  2351.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" solaris2xg \
  2352.     KTARGET=$${KTARGET:-$(@)}
  2353.  
  2354. #Solaris 2.4 built with gcc
  2355. solaris24g:
  2356.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} \
  2357.     solaris2xg "KFLAGS=-DSOLARIS24 $(KFLAGS)"
  2358.  
  2359. #Solaris 2.5 built with gcc
  2360. solaris25g:
  2361.     $(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
  2362.     "KFLAGS=-funsigned-char -DPOSIX -DSOLARIS25 -DCK_WREFRESH $(KFLAGS)"
  2363.  
  2364. #Solaris 2.6 with gcc
  2365. solaris26g:
  2366.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xg \
  2367.     "KFLAGS=-DPOSIX -DSOLARIS26 -DCK_WREFRESH $(KFLAGS)"
  2368.  
  2369. #Solaris 2.6 with gcc, no curses (e.g. because libtermlib is missing).
  2370. solaris26gnc:
  2371.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xgnc \
  2372.     "KFLAGS=-DPOSIX -DSOLARIS26 $(KFLAGS)"
  2373.  
  2374. #Solaris 7 with gcc (32-bit)
  2375. solaris7g:
  2376.     $(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
  2377.     "KFLAGS=-DPOSIX -DSOLARIS7 -DCK_WREFRESH $(KFLAGS)"
  2378.  
  2379. #Solaris 2.0-2.4, gcc, SunLink X.25 added.
  2380. #NOTE: Can't use xermit target with X.25.
  2381. solaris2xgx25:
  2382.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.x + X.25 with GNU cc...'
  2383.     @echo 'Please read the comments that accompany the solaris2xg entry.'
  2384.     $(MAKE) wermit CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
  2385.     "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DSUNX25 \
  2386.     -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET -DFNFLOAT \
  2387.     $(KFLAGS)" \
  2388.     "LIBS= -ltermlib -lm -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  2389.     -lsockx25 -lsocket -lnsl"
  2390.  
  2391. #Solaris 2.5, gcc, SunLink X.25 added.
  2392. solaris25gx25:
  2393.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} \
  2394.     solaris2xg "KFLAGS=-DPOSIX -DSOLARIS25 -DCK_WREFRESH $(KFLAGS)"
  2395.  
  2396. #Solaris 2.6, gcc, SunLink X.25 added.
  2397. solaris26gx25:
  2398.     $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} \
  2399.     solaris2xg "KFLAGS=-DPOSIX -DSOLARIS26 -DCK_WREFRESH $(KFLAGS)"
  2400.  
  2401. #Solaris 2.0-2.4, SunPro compiler, includes curses and TCP/IP.
  2402. #When using SUNWspro CC 2.0.1 under Solaris 2.3, be sure all cc patches
  2403. #are applied, otherwise corrupt or truncated object files can result.
  2404. #To build, set your PATH as follows:
  2405. #  /usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin:\
  2406. #  /usr/ucb:/usr/sbin:/sbin:.
  2407. # or (depending on where the compiler has been installed):
  2408. #  /usr/openwin/bin:/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin.
  2409. #For additional optimization try using "-fast -xO4 -xdepend".
  2410. solaris2x:
  2411.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with SunPro cc...'
  2412.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2413.     "CFLAGS = -O -Usun -i -DSVR4 -DDIRENT -DSOLARIS -DHDBUUCP -DFNFLOAT \
  2414.     -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  2415.     "LNKFLAGS = -s" "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv"
  2416.  
  2417. solaris23:
  2418.     $(MAKE) "MAKE=$(MAKE)" solaris2x KTARGET=$${KTARGET:-$(@)} \
  2419.     "KFLAGS=$(KFLAGS)"
  2420.  
  2421. solaris24:
  2422.     $(MAKE) "MAKE=$(MAKE)" solaris2x KTARGET=$${KTARGET:-$(@)} \
  2423.     "KFLAGS=-DSOLARIS24 $(KFLAGS)"
  2424.  
  2425. # template for Solaris 2.5 and above.
  2426. solaris25x:
  2427.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with SunPro cc...'
  2428.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2429.     "CFLAGS = -DFNFLOAT -O -Usun -i $(KFLAGS)" \
  2430.     "LNKFLAGS = -s" "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv"
  2431.  
  2432. #Solaris 2.5, SunPro compiler, curses, TCP/IP
  2433. solaris25:
  2434.     $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
  2435.     "KFLAGS=-DSOLARIS25 $(KFLAGS)"
  2436.  
  2437. #Solaris 2.6, SunPro compiler, curses, TCP/IP
  2438. solaris26:
  2439.     $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
  2440.     "KFLAGS=-DSOLARIS26 $(KFLAGS)"
  2441.  
  2442. #Solaris 7 (aka 2.7)
  2443. solaris7:
  2444.     $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
  2445.     "KFLAGS=-DSOLARIS7 $(KFLAGS)"
  2446.  
  2447. #Solaris 2.0-2.3, SunPro compiler, with SunLink X.25 support.
  2448. #This will only run if user has /opt/SUNWconn/lib/libsockx25.so.1
  2449. #exists and can be dynamically linked.
  2450. #NOTE: Do not change target to xermit -- it doesn't support X.25.
  2451. solaris2x25:
  2452.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.x+X.25 with SunPro cc...'
  2453.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2454.     "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DDIRENT \
  2455.     -DSUNX25 -DTCPSOCKET -DHDBUUCP -DFNFLOAT \
  2456.     -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX $(KFLAGS)" \
  2457.     "LNKFLAGS = -s" \
  2458.     "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  2459.     -lsockx25 -lsocket -lnsl -lm -lresolv"
  2460.  
  2461. #Solaris 2.4, SunPro compiler, with SunLink X.25 support.
  2462. #This will only run if user has /opt/SUNWconn/lib/libsockx25.so.1
  2463. #exists and can be dynamically linked.
  2464. solaris24x25:
  2465.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.4+X.25 with SunPro cc...'
  2466.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2467.     "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DSOLARIS24 -DDIRENT \
  2468.     -DSUNX25 -DTCPSOCKET -DHDBUUCP -DFNFLOAT \
  2469.     -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX $(KFLAGS)" \
  2470.     "LNKFLAGS = -s" \
  2471.     "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  2472.     -lsockx25 -lsocket -lnsl -lm -lresolv"
  2473.  
  2474. #Solaris 2.5, SunPro compiler, with SunLink X.25 support.
  2475. solaris25x25:
  2476.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.5+X.25 with SunPro cc...'
  2477.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2478.     "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DSOLARIS25 -DDIRENT -DSUNX25 \
  2479.     -DTCPSOCKET -DHDBUUCP -DPOSIX -DCK_WREFRESH -DSELECT -DCK_CURSES \
  2480.     -DCK_NEWTERM -DSTERMIOX -DFNFLOAT -I/opt/SUNWconn/include $(KFLAGS)" \
  2481.     "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  2482.     -lsockx25 -lsocket -lnsl -lm -lresolv"
  2483.  
  2484. #Solaris 2.6, SunPro compiler, with SunLink X.25 support.
  2485. solaris26x25:
  2486.     @echo 'Making C-Kermit $(CKVER) for Solaris 2.6+X.25 with SunPro cc...'
  2487.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2488.     "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DSOLARIS26 -DDIRENT -DSUNX25 \
  2489.     -DTCPSOCKET -DHDBUUCP -DPOSIX -DCK_WREFRESH -DSELECT -DCK_CURSES \
  2490.     -DCK_NEWTERM -DSTERMIOX -DFNFLOAT -I/opt/SUNWconn/include $(KFLAGS)" \
  2491.     "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  2492.     -lsockx25 -lsocket -lnsl -lm -lresolv"
  2493.  
  2494. #The following sunosxxx entries are for debugging and testing only.
  2495.  
  2496. sunos41x:
  2497.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2498.     "CFLAGS= -O -DSUNOS41 -DDIRENT -DNOTLOG -DNOMSEND \
  2499.     -DNOUUCP -DNOSIGWINCH -DNOREDIRECT -DNOPUSH -DNOCCTRAP \
  2500.     -DNOICP -DNOLOCAL $(KFLAGS)"
  2501.  
  2502. #SunOS 4.1.x, debugging with Pure Software, Inc., Purify 2 (commercial runtime
  2503. #error-detection software for catching wild array references, etc).
  2504. #Before running the resulting wermit, you'll also need to define and export
  2505. #the following environment variables (as in this example):
  2506. #PURIFYHOME=/usr/local/purify ; export PURIFYHOME
  2507. #PURIFYCACHEDIR=/tmp ; export PURIFYCACHEDIR
  2508. sunos41cp:
  2509.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 / BSD / Curses / Purify...
  2510.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2511.     "CC2= purify -cache_dir=/usr/tmp cc" \
  2512.     "CFLAGS= -g -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
  2513.     -DSAVEDUID -DCK_CURSES $(KFLAGS)" \
  2514.     "LIBS= -lcurses -ltermcap"
  2515.  
  2516. #SunOS 4.1 with malloc debugger
  2517. sunos41md:
  2518.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 malloc debug...
  2519.     $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
  2520.     "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
  2521.     -DSAVEDUID $(KFLAGS) -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG"
  2522.  
  2523. sunos41gmd:
  2524.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  2525.     $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} "CC= gcc " "CC2= gcc" \
  2526.     "CFLAGS= -g -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
  2527.     -DNDGPWNAM -DSAVEDUID -DCK_CURSES -DRLOGCODE \
  2528.     $(KFLAGS) -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
  2529.     "LIBS= -lcurses -ltermcap"
  2530.  
  2531. #SunOS version 4.1, gcc, profiling with gprof, no debugging.
  2532. #To get profile, "make sunos4p" (on Sun), then "./wermit".  After running
  2533. #wermit, "gprof ./wermit | lpr" (or whatever) to get execution profile.
  2534. sunos41p:
  2535.     @echo Making C-Kermit $(CKVER) for SunOS 4.x with profiling...
  2536.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc " "CC2= gcc" \
  2537.     "CFLAGS= -DSUNOS41 -DNODEBUG -DSAVEDUID -DDIRENT -DTCPSOCKET \
  2538.     -DNDGPWNAM $(KFLAGS) -pg" "LNKFLAGS = -pg"
  2539.  
  2540. #SunOS version 4.1 or later, BSD environment, minimum features.
  2541. sunos41min:
  2542.     @echo Minimum interactive
  2543.     $(MAKE) "MAKE=$(MAKE)" sunos41 KTARGET=$${KTARGET:-$(@)} \
  2544.     "KFLAGS=-DNOSPL -DNOXMIT -DNOMSEND -DNOFRILLS -DNORETRY \
  2545.     -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS \
  2546.     -DNOSHOW -DNOSETKEY -DNOUUCP -DNORECALL -DNOREDIRECT \
  2547.     -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ \
  2548.     -DNONET -DCK_SMALL -DNOPUSH -DNOCKSPEED -DNOCKTIMERS -DNOLOGIN \
  2549.     -DNOCKXYZ -DNOKERBEROS -DNOMKDIR -DNOPATTERNS -DNOPERMS -DNOPIPESEND \
  2550.     -DNORECURSIVE -DNORENAME -DNORESEND -DNOSETKEY \
  2551.     -DNOTRIGGER -DNOTUNING $(KFLAGS)" "LNKFLAGS = -s"
  2552.  
  2553. #SunOS version 4.1, BSD environment, min size, command-line only...
  2554. sunos41m:
  2555.     @echo Minimum size
  2556.     $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
  2557.     "KFLAGS=-DNOICP $(KFLAGS)"
  2558.  
  2559. #SunOS version 4.1, BSD environment, min size, cmd-line only, remote only...
  2560. #
  2561. sunos41mr:
  2562.     @echo Minimum size
  2563.     $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
  2564.     "KFLAGS=-DNOICP -DNOLOCAL $(KFLAGS)"
  2565.  
  2566. #SunOS version 4.1, BSD environment, min size, interactive...
  2567. sunos41mi:
  2568.     @echo Minimum size
  2569.     $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
  2570.     "KFLAGS=-DNOCMDL $(KFLAGS)"
  2571.  
  2572. #SunOS version 4.1, BSD environment, min size, interactive, remote only...
  2573. sunos41mir:
  2574.     @echo Minimum size
  2575.     $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
  2576.     "KFLAGS=-DNOCMDL -DNOLOCAL $(KFLAGS)"
  2577.  
  2578. #SunOS 4.1, System V R3 environment (-i option omitted).
  2579. sunos41s5:
  2580.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
  2581.     @echo For testing purposes only - NOT for production use.
  2582.     @echo For a useable version, make sunos41 instead.
  2583.     $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
  2584.     KTARGET=$${KTARGET:-$(@)} \
  2585.     "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DCK_POLL $(KFLAGS) -O"
  2586.  
  2587. #As above, but with curses support
  2588. sunos41s5c:
  2589.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
  2590.     @echo Curses included.
  2591.     @echo For testing purposes only - NOT for production use.
  2592.     @echo For a useable version, make sunos41 instead.
  2593.     $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
  2594.     KTARGET=$${KTARGET:-$(@)} \
  2595.     "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP \
  2596.     -DCK_POLL -DCK_CURSES -DCK_NEWTERM $(KFLAGS) -O" "LIBS= -lcurses"
  2597.  
  2598. #As above, but with curses support AND net support
  2599. sunos41s5tcpc:
  2600.     @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
  2601.     @echo TCP/IP and curses included.  No debug log.
  2602.     @echo For testing purposes only - NOT for production use.
  2603.     @echo For a useable version, make sunos41 instead.
  2604.     $(MAKE) xermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
  2605.     KTARGET=$${KTARGET:-$(@)} \
  2606.     "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DCK_POLL \
  2607.     -DNODEBUG -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET $(KFLAGS) -O" \
  2608.     "LIBS= -lcurses -lresolv"
  2609.  
  2610. # (End of SunOS test entries...)
  2611.  
  2612. #Apollo with Domain SR10.0 or later, BSD environment
  2613. #Reportedly, it might also help to add '-A,systype=bsd4.3' to CFLAGS.
  2614. #Reportedly, there is also a problem with getc & putc macros that can
  2615. #be handled by using '#ifdef apollo' somewhere to redefine them???
  2616. #On the other hand, other reports indicate that it works fine as-is.
  2617. #NOTE: This entry was previously like this:
  2618. #    $(MAKE) wermit "CFLAGS= -DNOFILEH -DBSD4 $(KFLAGS) -Uaegis \
  2619. #    -DTCPSOCKET -U__STDC__"
  2620. #Reports (Dec 91) indicate SR10 has an ANSI-compliant C compiler,
  2621. #in addition to an older one that claimed to be ANSI-compliant but wasn't.
  2622. #The following make entry (plus checks that are made in ckcdeb.h) detect
  2623. #which compiler is used and define the CK_ANSIC or NOANSI flags accordingly.
  2624. sr10-bsd:
  2625.     @echo Making C-Kermit $(CKVER) for Apollo SR10.0 / BSD ...
  2626.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2627.     "CFLAGS= -O -DAPOLLOSR10 -DBSD43 -DTCPSOCKET -DCK_CURSES \
  2628.     -Uaegis $(KFLAGS)" "LIBS= -lcurses -ltermcap"
  2629.  
  2630. #Apollo with Domain SR10.0 or later, System V R3 environment.
  2631. #Don't use the optimizer (-O), it causes problems at runtime.
  2632. sr10-s5r3:
  2633.     @echo Making C-Kermit $(CKVER) for Apollo SR10.0 / Sys V R3 ...
  2634.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2635.     "CFLAGS= -DNOFILEH -DSVR3 -DAPOLLOSR10 $(KFLAGS) -Uaegis -U__STDC__"
  2636.  
  2637. #Apollo Domain/IX (untested, try this if sr10-bsd doesn't work)
  2638. # -DTCPSOCKET can probably be added here.
  2639. apollobsd:
  2640.     @echo Making C-Kermit $(CKVER) for Apollo Domain/IX...
  2641.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2642.     "CC= /bin/cc " "CC2= /bin/cc " \
  2643.     "CFLAGS= -DNOFILEH -DBSD4 -DAPOLLOBSD $(KFLAGS) -Uaegis"
  2644.  
  2645. #Version 7 Unix (see comments near top of makefile)
  2646. v7:
  2647.     @echo Making C-Kermit $(CKVER) for UNIX Version 7.
  2648.     @echo Read the makefile if you have trouble with this...
  2649.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2650.     "CFLAGS=-DV7 -DPROCNAME=\\\"$(PROC)\\\" \
  2651.     -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
  2652.     -DNPTYPE=$(NPTYPE) $(DIRECT) -DO_RDWR=2 -DO_NDELAY=0 -DO_SCCS_ID \
  2653.     $(KFLAGS)"
  2654.  
  2655. #AT&T UNIX System V R3, signal() is void rather than int.
  2656. #Uses dirent.h and Honey DanBer UUCP.
  2657. #Add the -i link option if necessary.
  2658. #If you get errors like "ws_row undefined" in ckutio.c, add -DNONAWS.
  2659. sys5r3:
  2660.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
  2661.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2662.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP $(KFLAGS) -O" \
  2663.     "LNKFLAGS="
  2664.  
  2665. #As above, plus curses.
  2666. sys5r3c:
  2667.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3 + curses...'
  2668.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2669.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DCK_CURSES $(KFLAGS) -O" \
  2670.     "LNKFLAGS=" "LIBS = -ltermlib"
  2671.  
  2672. iclsys5r3:
  2673.     make sys5r3 KTARGET=$${KTARGET:-$(@)} KFLAGS=-DICLSVR3
  2674.  
  2675. #AT&T UNIX System V R3.  As above, but no ANSI prototyping.
  2676. sys5r3na:
  2677.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
  2678.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2679.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DNOANSI $(KFLAGS) -O" \
  2680.     "LNKFLAGS="
  2681.  
  2682. #AT&T UNIX System V R3, for 3B computers with Wollongong TCP/IP.
  2683. sys5r3net3b:
  2684.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX SVR3/3B/Wollongong...'
  2685.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2686.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DWOLLONGONG $(KFLAGS) \
  2687.     -O" "LIBS= -lnet -lnsl_s" "LNKFLAGS ="
  2688.  
  2689. #AT&T UNIX System V R3, signal() is void rather than int.
  2690. #Uses dirent.h and Honey DanBer uucp, has <termiox.h>.
  2691. #Has <termiox.h> for RTS/CTS flow control.
  2692. sys5r3tx:
  2693.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
  2694.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2695.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTERMIOX $(KFLAGS) -i -O" \
  2696.     "LNKFLAGS ="
  2697.  
  2698. #AT&T UNIX System V R3, signal() is void rather than int.
  2699. #Uses dirent.h and Honey DanBer uucp, has <termiox.h>.
  2700. #Has <sys/termiox.h> for RTS/CTS flow control.
  2701. sys5r3sx:
  2702.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
  2703.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2704.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DSTERMIOX $(KFLAGS) -i -O" \
  2705.     "LNKFLAGS ="
  2706.  
  2707. #AT&T UNIX System V R4.
  2708. #Has <termiox.h>.
  2709. sys5r4:
  2710.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  2711.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2712.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DTERMIOX $(KFLAGS)" \
  2713.     "LNKFLAGS = -s"
  2714.  
  2715. #AT&T UNIX System V R4 with Wollongong TCP/IP.
  2716. #Has <termiox.h>.
  2717. sys5r4net:
  2718.     @echo 'Making C-Kermit $(CKVER) for System V R4 + Wollongong TCP/IP...'
  2719.     @echo ' If sockets-library routines are missing at link time, then'
  2720.     @echo ' try the sys5r4net2 entry.'
  2721.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2722.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  2723.     -DTERMIOX -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
  2724.  
  2725. #As above, but needs libs included.
  2726. sys5r4net2:
  2727.     @echo ' PLEASE READ ckuins.txt IF YOU GET MISSING HEADER FILES.'
  2728.     @echo ' (Search for WOLLONGONG...)'
  2729.     $(MAKE) sys5r4net KTARGET=$${KTARGET:-$(@)} "LIBS= -lsocket -lnsl"
  2730.  
  2731. #As above plus curses.
  2732. sys5r4net2c:
  2733.     echo 'Making C-Kermit $(CKVER) for System V R4 + Wollongong TCP/IP...'
  2734.     @echo ' PLEASE READ ckuins.txt IF YOU GET MISSING HEADER FILES.'
  2735.     @echo ' (Search for WOLLONGONG...)'
  2736.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2737.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  2738.     -DTERMIOX -DWOLLONGONG -DCK_CURSES $(KFLAGS)" "LNKFLAGS = -s" \
  2739.     "LIBS= -lsocket -lnsl -lcurses"
  2740.  
  2741. #DELL UNIX System V R4.
  2742. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  2743. #are not misplaced in sys (rather than netinet and arpa, respectively).
  2744. #Uses ANSI C constructs, advisory file locking on devices, etc.
  2745. #Warning: -DSTERMIOX enables hardware flow control (RTS/CTS), but reportedly
  2746. #this does not work with the normal drivers.  However, it might still work
  2747. #on non-Dell systems, or even Dell systems with different drivers installed.
  2748. dellsys5r4:
  2749.     @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
  2750.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2751.     "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DHDBUUCP \
  2752.     -DTCPSOCKET -DSTERMIOX -DCK_POLL $(KFLAGS)" \
  2753.     "LIBS= -lsocket -lnsl" "LNKFLAGS = -s"
  2754.  
  2755. #As above, curses support added...
  2756. dellsys5r4c:
  2757.     @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
  2758.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2759.     "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DHDBUUCP \
  2760.     -DTCPSOCKET -DSTERMIOX -DCK_CURSES -DCK_POLL \
  2761.     $(KFLAGS)" "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
  2762.  
  2763. #Mininum interactive: As above, but with every conceivable option removed.
  2764. dellsys5r4mi:
  2765.     @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
  2766.     @echo 'Minimum-size interactive'
  2767.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2768.     "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT \
  2769.     -UTCPSOCKET -DNOCMDL -DNOSPL -DNOXMIT -DCK_POLL \
  2770.     -DNOMSEND -DNOFRILLS -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  2771.     -DNOSCRIPT -DNOCSETS -DNOSHOW -DNOSETKEY -DNOSERVER -DNOUUCP \
  2772.     -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ  \
  2773.     $(KFLAGS)" "LNKFLAGS = -s"
  2774.  
  2775. #Command-line only version.
  2776. dellsys5r4m:
  2777.     @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
  2778.     @echo 'Command-line only'
  2779.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2780.     "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT \
  2781.     -UTCPSOCKET -DNOICP -DNOFRILLS -DNODIAL -DNODEBUG -DNOTLOG -DNOCSETS \
  2782.     -DNOSETKEY -DNOESCSEQ -DNOJC -DNOFDZERO -DCK_POLL \
  2783.     $(KFLAGS)" "LNKFLAGS = -s"
  2784.  
  2785. #AT&T UNIX System V R4.
  2786. #Has <sys/termiox.h>.
  2787. sys5r4sx:
  2788.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  2789.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2790.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DSTERMIOX $(KFLAGS)" \
  2791.     "LNKFLAGS = -s" "LIBS=$(LIBS)"
  2792.  
  2793. #AT&T UNIX System V R4.
  2794. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  2795. #are not misplaced in sys (rather than netinet and arpa, respectively).
  2796. #Uses ANSI C constructs, <sys/termiox.h>, etc etc.
  2797. sys5r4sxtcp:
  2798.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  2799.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2800.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  2801.     -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  2802.     "LIBS= -lsocket -lnsl $(LIBS)" "LNKFLAGS= -s"
  2803.  
  2804. #AT&T UNIX System V R4.
  2805. #As above + curses.
  2806. sys5r4sxtcpc:
  2807.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  2808.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2809.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  2810.     -DSTERMIOX  -DCK_CURSES -DTCPSOCKET $(KFLAGS)" \
  2811.     "LIBS= -lsocket -lnsl -lcurses -ltermcap $(LIBS)" "LNKFLAGS = -s"
  2812.  
  2813. #AT&T UNIX System V R4.  CONSENSYS SVR4.2-1.
  2814. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  2815. #are not misplaced in sys (rather than netinet and arpa, respectively).
  2816. #Uses ANSI C constructs, <sys/termiox.h>, etc.
  2817. # Fullscreen -DCK_CURSES added (with curses & termcap libs)
  2818. # Submission by Robert Weiner/Programming Plus, rweiner@watsun.cc.columbia.edu
  2819. sys5r4sxtcpf:
  2820.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  2821.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2822.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  2823.     -DSTERMIOX -DTCPSOCKET -DCK_CURSES $(KFLAGS)" \
  2824.     "LIBS= -lsocket -lnsl -L/usr/ccs/lib -lcurses -ltermcap" \
  2825.     "LIBS=$(LIBS)" "LNKFLAGS = -s"
  2826.  
  2827. #Smallest possible version for System V R4
  2828. s5r4m:
  2829.     @echo Minimum size
  2830.     $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
  2831.     "KFLAGS=$(KFLAGS) -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  2832.     -DNOSCRIPT -DNOCSETS -DNOICP -DNOMSEND -UTCPSOCKET" "LNKFLAGS = -s"
  2833.  
  2834. #Smallest possible interactive version of above
  2835. s5r4mi:
  2836.     @echo Minimum interactive
  2837.     $(MAKE) "MAKE=$(MAKE)" sys5r4sx \
  2838.     "KFLAGS=-DNOSPL -DNOXMIT -DNOMSEND -DNOFRILLS -DNOSHOW \
  2839.     -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOSETKEY \
  2840.     -UTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
  2841.  
  2842. #AT&T UNIX System V R4, has <sys/termiox.h>
  2843. #ANSI C function prototyping disabled.
  2844. sys5r4sxna:
  2845.     @echo No ANSI C prototyping...
  2846.     $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
  2847.     "KFLAGS=$(KFLAGS) -DNOANSI"
  2848.  
  2849. #NCR MP-RAS 2.03 or 3.02
  2850. mpras:
  2851.     @echo 'Making C-Kermit $(CKVER) for NCR MP-RAS...'
  2852.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2853.     "CFLAGS = -O -DSVR4 -DNCRMPRAS -DDIRENT -DHDBUUCP -DSTERMIOX \
  2854.     -DNOGETUSERSHELL -DNO_DNS_SRV $(KFLAGS)" \
  2855.     "LNKFLAGS = -s" "LIBS=$(LIBS)"
  2856.  
  2857. #NCR MP-RAS 2.03 or 3.02 with TCP/IP and curses
  2858. mprastcpc:
  2859.     @echo 'Making C-Kermit $(CKVER) for NCR MP-RAS + TCP/IP + curses...'
  2860.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CFLAGS=-DTCPSOCKET \
  2861.     -DCK_CURSES -DSVR4 -DNCRMPRAS -DDIRENT -DHDBUUCP -DSTERMIOX \
  2862.     -DNOGETUSERSHELL -DNO_DNS_SRV -O $(KFLAGS)" "LNKFLAGS = -s" \
  2863.     "LIBS= -lsocket -lnsl -lcurses -ltermcap $(LIBS)"
  2864.  
  2865. #SINIX-L V5.41 - includes curses, tcp/ip - Use this one for i386.
  2866. #This version of SINIX doesn't like fdopen() or popen().
  2867. sinix541i:
  2868.     @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf SINIX V5.41/i386'
  2869.     $(MAKE) ckcpro.$(EXT) "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP \
  2870.     -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DNO_DNS_SRV \
  2871.     -DSNI541 -DNOGETUSERSHELL -DNONETCMD -DNOPOPEN -kansi -W0 $(KFLAGS)"
  2872.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2873.     "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DNO_DNS_SRV -DNOPOPEN \
  2874.     -DFNFLOAT -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC \
  2875.     -DSNI541 -DNOGETUSERSHELL -DNONETCMD -kansi -W0 -O $(KFLAGS)" \
  2876.     "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" "LNKFLAGS = -s"
  2877.  
  2878. #SINIX V5.42 - includes curses, tcp/ip, everything - Use this one for MIPS.
  2879. # As of C-Kermit 6.1, optimizer can't handle ckcpro.c.
  2880. sinix542:
  2881.     @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf SINIX V5.42...'
  2882.     $(MAKE) ckcpro.$(EXT) "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP \
  2883.     -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DNO_DNS_SRV \
  2884.     -DSNI542 -DNOGETUSERSHELL -kansi -W0 $(KFLAGS)"
  2885.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2886.     "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DNO_DNS_SRV \
  2887.     -DFNFLOAT -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC \
  2888.     -DSNI542 -DNOGETUSERSHELL -kansi -W0 -O -KOlimit,2400 $(KFLAGS)" \
  2889.     "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" "LNKFLAGS = -s"
  2890.  
  2891. #SINIX V5.42 - includes curses, tcp/ip, everything - Use this one for Intel.
  2892. # (Note: SNI discontinued Intel support after 5.42.)
  2893. sinix542i:
  2894.     @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf SINIX-Z V5.42...'
  2895.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2896.     "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DFNFLOAT -DSTERMIOX \
  2897.     -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DNO_DNS_SRV -kansi \
  2898.     -DSNI542 $(KFLAGS)" \
  2899.     "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" \
  2900.     "LNKFLAGS = -s"
  2901.  
  2902. #Siemens Nixdorf Reliant UNIX V5.43 - includes curses, tcp/ip, everything:
  2903. # . gettimeofday() suddenly has only one arg instead of two (GTODONEARG).
  2904. # . The syntax of the Olimit specifier changed.
  2905. # . The name was changed from SINIX to Reliant UNIX in version 5.43C.
  2906. sni543:
  2907.     @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf Reliant UNIX V5.43'
  2908.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2909.     "CFLAGS = -DSINIX -DSNI543 -DSVR4 -DDIRENT -DHDBUUCP \
  2910.     -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DGTODONEARG \
  2911.     -DNO_DNS_SRV -kansi -W0 -O -F Olimit,3100 $(KFLAGS)" \
  2912.     "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
  2913.  
  2914. #Siemens Nixdorf Reliant UNIX V5.44 - Like 5.43 but with different banner.
  2915. sni544:
  2916.     @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf Reliant UNIX V5.44'
  2917.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2918.     "CFLAGS = -DSINIX -DSNI544 -DSVR4 -DDIRENT -DHDBUUCP \
  2919.     -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DGTODONEARG \
  2920.     -DNO_DNS_SRV -kansi -W0 -O -K Olimit,3100 $(KFLAGS)" \
  2921.     "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
  2922.  
  2923. #Commodore Amiga with AT&T UNIX System V R4 and TCP/IP support.
  2924. #Has <sys/termiox.h>.
  2925. svr4amiganet:
  2926.     @echo 'Making C-Kermit $(CKVER) for Amiga SVR4 + TCP/IP...'
  2927.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC=gcc" "CC2=gcc" \
  2928.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DSTERMIOX \
  2929.     -DTCPSOCKET -DCK_CURSES $(KFLAGS)" "LNKFLAGS = -s" \
  2930.     "LIBS = -lsocket -lnsl -ltermlib"
  2931.  
  2932. #SCO (Novell (Univel)) UnixWare 1.x or 2.0, no TCP/IP.
  2933. #This assumes the Novell SDK 1.0, which has <sys/termiox.h>.
  2934. #UnixWare users with the "Prime Time Freeware" CD-ROM SDK will probably have
  2935. #to use the sys5r4 entry (no termiox.h file, so no hardware flow control).
  2936. #Change -DSELECT to -DCK_POLL if -DSELECT causes problems.
  2937. # NOTE: Unixware 1.x builds have not been tried in C-Kermit 7.0.
  2938. unixware:
  2939.     $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
  2940.     "KFLAGS=-DOLD_UNIXWARE -DCK_NEWTERM -DSELECT -DNOGETUSERSHELL \
  2941.     -DNOSYSLOG $(KFLAGS)" "LIBS=-lcrypt"
  2942.  
  2943. #UnixWare 1.x or 2.0 with TCP/IP and curses.
  2944. #fork()-based CONNECT - no high serial speeds.
  2945. unixwarenetc:
  2946.     $(MAKE) "MAKE=$(MAKE)" sys5r4sxtcpc KTARGET=$${KTARGET:-$(@)} \
  2947.     "KFLAGS=-DOLD_UNIXWARE -DCK_NEWTERM -DSELECT -DNOGETUSERSHELL \
  2948.     -DNOSYSLOG $(KFLAGS)" "LIBS=-lcrypt -lresolv"
  2949.  
  2950. #Adds big buffers ("large memory model") - otherwise the same as UnixWare 1.x.
  2951. #This is for Unixware 2.0.x only - use unixware21 for UW 2.1.x.
  2952. #Has special library search and enables special kludge around library
  2953. #foulup regarding vfork() (which Kermit doesn't use).
  2954. unixware20:
  2955.     @echo 'Making C-Kermit $(CKVER) for UnixWare 2.0.x...'
  2956.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2957.     "CFLAGS = -O -DOLD_UNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP \
  2958.     -DBIGBUFOK -DNOGETUSERSHELL -DSTERMIOX  -DCK_CURSES -DTCPSOCKET \
  2959.     -DUW200 -DFNFLOAT -DCK_NEWTERM -DNOSYSLOG $(KFLAGS)" \
  2960.     "LIBS= -lsocket -lnsl -lcurses -ltermcap -lcrypt -lgen -lm -lresolv" \
  2961.     "LNKFLAGS = -s"
  2962.  
  2963. #Adds big buffers ("large memory model") - otherwise the same as UnixWare 1.x.
  2964. unixware21:
  2965.     @echo 'Making C-Kermit $(CKVER) for UnixWare 2.1.x...'
  2966.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2967.     "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  2968.     -DNOGETUSERSHELL -DNOSYSLOG -DSTERMIOX  -DCK_CURSES -DTCPSOCKET \
  2969.     -DCK_NEWTERM -DFNFLOAT $(KFLAGS)" \
  2970.     "LIBS= -lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv \
  2971.     $(LIBS)" "LNKFLAGS = -s"
  2972.  
  2973. uw21:
  2974.     $(MAKE) unixware21 KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
  2975.  
  2976. #Unixware 2.1 with IKSD support
  2977. uw21iksd:
  2978.     $(MAKE) unixware21 KTARGET=$${KTARGET:-$(@)} \
  2979.     "KFLAGS=-DCK_SHADOW $(KFLAGS)" "LIBS= -lgen"
  2980.  
  2981. #UnixWare 7 with tc[gs]etspeed() high serial speeds & select()-based CONNECT
  2982. #NOTE: This is the one we use.
  2983. unixware7t:
  2984.     @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with POSIX i/o...'
  2985.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2986.     "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  2987.     -DFNFLOAT -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
  2988.     -DUW7 -DUSETCSETSPEED -DCK_NEWTERM -DNOLSTAT -DDCLTIMEVAL $(KFLAGS)" \
  2989.     "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
  2990.     "LNKFLAGS = -s"
  2991.  
  2992. #UnixWare 7 - select()-based CONNECT - no POSIX i/o - no high serial speeds.
  2993. #In other words, just like the UnixWare 1 and 2 builds.
  2994. unixware7x:
  2995.     @echo 'Making C-Kermit $(CKVER) for UnixWare 7...'
  2996.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2997.     "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  2998.     -DUW7 -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DNOLSTAT \
  2999.     -DFNFLOAT -DCK_NEWTERM $(KFLAGS)" \
  3000.     "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
  3001.     "LNKFLAGS = -s"
  3002.  
  3003. #UnixWare 7 with POSIX cfset[oi]speed() to allow high serial speeds.
  3004. #(but the high speeds don't work)
  3005. unixware7p:
  3006.     @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with POSIX i/o...'
  3007.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3008.     "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  3009.     -DUW7 -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
  3010.     -DFNFLOAT -DCK_NEWTERM -DNOLSTAT $(KFLAGS)" \
  3011.     "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
  3012.     "LNKFLAGS = -s"
  3013.  
  3014. # UnixWare 7 built with gcc - This does not work at all...
  3015. # Reportedly gcc 2.8.1 is broken on Unixware 7.  Try egcs?
  3016. unixware7g:
  3017.     @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with gcc...'
  3018.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3019.     "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s -shlib"
  3020.     "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  3021.     -DUW7 -DNOGETUSERSHELL -DSTERMIOX  -DCK_CURSES -DTCPSOCKET -DNOLSTAT \
  3022.     -DFNFLOAT -DCK_NEWTERM $(KFLAGS)" \
  3023.     "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
  3024.     "LNKFLAGS = -s"
  3025.  
  3026. unixware7:
  3027.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" unixware7t \
  3028.     KTARGET=$${KTARGET:-$(@)}
  3029.  
  3030. uw7:
  3031.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" unixware7t \
  3032.     KTARGET=$${KTARGET:-$(@)}
  3033.  
  3034. #UnixWare 7 with OpenSSL
  3035. uw7ssl:
  3036.     @echo 'Making C-Kermit $(CKVER) for UnixWare 7 and OpenSSL...'
  3037.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} \
  3038.     "CFLAGS = -O -DCK_AUTHENTICATION -DCK_SSL -DCK_SHADOW
  3039.     -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  3040.     -DFNFLOAT -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
  3041.     -DUW7 -DUSETCSETSPEED -DCK_NEWTERM -DNOLSTAT -DDCLTIMEVAL \
  3042.     -I/usr/local/ssl/include $(KFLAGS)" \
  3043.     "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv \
  3044.     -lgen -lcudk70 -L/usr/local/ssl/lib -lssl -lcrypto $(LIBS)" \
  3045.     "LNKFLAGS = -s"
  3046.  
  3047. #As above but includes Shadow password support needed for IKSD.
  3048. uw7iksd:
  3049.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DCK_SHADOW $(KFLAGS)" \
  3050.     KTARGET=$${KTARGET:-$(@)} "LIBS= -lgen" unixware7t
  3051.  
  3052. #As above but links with static API for realpath() so a binary built
  3053. #with this target on UW7.1 will also work on 7.0.  Requires SCO UDK
  3054. #rather than the stock compiler.
  3055. uw7iksdudk:
  3056.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DCK_SHADOW $(KFLAGS)" \
  3057.     KTARGET=$${KTARGET:-$(@)} "LIBS= -lgen -lcudk70" unixware7t
  3058.  
  3059. #ESIX SVR4.0.3 or 4.04 with TCP/IP support.
  3060. #Has <sys/termiox.h>, ANSI C function prototyping disabled.
  3061. #Add -m486 to CFLAGS if desired.
  3062. esixr4:
  3063.     @echo 'Making C-Kermit $(CKVER) for ESIX SVR4 + TCP/IP...'
  3064.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3065.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOANSI \
  3066.     -DSTERMIOX -DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s" \
  3067.     "LIBS = -lsocket -lnsl"
  3068.  
  3069. #AT&T UNIX System V R4.
  3070. #Has <sys/termiox.h>, Wollongong WIN/TCP TCP/IP.
  3071. sys5r4sxnet:
  3072.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  3073.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3074.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  3075.     -DSTERMIOX -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
  3076.  
  3077. #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>.
  3078. sys5r4nx:
  3079.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  3080.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3081.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP $(KFLAGS)" \
  3082.     "LNKFLAGS = -s"
  3083.  
  3084. #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>, curses, TCP/IP.
  3085. sys5r4nxnetc:
  3086.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  3087.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3088.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  3089.     -DCK_CURSES -DTCPSOCKET $(KFLAGS)" \
  3090.     "LIBS = -lcurses -lsocket -lnsl -ltcpip" \
  3091.     "LNKFLAGS = -s"
  3092.  
  3093. #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>, Wollongong TCP/IP.
  3094. sys5r4nxtwg:
  3095.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  3096.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3097.     "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DWOLLONGONG $(KFLAGS)"
  3098.     "LNKFLAGS = -s"
  3099.  
  3100. #ICL UNIX System V R4.(DRS N/X) version :-
  3101. #UNIX System V Release 4.0 ICL DRS 6000 (SPARC)
  3102. #DRS/NX 6000 SVR4 Version 5  Level 1  Increment 4
  3103. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  3104. #are not misplaced in sys (rather than netinet and arpa, respectively).
  3105. #Uses ANSI C constructs, advisory file locking on devices, etc.
  3106. #Remove -lnsl if it causes trouble.
  3107. iclsys5r4:
  3108.     @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 (DRS N/X)'
  3109.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3110.     "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  3111.     -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  3112.     "LIBS= -lsocket -lnsl -lresolv " "LNKFLAGS = -s"
  3113.  
  3114. #As above but for DRS/NX 4.2MP 7MPlus.
  3115. iclsys5r4m+:
  3116.     @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 DRS/NX 4.2MP+'
  3117.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3118.     "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOIKSD \
  3119.     -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  3120.     "LIBS= -lsocket -lnsl -lm -lc -g -lgen " "LNKFLAGS = -s"
  3121.  
  3122. #As above but for DRS/NX 4.2MP 7MPlus with IKSD support.
  3123. iclsys5r4m+iksd:
  3124.     @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 DRS/NX 4.2MP+'
  3125.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3126.     "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  3127.     -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  3128.     "LIBS= -lsocket -lnsl -lm -lc -g -lgen -lresolv " "LNKFLAGS = -s"
  3129.  
  3130. iclsys5r4_486:
  3131.     $(MAKE) "MAKE=$(MAKE)" iclsys5r4 KTARGET=$${KTARGET:-$(@)}
  3132.  
  3133. #Data General DG/UX 4.30 (System V R3) for DG AViiON, with TCP/IP support.
  3134. dgux430:
  3135.     @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 4.30...'
  3136.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3137.     "CFLAGS = -O -DDGUX430 -DSVR3 -DDIRENT -DTCPSOCKET \
  3138.     -DNOINADDRX -DNOGETUSERSHELL $(KFLAGS)"
  3139.  
  3140. #Data General DG/UX 4.30 for DG AViiON, with TCP/IP support with BSDisms.
  3141. dgux430bsd:
  3142.     @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 4.30...'
  3143.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3144.     "CFLAGS = -O -DDGUX430 -D_BSD_SOURCE -DBSD4 \
  3145.     -DNOINADDRX -DTCPSOCKET -DNOGETUSERSHELL $(KFLAGS)"
  3146.  
  3147. #Data General DG/UX 5.4 (System V R4) for DG AViiON, with TCP/IP support.
  3148. #Add -lsocket -lnsl if inet_addr comes up missing...
  3149. #Hmmm - I really think CK_POLL can be removed from this one in which case
  3150. #there is no difference between dgux540 and dgux540i.
  3151. dgux540:
  3152.     @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
  3153.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3154.     "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
  3155.     -DSTERMIOX -DTCPSOCKET -DCK_POLL -DNOGETUSERSHELL $(KFLAGS)"
  3156.  
  3157. #Data General DG/UX 5.40 (System V R4) for Intel AViiON, with TCP/IP support.
  3158. dgux540i:
  3159.     @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
  3160.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3161.     "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
  3162.     -DSTERMIOX -DTCPSOCKET -DNOGETUSERSHELL $(KFLAGS)" \
  3163.     "LIBS = -lsocket -lnsl"
  3164.  
  3165. dgux54:
  3166.     make dgux540 KTARGET=$${KTARGET:-$(@)}
  3167.  
  3168. #Data General DG/UX 5.4 (= System V R4) for DG AViiON, with TCP/IP support.
  3169. # And curses.
  3170. dgux540c:
  3171.     @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.4...'
  3172.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3173.     "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
  3174.     -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  3175.     $(KFLAGS)" "LIBS= -lcurses8 -ltermcap" "LNKFLAGS = -s"
  3176.  
  3177. #As above but for Intel - only difference is name library names.
  3178. dgux540ic:
  3179.     @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
  3180.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3181.     "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
  3182.     -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  3183.     $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  3184.  
  3185. dgux54c:
  3186.     make dgux540c KTARGET=$${KTARGET:-$(@)}
  3187.  
  3188. #DG/UX 5.4R3.10
  3189. dgux54310:
  3190.     @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.4R3...'
  3191.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3192.     "CFLAGS = -O -DDGUX540 -DDGUX54310 -DDIRENT -DHDBUUCP -DSELECT \
  3193.     -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM    -DNOGETUSERSHELL \
  3194.     -DNOINADDRX $(KFLAGS)" "LIBS= -lcurses8 -ltermcap" "LNKFLAGS = -s"
  3195.  
  3196. #DG/UX 5.4R4.10 - Includes everything.
  3197. dgux54410:
  3198.     @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.10...'
  3199.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3200.     "CFLAGS = -O -DDGUX540 -DDGUX54410 -DDIRENT -DHDBUUCP -DSELECT \
  3201.     -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  3202.     -DNOINADDRX $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  3203.  
  3204. #DG/UX 5.4R4.11 - Includes everything.
  3205. dgux54411:
  3206.     @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.11...'
  3207.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3208.     "CFLAGS = -O -DDGUX540 -DDGUX54411 -DDIRENT -DHDBUUCP -DSELECT \
  3209.     -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  3210.     -DNOINADDRX $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  3211.  
  3212. #DG/UX 5.4R4.20 - Includes everything.
  3213. dgux54420:
  3214.     @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.20...'
  3215.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3216.     "CFLAGS = -O -DDGUX540 -DDGUX54420 -DDIRENT -DHDBUUCP -DSELECT \
  3217.     -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  3218.     -DNOINADDRX $(KFLAGS)" \
  3219.     "LIBS = -lsocket -lresolv -lnsl -lcurses -ltermcap"
  3220.  
  3221. #Silicon Graphics System V R3 with BSD file system (IRIS)
  3222. iris:
  3223.     @echo Making C-Kermit $(CKVER) for Silicon Graphics IRIX pre-3.3...
  3224.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3225.     "CFLAGS = -O -DSVR3 -DLONGFN  $(KFLAGS) -I/usr/include/bsd" \
  3226.     "LIBS = -lbsd"
  3227.  
  3228. #Silicon Graphics IRIS System V R3
  3229. irix33:
  3230.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 3.3...'
  3231.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3232.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP $(KFLAGS) -O" \
  3233.     "LNKFLAGS = -s"
  3234.  
  3235. #Silicon Graphics Iris Indigo with IRIX 4.0.0 or 5.0...
  3236. #Strict ANSI C compilation, TCP/IP support included
  3237. irix40:
  3238.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
  3239.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3240.     "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
  3241.     -DCK_ANSIC -DTCPSOCKET $(KFLAGS) -O -Olimit 1600 -I/usr/include/bsd" \
  3242.     "LNKFLAGS = -s"
  3243.  
  3244. #As above, but with fullscreen display (curses) and Sun Yellow Pages support.
  3245. #NOTE: IRIX versions prior to 5 run COFF binaries.
  3246. irix40ypc:
  3247.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0.'
  3248.     @echo 'Includes fullscreen file display and Sun Yellow Pages...'
  3249.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3250.     "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DCK_CURSES \
  3251.     -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET $(KFLAGS) \
  3252.     -O -Olimit 1600 -I/usr/include/bsd" \
  3253.     "LIBS = -lcurses -lsun" "LNKFLAGS = -s"
  3254.  
  3255. # Silicon Graphics Iris Series 4D/*, IRIX 4.0.x, -O4 ucode optimized.
  3256. # Huge temporary file space needed for ucode optimizer.  If you get an error
  3257. # like "ugen: internal error writing to /tmp/ctmca08777: Error 0", define the
  3258. # the TMPDIR environment variable to point to a file system that has more
  3259. # space available, e.g. "setenv TMPDIR /usr/tmp".
  3260. irix40u:
  3261.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
  3262.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3263.     "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
  3264.     -DCK_ANSIC -DTCPSOCKET $(KFLAGS) -O4 -Olimit 1600" \
  3265.     "LNKFLAGS=-O4 -Olimit 1600 -s" "EXT=u"
  3266.  
  3267. # As above, with Curses Support added
  3268. irix40uc:
  3269.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
  3270.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3271.     "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
  3272.     -DCK_ANSIC -DCK_CURSES -DTCPSOCKET $(KFLAGS) -O4 -Olimit 1600" \
  3273.     "LNKFLAGS=-O4 -Olimit 1600 -s" "EXT=u" "LIBS= -lcurses -ltermcap"
  3274.  
  3275. #Silicon Graphics IRIX 5.x.
  3276. #Yellow Pages and Curses support included.
  3277. #IRIX version 5.x can run COFF or ELF binaries.
  3278. irix51:
  3279.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 5.x'
  3280.     @echo 'Includes fullscreen file display and Yellow Pages...'
  3281.     @echo 'Add -mips<n> to CFLAGS specify a particular hardware target.'
  3282.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3283.     "CFLAGS = -DIRIX51 -DSVR4 -DDIRENT -DHDBUUCP -DCK_CURSES -DCK_NEWTERM \
  3284.     -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET -DSELECT -DNOGETUSERSHELL \
  3285.     $(KFLAGS) -O -Olimit 2400" "LIBS = -lcurses" "LNKFLAGS = -s"
  3286.  
  3287. irix51ypc:
  3288.     $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)}
  3289.  
  3290. #IRIX 5.2 adds RTS/CTS
  3291. irix52:
  3292.     $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)} \
  3293.     "KFLAGS=-DIRIX52 -DCK_RTSCTS"
  3294.  
  3295. irix53:
  3296.     $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)} \
  3297.     "KFLAGS=-DIRIX52 -DIRIX53 -DCK_RTSCTS"
  3298.  
  3299. #Silicon Graphics IRIX 6.[024] common stuff.
  3300. #Yellow Pages and Curses support included.
  3301. #IRIX version 6.0 and later runs only ELF binaries.
  3302. #Depends on code changes in ckudeb.h that make -DIRIX6x define all
  3303. #lower IRIX6x values and IRIX51.
  3304. irix6x:
  3305.     @echo 'Includes fullscreen file display and Yellow Pages...'
  3306.     @echo 'Add -mips<n> to specify a particular hardware target.'
  3307.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3308.     "CFLAGS = -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  3309.     -DCK_CURSES -DCK_NEWTERM -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET \
  3310.     -DSELECT -DCK_RTSCTS -O $(KFLAGS)" \
  3311.     "LIBS = -lcurses" "LNKFLAGS = -s $(LNKFLAGS)"
  3312.  
  3313. #Silicon Graphics IRIX 6.0.
  3314. irix60:
  3315.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.0'
  3316.     @$(MAKE) "MAKE=$(MAKE)" \
  3317.     "KFLAGS=-DIRIX60 -Olimit 2138 $(KFLAGS)" \
  3318.     irix6x KTARGET=$${KTARGET:-$(@)}
  3319.  
  3320. #Silicon Graphics IRIX 6.2.
  3321. #Serial speeds > 38400 are available in IRIX 6.2 on O-class machines only.
  3322. #Note: Olimit must be a number > 0.
  3323. irix62:
  3324.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.2'
  3325.     @$(MAKE) "MAKE=$(MAKE)" \
  3326.     LNKFLAGS="-Wl,-woff,84" \
  3327.     "KFLAGS=-DIRIX62 -Olimit 4700 $(KFLAGS)" \
  3328.     irix6x KTARGET=$${KTARGET:-$(@)}
  3329.  
  3330. #Silicon Graphics IRIX 6.3.
  3331. irix63:
  3332.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.3'
  3333.     @$(MAKE) "MAKE=$(MAKE)" irix62 KTARGET=$${KTARGET:-$(@)} \
  3334.     "KFLAGS=-DIRIX63"
  3335.  
  3336. #Silicon Graphics IRIX 6.4.
  3337. # -woff,84 to linker stops complaints about no symbols loaded from
  3338. # curses, and -woff 1110 stops complaints about unreachable "break;"
  3339. # statements in ckcpro.c among others.
  3340. # tested on SGI Octane, running IRIX 6.4 up to 115200 bps.
  3341. # -Olimit 0 means infinite.
  3342. irix64:
  3343.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.4'
  3344.     @$(MAKE) "MAKE=$(MAKE)" \
  3345.     LNKFLAGS="-Wl,-woff,84" \
  3346.     "KFLAGS=-DIRIX64 -DCK_RTSCTS -Olimit 3000 -woff 1110 $(KFLAGS)" \
  3347.     irix6x KTARGET=$${KTARGET:-$(@)}
  3348.  
  3349. irix64gcc:
  3350.     @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.4 gcc'
  3351.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  3352.     "CFLAGS= -DSVR4 -DIRIX64 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC \
  3353.     $(KFLAGS) -O" "LIBS= -lcurses -ltermcap -lcrypt"
  3354.  
  3355. #Note the new Optimization option syntax for MIPSpro CC 7.2.1.2m.
  3356. irix65:
  3357.     @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5'
  3358.     @$(MAKE) "MAKE=$(MAKE)" \
  3359.     LNKFLAGS="-Wl,-woff,84" \
  3360.     "KFLAGS=-DIRIX65 -DCK_RTSCTS -OPT:Olimit=0 -woff 1110 $(KFLAGS)" \
  3361.     irix6x KTARGET=$${KTARGET:-$(@)}
  3362.  
  3363. irix6x+krb5:
  3364.     @echo 'Includes fullscreen file display and Yellow Pages...'
  3365.     @echo 'Add -mips<n> to specify a particular hardware target.'
  3366.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} \
  3367.     "CFLAGS = -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  3368.     -DCK_CURSES -DCK_NEWTERM -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET\
  3369.     -DSELECT -DCK_RTSCTS -O \
  3370.     -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DCK_ENCRYPTION -DCK_DES \
  3371.     -I/usr/KRB5/include/ $(KFLAGS)" \
  3372.     "LIBS = -lcurses -L/usr/KRB5/lib -ldes425 -lkrb5 \
  3373.     -lcom_err -lcrypto -lcrypt" \
  3374.     "LNKFLAGS = -s $(LNKFLAGS)"
  3375.  
  3376. irix65+krb5:
  3377.     @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5'
  3378.     @$(MAKE) "MAKE=$(MAKE)" \
  3379.     LNKFLAGS="-Wl,-woff,84" \
  3380.     "KFLAGS=-DIRIX65 -DCK_RTSCTS -OPT:Olimit=0 -woff 1110 $(KFLAGS)" \
  3381.     irix6x+krb5 KTARGET=$${KTARGET:-$(@)}
  3382.  
  3383. #In case they type "make sys5"...
  3384. sys5:
  3385.     $(MAKE) "MAKE=$(MAKE)" sys3 KTARGET=$${KTARGET:-$(@)}
  3386.  
  3387. #Generic ATT System III or System V (with I&D space)
  3388. sys3:
  3389.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
  3390.     @echo 'or System V R2 or earlier...'
  3391.     @echo 'add -DNOMKDIR if mkdir is an undefined symbol.'
  3392.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3393.     "CFLAGS = -DATTSV -DNOUNICODE -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL \
  3394.     -DNOINITGROUPS -DNOFTRUNCATE -DNOREALPATH $(KFLAGS) -i -O" \
  3395.     "LNKFLAGS = -i"
  3396.  
  3397. #Generic ATT System III or System V (no I&D space)
  3398. sys3nid:
  3399.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
  3400.     @echo 'or System V R2 or earlier, no I&D space...'
  3401.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3402.     "CFLAGS = -DATTSV -DNOREALPATH -DNOUNICODE -DNOSYSLOG -DNOSYMLINK \
  3403.     -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE $(KFLAGS) -O" \
  3404.     "LNKFLAGS ="
  3405.  
  3406. #Generic ATT System III or System V R2 or earlier, "no void":
  3407. #special entry to remove "Illegal pointer combination" warnings.
  3408. sys3nv:
  3409.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
  3410.     @echo 'or System V R2 or earlier...'
  3411.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3412.     "CFLAGS= -DATTSV -DNOREALPATH -DNOUNICODE -DNOSYSLOG -DNOGETUSERSHELL \
  3413.     -DNOSYMLINK -DNOFTRUNCATE -DNOINITGROUPS -Dvoid=int $(KFLAGS) -i -O" \
  3414.     "LNKFLAGS = -i"
  3415.  
  3416. # AT&T 7300 UNIX PC.  As of C-Kermit 6.1, many of these entries don't work
  3417. # any more due to "Out of memory" or "Too many defines" errors during
  3418. # compilation, at least not on systems without lots of memory.  The sys3upcgc
  3419. # entry works (using gcc) with optimization removed, and might also work
  3420. # with optimization enabled on machines with larger memories.
  3421.  
  3422. #AT&T 7300/UNIX PC (3B1) systems, sys3 but special handling for internal modem.
  3423. #Link with the shared library -- the conflict with openi in shared library
  3424. #is solved with -Dopeni=xopeni.  Note that the xermit target can't be used
  3425. #for the Unix PC; there is no select().
  3426. sys3upc:
  3427.     @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, shared lib...'
  3428.     @echo 'If shared lib causes trouble, use make sys3upcold.'
  3429.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3430.     "CFLAGS = -O -DATT7300 -DNOMKDIR -DUSE_MEMCPY -DNOREALPATH \
  3431.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3432.     -DNOREDIRECT -DNOGFTIMER -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
  3433.     "CC2 = ld /lib/crt0s.o /lib/shlib.ifile" "LNKFLAGS = -s"
  3434.  
  3435. #AT&T 7300/Unix PC systems, minimum kermit for those with smaller amounts
  3436. #of memory.
  3437. sys3upcm:
  3438.     @echo Minimum interactive
  3439.     $(MAKE) "MAKE=$(MAKE)" sys3upc KTARGET=$${KTARGET:-$(@)} \
  3440.     "KFLAGS=-DNOSPL -DNOFRILLS -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS \
  3441.     -DNOSYSLOG -DNOSETKEY -DNOREALPATH"
  3442.  
  3443. #AT&T 7300/UNIX PC (3B1) systems, with curses support.
  3444. #Curses and the shared library don't get along, so we don't use the
  3445. #shared library.  We need to include CK_NEWTERM to avoid a conflict
  3446. #with curses and buffering on stdout.  Merged with submission by
  3447. #Robert Weiner/Programming Plus, rweiner@watsun.cc.columbia.edu.
  3448. #We don't need -Dopeni=xopeni since we're not using the shared library,
  3449. #but we keep it to be consistent with the other entries.
  3450. sys3upcc:
  3451.     @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
  3452.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3453.     "CFLAGS = -O -DATT7300 -DNOREALPATH \
  3454.     -DCK_CURSES -DCK_NEWTERM -DNOMKDIR -DNOREDIRECT -DNOGFTIMER \
  3455.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3456.     -DUSE_MEMCPY -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
  3457.     "LIBS = -lcurses" "LNKFLAGS = -s"
  3458.  
  3459. #Like sys3upcc but for AT&T UNIX 3.51m (released as a patch on Fix Disk 2),
  3460. #adds hardware flow control.
  3461. att351m:
  3462.     $(MAKE) "MAKE=$(MAKE)" sys3upcc KTARGET=$${KTARGET:-$(@)} \
  3463.     "KFLAGS=-DCK_RTSCTS -DUNIX351M"
  3464.  
  3465. #As above but with gcc.
  3466. att351gm:
  3467.     $(MAKE) "MAKE=$(MAKE)" sys3upcgc KTARGET=$${KTARGET:-$(@)} \
  3468.     "KFLAGS=-DCK_RTSCTS -DUNIX351M"
  3469.  
  3470. #AT&T 7300 UNIX PC (3B1), as above, but no newterm().
  3471. sys3upcx:
  3472.     @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
  3473.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3474.     "CFLAGS = -O -DATT7300 -DNOREALPATH -DNOUNICODE \
  3475.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3476.     -DCK_CURSES -DNOMKDIR -DNOREDIRECT -DNOGFTIMER -DUSE_MEMCPY $(KFLAGS) \
  3477.     -Dopeni=xopeni" "LIBS = -lcurses -ltermcap" "LNKFLAGS = -s"
  3478.  
  3479. #AT&T 7300/UNIX PC (3B1) systems, with curses and shared library support.
  3480. sys3upcshcc:
  3481.     @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, shared lib...'
  3482.     @echo 'With curses.  Requires shcc.'
  3483.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3484.     "CFLAGS = -O -DATT7300 -DNOMKDIR -DNOREALPATH \
  3485.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3486.     -DCK_NEWTERM -DCK_CURSES  -DNOREDIRECT -DNOGFTIMER \
  3487.     -DUSE_MEMCPY -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
  3488.     "LNKFLAGS = -i -s" "CC = shcc" "CC2 = shcc" "LIBS = -lcurses"
  3489.  
  3490. #AT&T 7300/UNIX PC (3B1) systems, as above, no curses, but use gcc.
  3491. sys3upcg:
  3492.     @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC...'
  3493.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3494.     "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOUNICODE \
  3495.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3496.     -DNOGFTIMER -DNOMKDIR -DNOREALPATH $(KFLAGS) -Dopeni=xopeni" \
  3497.     "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s -shlib"
  3498.  
  3499. #AT&T 7300/UNIX PC (3B1) systems, curses and gcc.
  3500. #Optimization omitted -- add it back in if your machine has lots of memory.
  3501. sys3upcgc:
  3502.     @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
  3503.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3504.     "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOGFTIMER -DNOUNICODE \
  3505.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3506.     -DCK_CURSES -DIFDEBUG -DCK_NEWTERM -DNOMKDIR -DNOREALPATH $(KFLAGS)" \
  3507.     "CC = gcc" "CC2 = gcc" "LIBS = -lcurses" "LNKFLAGS = -s"
  3508.  
  3509. #AT&T 7300/UNIX PC (3B1) systems, special handling for internal modem.
  3510. #No FULLSCREEN file transfer display (curses).
  3511. sys3upcold:
  3512.     @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC...'
  3513.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3514.     "CFLAGS = -DATT7300 -DNOMKDIR -DUSE_MEMCPY -DNOUNICODE \
  3515.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3516.     -DNOGFTIMER -DNOREDIRECT -DNOREALPATH $(KFLAGS) -O" "LNKFLAGS = -i"
  3517.  
  3518. #As above, but with gcc. miminum features - fits on a 400K UNIX PC floppy
  3519. #after compression with room to spare; add -DNOSHOW or other -DNOxxxx items
  3520. #to reduce size even further.
  3521. sys3upcgm:
  3522.     @echo Minimum interactive
  3523.     $(MAKE) "MAKE=$(MAKE)" sys3upcg KTARGET=$${KTARGET:-$(@)} \
  3524.     "KFLAGS=-DNOSPL -DNOFRILLS -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS \
  3525.     -DNOSETKEY $(KFLAGS)"
  3526.  
  3527. #This target is designed to create a version with the most features possible
  3528. #that, after compression, still fits on a 400K UNIX PC floppy.
  3529. sys3upcgfd:
  3530.     @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC floppy...'
  3531.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3532.     "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOSPL \
  3533.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3534.     -DNOGFTIMER -DNOUNICODE -DNOREALPATH -Dopeni=xopeni \
  3535.     -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS -DNOSETKEY -DNOMKDIR $(KFLAGS)" \
  3536.     "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s"
  3537.  
  3538. #AT&T 6300 PLUS (warning, -O might make it run out of space).
  3539. #NOTE: Remove -DHDBUUCP if not using Honey DanBer UUCP.
  3540. att6300:
  3541.     @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS...'
  3542.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3543.     "CFLAGS = -DATT6300 -DHDBUUCP -DNOFILEH -DNOREALPATH \
  3544.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3545.     -DNOUNICODE $(KFLAGS) -O -Ml -i" "LNKFLAGS = -i -Ml"
  3546.  
  3547. #As above, but with curses support.  Debugging disabled to prevent thrashing.
  3548. att6300c:
  3549.     @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS...'
  3550.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3551.     "CFLAGS = -DATT6300 -DHDBUUCP -DNOFILEH -DNOCSETS -DNOREALPATH \
  3552.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3553.     -DCK_CURSES -DNODEBUG -DNOUNICODE $(KFLAGS) -O -Ml -i" \
  3554.     "LNKFLAGS = -i -Ml" "LIBS = -lcurses"
  3555.  
  3556. #AT&T 6300 PLUS with no curses, no debugging (about 34K smaller)
  3557. # -Optimization saves about 20K too.
  3558. att6300nd:
  3559.     @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS, no debugging...'
  3560.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3561.     "CFLAGS = -DATT6300 -DHDBUUCP -DNODEBUG -DNOFILEH -DNOREALPATH \
  3562.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3563.     -DNOUNICODE $(KFLAGS) -O -i -Ml" "LNKFLAGS = -i -Ml"
  3564.  
  3565. #AT&T 3B2, 3B20-series computers running AT&T UNIX System V.
  3566. #This is just generic System V with Honey DanBer UUCP, so refer to sys3hdb.
  3567. #Remove -DNONAWS if you can get away with it.
  3568. att3bx:
  3569.     $(MAKE) "MAKE=$(MAKE)" sys3hdb KTARGET=$${KTARGET:-$(@)} \
  3570.     "KFLAGS=$(KFLAGS) -DNONAWS"
  3571.  
  3572. #AT&T 3B2, 3B20-series computers running AT&T UNIX System V,
  3573. #with fullscreen file transfer display.
  3574. #Remove -DNONAWS if you can get away with it.
  3575. att3bxc:
  3576.     @echo 'Making C-Kermit $(CKVER) for AT&T 3B2 or 3B20'
  3577.     @echo 'with Honey DanBer UUCP and curses...'
  3578.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3579.     "CFLAGS = -DATTSV -DHDBUUCP -DNONAWS $(KFLAGS) \
  3580.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3581.     -DNOREALPATH -DCK_CURSES -DCK_NEWTERM -DNOUNICODE -i -O" \
  3582.     "LNKFLAGS = -i" "LIBS=-lcurses"
  3583.  
  3584. #Any System V R2 or earlier with Honey DanBer UUCP (same as above)
  3585. sys3hdb:
  3586.     @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
  3587.     @echo 'or System V R2 or earlier with Honey DanBer UUCP...'
  3588.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3589.     "CFLAGS = -DATTSV -DHDBUUCP -DNOREALPATH -DNOUNICODE \
  3590.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3591.     $(KFLAGS) -i -O" "LNKFLAGS = -i"
  3592.  
  3593. #Sperry/UNISYS 5000 UTS V 5.2 (System V R2), Honey DanBer UUCP
  3594. unisys5r2:
  3595.     @echo 'Making C-Kermit $(CKVER) for Sperry/UNISYS 5000 UTS V 5.2...'
  3596.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3597.     "CFLAGS = -DATTSV -DUNISYS52 -DHDBUUCP -DNOREALPATH -DNOUNICODE \
  3598.     -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  3599.     $(KFLAGS) -i -O" "LNKFLAGS = -i"
  3600.  
  3601. #In case they say "make sys5hdb" instead of "make sys3hdb"...
  3602. sys5hdb:
  3603.     $(MAKE) "MAKE=$(MAKE)" sys3hdb
  3604.  
  3605. #Create the common header line for all hpux[6-10]* entries. This extra entry is
  3606. #here because our header message length may differ for each C-Kermit version.
  3607. #Don't use 'fold -s' for HP-UX 6.x or 7.x! This option is there only since
  3608. #HP-UX 8.0!
  3609. hpux-header:
  3610.     @HPUX=`uname -r | sed -e 's/^[^1-9]*//' -e 's/\.00$$/.0/'` ; \
  3611.     Message0='Making C-Kermit $(CKVER) for HP9000 HP-UX' ; \
  3612.     Message1=$${MESSAGE1:='without any extra compiler optimization'} ; \
  3613.     MessageH="$$Message0 $$HPUX" ; \
  3614.     case $$HPUX in \
  3615.       [67].*) echo "$$MessageH\n$$Message1" ;; \
  3616.          *.*) echo "$$MessageH $${Message1}$(MESSAGE1A)" | fold -s ;; \
  3617.     esac | sed -e 's/^ //' -e 's/ *$$//'
  3618.  
  3619. #HP-9000 500 HP-UX 5.xx, no TCP/IP.
  3620. hpux500:
  3621.     @echo 'Making C-Kermit $(CKVER) for HP-UX 5.xx - no TCP/IP'
  3622.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3623.     "CFLAGS = -DHPUX -DHPUX5 -DHPUXPRE65 -DNOREDIRECT -DDCLGETCWD \
  3624.     -DNOGETUSERSHELL -DNOGFTIMER -DNOSYSLOG -DNOTOMACROS -DNOLSTAT \
  3625.     -DNOSYMLINK -DNOINITGROUPS -DNOUNICODE $(KFLAGS)" \
  3626.     "LIBS = " "LNKFLAGS = "
  3627.  
  3628. #HP-9000 500 HP-UX 5.21 with Wollongong WIN/TCP 1.2 TCP/IP.
  3629. #Requires /usr/wins/usr/include and /usr/lib/libnet.a from Wollongong.
  3630. #Optimization skipped - takes forever.    Really.
  3631. hpux500wintcp:
  3632.     @echo 'Making C-Kermit $(CKVER) for HP-UX 5.21 WIN/TCP'
  3633.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3634.     "CFLAGS = -DHPUX -DHPUX5 -DHPUXPRE65 -DTCPSOCKET -DHPUX5WINTCP \
  3635.     -DNOREDIRECT -DDCLGETCWD -DNOGETUSERSHELL -DNOGFTIMER -DINADDRX \
  3636.     -DNOSYSLOG -DNOTOMACROS -DNO_DNS_SRV -DNOSYMLINK -DNOINITGROUPS \
  3637.     -DNOMHHOST -DNOLSTAT -DNOUNICODE -DNOHADDRLIST \
  3638.     -I/usr/wins/usr/include $(KFLAGS)" \
  3639.     "LIBS = /usr/lib/libnet.a" "LNKFLAGS = "
  3640.  
  3641. #HP-UX 6.5, short filenames, no network and no curses support.
  3642. #ckcpro, ckuusr, ckuus3 and others are broken out because they make the
  3643. #optimizer run away.  Note that xermit target does not work with this one!
  3644. #If you get compiler warnings like 'Switch table overflow' increase the '...'
  3645. #value in '-Wc,-Nw...'!
  3646. hpux65:
  3647.     @$(MAKE) hpux-header
  3648.     @echo 'supporting: NO long filenames, NO network${MESSAGE2}.'
  3649.     $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  3650.         ckuusr.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  3651.             ckctel.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) \
  3652.     "CFLAGS = -DHPUX -DHPUX6 -DSIG_V -DNOSYSLOG -DNOSELECT -DFNFLOAT \
  3653.     -DDCLGETCWD -DNOGETUSERSHELL -DNO_DNS_SRV $(KFLAGS) -Wc,-Nw260"
  3654.     $(MAKE) wermit \
  3655.     "CFLAGS = -DHPUX -DHPUX6 -DSIG_V -DNOSYSLOG -DNOSELECT -DFNFLOAT \
  3656.     -DDCLGETCWD -DNOGETUSERSHELL -DNO_DNS_SRV $(KFLAGS) -Wc,-Nw260 \
  3657.     $(OFLAGS)" "LNKFLAGS = -s" "LIBS = -lm $(LIBS)"
  3658.  
  3659.  
  3660. #Exactly as above, plus curses:
  3661. hpux65c:
  3662.     @MESSAGE2=", but with curses" \
  3663.     $(MAKE) hpux65 KTARGET=$${KTARGET:-$(@)} \
  3664.     "KFLAGS= -DCK_CURSES $(KFLAGS)" \
  3665.     "LIBS= -lcurses"
  3666.  
  3667. #Exactly as hpux65 but with compiler optimization:
  3668. hpux65o:
  3669.     @MESSAGE1="with compiler optimization" \
  3670.     $(MAKE) hpux65 KTARGET=$${KTARGET:-$(@)} \
  3671.     "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
  3672.  
  3673. #Exactly as hpux65c but with compiler optimization:
  3674. hpux65oc:
  3675.     @MESSAGE1="with compiler optimization" \
  3676.     $(MAKE) hpux65c KTARGET=$${KTARGET:-$(@)} \
  3677.     "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
  3678.  
  3679. #Take this as startup entry for all 'none optimezed' files under HP-UX 7.x!
  3680. #Make sure we doesn't call it with the '-O' option because this will blow up
  3681. #the compiler!
  3682. hpux70noopt:
  3683.     @case "$(CFLAGS)" in \
  3684.     *-O*) echo "Don't use CFLAGS= -O here!" ;; \
  3685.        *) $(MAKE) ckuusr.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  3686.                   ckcnet.$(EXT) ckctel.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) \
  3687.             KTARGET=$${KTARGET:-$(@)} \
  3688.           ;; \
  3689.     esac
  3690.  
  3691. #HP-UX 7.0, no long filenames, no network support, no curses.
  3692. #If you get compiler warnings like 'Switch table overflow' increase the '...'
  3693. #value in '-Wc,-Nw...'!
  3694. hpux70sf:
  3695.     @$(MAKE) hpux-header
  3696.     @echo 'supporting: NO long filenames, NO network, NO curses.'
  3697.     $(MAKE) hpux70noopt KTARGET=$${KTARGET:-$(@)} \
  3698.     "CFLAGS = -DHPUX -DHPUX7 -DSIG_V -DNOGETUSERSHELL -DFNFLOAT \
  3699.     -DNO_DNS_SRV $(KFLAGS) -Wc,-Nw260"
  3700.  
  3701.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3702.     "CFLAGS = -DHPUX -DHPUX7 -DSIG_V -DNOGETUSERSHELL -DFNFLOAT \
  3703.     -DNO_DNS_SRV $(KFLAGS) -Wc,-Nw260 $(OFLAGS)" \
  3704.     "LNKFLAGS = -s" "LIBS = -lm $(LIBS)"
  3705.  
  3706. #Exactly as hpux70sf but with compiler optimization:
  3707. hpux70osf:
  3708.     @MESSAGE1="with compiler optimization" \
  3709.     $(MAKE) hpux70sf KTARGET=$${KTARGET:-$(@)} \
  3710.     "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
  3711.  
  3712. #HP-UX 7.0, short filenames, but with tcp/ip and curses.
  3713. #There must be <arpa/telnet.h> & <arpa/inet.h> present to support this
  3714. #configuration.  To use this, you must have bought the ARPA Services
  3715. #Product from HP, and you must get the files "telnet.h" and "inet.h"
  3716. #from the Berkeley Standard Distribution because (reportedly) they are not
  3717. #part of the HP product.  And you need /usr/lib/libBSD.a.
  3718. hpux70sftcpc:
  3719.     @$(MAKE) hpux-header
  3720.     @echo 'supporting: NO long filenames, \c'
  3721.     @echo 'but with networking, curses, HDB uucp...'
  3722.     $(MAKE) hpux70noopt KTARGET=$${KTARGET:-$(@)} \
  3723.     "CFLAGS =  -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V \
  3724.     -DCK_REDIR -DCK_RTSCTS -DCK_CURSES -DNOGETUSERSHELL -DFNFLOAT \
  3725.     -DNO_DNS_SRV -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" $(KFLAGS) \
  3726.     -Wc,-Nw260"
  3727.  
  3728.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3729.     "CFLAGS =  -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V \
  3730.     -DCK_REDIR -DCK_RTSCTS -DCK_CURSES -DNOGETUSERSHELL -DFNFLOAT \
  3731.     -DNO_DNS_SRV -DHDBUUCP  -DLOCK_DIR=\\\"/usr/spool/uucp\\\" $(KFLAGS) \
  3732.     -Wc,-Nw260 $(OFLAGS)" "LNKFLAGS = -s" "LIBS= -lm -lBSD -lcurses"
  3733.  
  3734. #Exactly as above but with compiler optimization:
  3735. hpux70osftcpc:
  3736.     @MESSAGE1="with compiler optimization" \
  3737.     $(MAKE) hpux70sftcpc KTARGET=$${KTARGET:-$(@)} \
  3738.     "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
  3739.  
  3740. #HP 9000 series 300/800 HP-UX 7.0, long filenames, network support, HDB uucp,
  3741. #but NO curses. See comments in hpux70sftcpc about TCP/IP support.
  3742. hpux70lfn:
  3743.     @$(MAKE) hpux-header
  3744.     @echo 'supporting: long filenames, networking, HDB uucp$(MESSAGE2)...'
  3745.     $(MAKE) hpux70noopt KTARGET=$${KTARGET:-$(@)} \
  3746.     "CFLAGS =  -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V -DFNFLOAT \
  3747.     -DNOGETUSERSHELL -DNOSETBUF -DCK_REDIR -DCK_RTSCTS -DLONGFN \
  3748.     -DNO_DNS_SRV -DDIRENT -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" \
  3749.     $(KFLAGS) -Wc,-Nw260"
  3750.  
  3751.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3752.     "CFLAGS =  -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V -DFNFLOAT \
  3753.     -DNOGETUSERSHELL -DNOSETBUF -DCK_REDIR -DCK_RTSCTS -DLONGFN \
  3754.     -DNO_DNS_SRV -DDIRENT -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" \
  3755.     $(KFLAGS) -Wc,-Nw260 \
  3756.     $(OFLAGS)" "LNKFLAGS = -s" "LIBS = -lm -lBSD $(LIBS)"
  3757.  
  3758. #Exactly as above + curses.
  3759. hpux70lfnc:
  3760.     @MESSAGE2=', curses' \
  3761.     $(MAKE) hpux70lfn KTARGET=$${KTARGET:-$(@)} \
  3762.     "KFLAGS= -DCK_CURSES $(KFLAGS)" \
  3763.     "LIBS= -lcurses"
  3764.  
  3765. #Exactly as above hpux70lfn but with compiler optimization:
  3766. hpux70olfn:
  3767.     @MESSAGE1="with compiler optimization" \
  3768.     $(MAKE) hpux70lfn KTARGET=$${KTARGET:-$(@)} \
  3769.     "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
  3770.  
  3771. #Exactly as above hpux70lfnc but with compiler optimization:
  3772. hpux70olfnc:
  3773.     @MESSAGE1="with compiler optimization" \
  3774.     $(MAKE) hpux70lfnc KTARGET=$${KTARGET:-$(@)} \
  3775.     "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
  3776.  
  3777. #HP 9000 Series 300 or 400, HP-UX 8.0, long filenames and TCP/IP support.
  3778. #This one should also work on 700/800, but without PA-specific optimization.
  3779. #In case -DCK_RTSCTS and -DCK_REDIR make trouble, remove them.
  3780. #NOTE: ckcpro.c and ckuusr.c blow up the optimizer, so don't optimize them.
  3781. #For HP-UX 8.0 on Motorola CPUs, you might have to reinstall your kernel with
  3782. #maxdsiz >= #0x02000000.  But if physical memory is small, that still will not
  3783. #help much.
  3784. hpux80:
  3785.     @$(MAKE) hpux-header
  3786.     @MESSAGE3=$${MESSAGE3:='TCP/IP'}; \
  3787.     echo "supporting: long filenames, $$MESSAGE3, HDB UUCP$(MESSAGE2)..."
  3788.     $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" ckcpro.$(EXT) ckuusr.$(EXT) \
  3789.     "CFLAGS =  -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DRENAME -DSIG_V \
  3790.     -DNOSETBUF -DDIRENT -DCK_RTSCTS -DSTERMIOX -DLONGFN -DTCPSOCKET \
  3791.     -DHDBUUCP  -DNO_DNS_SRV -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT \
  3792.     $(KFLAGS)"
  3793.  
  3794.     $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" xermit KTARGET=$${KTARGET:-$(@)} \
  3795.     "CFLAGS =  -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DRENAME -DSIG_V \
  3796.     -DNOSETBUF -DDIRENT -DCK_RTSCTS -DSTERMIOX -DLONGFN -DTCPSOCKET \
  3797.     -DHDBUUCP  -DNO_DNS_SRV -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT \
  3798.     $(KFLAGS) $(OFLAGS)" "LNKFLAGS = -s" "LIBS = -lm -lBSD $(LIBS)"
  3799.  
  3800. #Exactly as above hpux80 + curses.
  3801. hpux80c:
  3802.     @MESSAGE2=', curses' \
  3803.     $(MAKE) hpux80  KTARGET=$${KTARGET:-$(@)} \
  3804.     "KFLAGS = $(KFLAGS) -DCK_CURSES" "LIBS = -lcurses"
  3805.  
  3806. #HP 9000 HP-UX 8.0, no TCP/IP because /usr/lib/libBSD.a can't be found,
  3807. #or TCP/IP header files missing.
  3808. hpux80notcp:
  3809.     @MESSAGE3='NO network, NO curses' \
  3810.     $(MAKE) "MAKE=$(MAKE)" hpux80 KTARGET=$${KTARGET:-$(@)} \
  3811.     "KFLAGS = $(KFLAGS) -UTCPSOCKET"
  3812.  
  3813. #Now the same as above hpux80 but with compiler optimization
  3814. hpux80o:
  3815.     @MESSAGE1="with compiler optimization" \
  3816.     $(MAKE) hpux80 KTARGET=$${KTARGET:-$(@)} \
  3817.     "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  3818.  
  3819. #Exactly as above hpux80 + curses and with compiler optimization.
  3820. hpux80oc:
  3821.     @MESSAGE1="with compiler optimization" \
  3822.     $(MAKE) hpux80c KTARGET=$${KTARGET:-$(@)} \
  3823.     "KFLAGS = $(KFLAGS)" "OFLAGS = -O" "LIBS = -lcurses"
  3824.  
  3825. #Exactly as above hpux80notcp but with compiler optimization
  3826. hpux80onotcp:
  3827.     @MESSAGE1="with compiler optimization" \
  3828.     $(MAKE) "MAKE=$(MAKE)" hpux80notcp KTARGET=$${KTARGET:-$(@)} \
  3829.     "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  3830.  
  3831. #HP 9000 Series 700 or 800, HP-UX 8.0, long filenames and TCP/IP support.
  3832. # Like the previous entries, but with PA-RISC-specific optimization.
  3833. hpux80pa:
  3834.     @MESSAGE1="with PA-RISC-specific optimization" \
  3835.     $(MAKE) hpux80 KTARGET=$${KTARGET:-$(@)} \
  3836.     "KFLAGS = $(KFLAGS) +Obb1100"
  3837.  
  3838. #As above, but with curses.
  3839. hpux80pac:
  3840.     @MESSAGE1="with PA-RISC-specific optimization" \
  3841.     $(MAKE) hpux80c KTARGET=$${KTARGET:-$(@)} \
  3842.     "KFLAGS = $(KFLAGS) +Obb1100"
  3843.  
  3844. #As above, but compiled with GCC 2.3.3.
  3845. hpux80pagcc:
  3846.     @MESSAGE1='using the gcc compiler' \
  3847.     $(MAKE) hpux80 KTARGET=$${KTARGET:-$(@)} \
  3848.     "CC=gcc" "CC2=gcc" "KFLAGS= -funsigned-char $(KFLAGS)"
  3849.  
  3850. #HP-UX 9.0, 9.01, 9.03, 9.04, 9.05, 9.07, 9.10 ..., + TCP/IP + curses, fully
  3851. #configured.  Use this entry with the restricted compiler: no optimization, no
  3852. #ANSI support.  If you get unresolved sockets library references at link time,
  3853. #then try adding -lBSD to LIBS, or else remove -DTCPSOCKET to build a version
  3854. #without TCP/IP support.
  3855. hpux90:
  3856.     @MESSAGE1A='. Read comments in the hpux90 entry if you have trouble.' \
  3857.     $(MAKE) hpux-header
  3858.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3859.     "CFLAGS = -DHPUXDEBUG -DHPUX9 -DSTERMIOX -DDIRENT \
  3860.     -DNOSETBUF -DCK_CURSES -DTCPSOCKET -DRENAME -DCK_REDIR -DLONGFN \
  3861.     -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT $(KFLAGS)" \
  3862.     "LNKFLAGS = -s" "LIBS = -lm -lcurses" "CC=$(CC)" "CC2=$(CC2)"
  3863.  
  3864. #Like hpux90, but for the "value-added" compiler on all HP 9000 models.
  3865. #Adds optimization and ANSI compilation:
  3866. # +O2 makes smaller executable (= -O = Level-1 and global optimization)
  3867. # +O3 adds interprocedural global optimization, makes bigger executable.
  3868. # If optimization fails on some modules, you can add:
  3869. #  +Obb<n>, +Olimit <n>, or +Onolimit, depending on your cc version,
  3870. # where <n> is a number, e.g. +Obb1200.  In other words, if you get optimizer
  3871. # warnings, add (for example) +Obb1200; if you still get optimizer warnings,
  3872. # increase the number.  Repeat until warnings go away.  If your compiler
  3873. # permits it, use +Onolimit. If optimizer blows up on ckcpro.c, see next entry.
  3874. # Reportedly, on some configurations, such as HP9000/425e or /340, perhaps
  3875. # depending on the amount of main memory, this entry might fail no matter what
  3876. # you do ("Out of Memory", "cc: Fatal error in /lib/c.c1", etc).  In that case
  3877. # use "make hpux90" (no "o").
  3878. hpux90o:
  3879.     @MESSAGE1=$${MESSAGE1:-"with compiler optimization"} \
  3880.     $(MAKE) hpux90 KTARGET=$${KTARGET:-$(@)} \
  3881.     "KFLAGS = $(KFLAGS) -Aa -DCK_ANSIC -D_HPUX_SOURCE +O2"
  3882.  
  3883. # For HP-UX 9.0 on Motorola CPUs, optimization of ckcpro.c tends to blow up
  3884. # the compiler.  You might have to reinstall your kernel with maxdsiz >=
  3885. # 0x03000000.  But if physical memory is small, that still will not help much.
  3886. # In that case, use this entry to skip optimization of ckcpro.c.
  3887. hpux90m68ko:
  3888.     @MESSAGE1='without compiler optimization for ckcpro.$(EXT) ...' \
  3889.     $(MAKE) hpux-header
  3890.     $(MAKE) ckuusr.$(EXT) ckuus3.$(EXT) ckcpro.$(EXT) \
  3891.     "CFLAGS = -DHPUXDEBUG -DHPUX9 -DSTERMIOX -DDIRENT \
  3892.     -DNOSETBUF -DCK_CURSES -DTCPSOCKET -DRENAME  -DCK_REDIR -DLONGFN \
  3893.     -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT $(KFLAGS)"
  3894.     @echo
  3895.     @MESSAGE1="with compiler optimization for the rest" \
  3896.     $(MAKE) hpux90 KTARGET=$${KTARGET:-$(@)} \
  3897.     "KFLAGS = $(KFLAGS) -Aa -DCK_ANSIC -D_HPUX_SOURCE +O2"
  3898.  
  3899. # Old name for hpux90m68ko.
  3900. hpux90mot:
  3901.     $(MAKE) hpux90m68ko KTARGET=$${KTARGET:-$(@)} "KFLAGS = $(KFLAGS)"
  3902.  
  3903. #Like hpux90o but with additional model-700/800-specific optimizations.
  3904. # +ESlit = consolidate strings in read-only memory.
  3905. # +ESfsc = inline millicode calls when comparing pointers.
  3906. hpux90o700:
  3907.     @echo 'If you get optimizer warnings \c'
  3908.     @echo 'try "make hpux90o700 KFLAGS=+Obb1200"'
  3909.     @MESSAGE1="with PA-RISC-specific optimizations" \
  3910.     $(MAKE) hpux90o KTARGET=$${KTARGET:-$(@)} \
  3911.     "KFLAGS = $(KFLAGS) +ESlit +ESsfc"
  3912.  
  3913. #HP-UX 9.0, 9.01, 9.03, 9.04, 9.05, 9.07, 9.10 ..., + TCP/IP + curses, fully
  3914. #configured, built with gcc, all models except 800 series.
  3915. #You might need to add the include path for gcc headers, for example:
  3916. # 'KFLAGS=-I/usr/gnu/lib/gcc-lib/hppa1.1-hp-hpux/2.4.5/include/'
  3917. hpux90gcc:
  3918.     @MESSAGE1='using the gcc compiler' \
  3919.     $(MAKE) hpux90 KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3920.     "KFLAGS = $(KFLAGS) -DCK_ANSIC -funsigned-char -O2"
  3921.  
  3922. #Make man page for HP-UX 10.00 or later.
  3923. hpux100man:
  3924.     @touch ckuker.cpp
  3925.     $(MAKE) "SHELL=/usr/bin/sh" "CFLAGS=-DHPUX10" manpage
  3926.  
  3927. #HP-9000 HP-UX 10.0 + TCP/IP + curses, fully configured.
  3928. #Use with restricted (bundled) compiler: no optimization, no ANSI support.
  3929. #libcurses needed for fullscreen file xfer display in HP-UX 10.00 and 10.01.
  3930. #libHcurses (NOT libcurses!) for fullscreen display, to work around fatal bugs
  3931. #in HP-UX 10.10 and 10.20 curses. Maybe we could use lcurses for 10.30, since
  3932. #the 10.10 curses problem is supposedly fixed in 10.30.
  3933. # +DA1.0 = Generate PA-RISC 1.0 code that runs on both 700 and 800 models.
  3934. # +DA1.1 = Generate PA-RISC 1.1 code that runs on both 700 and 800 models.
  3935. # Note that HP-UX 10.20 and upwards do not support PA-RISC 1.0 systems.
  3936. hpux100:
  3937.     @$(MAKE) hpux-header
  3938.     @case `uname -r` in \
  3939.        [AB].10.0*)  KFLAGS='-DHPUX1000 +DA1.0 $(KFLAGS)' ; \
  3940.                     LIBS='  -lcurses'  ;; \
  3941.        [AB].10.1*)  KFLAGS='-DHPUX1010 -D__HP_CURSES +DA1.0 $(KFLAGS)' ; \
  3942.                     LIBS='  -lHcurses' ;; \
  3943.        [AB].10.2*)  KFLAGS='-DHPUX1020 -D__HP_CURSES +DA1.1 $(KFLAGS)' ; \
  3944.                     LIBS='  -lHcurses' ;; \
  3945.        [AB].10.3*)  KFLAGS='-DHPUX1030 -D__HP_CURSES +DA1.1 $(KFLAGS)' ; \
  3946.                     LIBS='  -lHcurses' ;; \
  3947.        [AB].10.?*)  KFLAGS='-DHPUX10XX -D__HP_CURSES +DA1.1 $(KFLAGS)' ; \
  3948.                     LIBS='  -lHcurses' ;; \
  3949.        [AB].11.0*)  KFLAGS='-DHPUX1100 -D__HP_CURSES +DA1.1 $(KFLAGS)' ; \
  3950.                     LIBS='  -lHcurses' ;; \
  3951.     esac ; \
  3952.     $(MAKE) "SHELL=/usr/bin/sh" xermit KTARGET=$${KTARGET:-$(@)} \
  3953.     "CFLAGS = -DHPUX10 -DDIRENT -DSTERMIOX -DCK_DSYSINI -DHDBUUCP \
  3954.     -DCK_CURSES -DCK_WREFRESH -DTCPSOCKET -DCK_REDIR -DRENAME -DFNFLOAT \
  3955.     $$KFLAGS " \
  3956.     "LNKFLAGS=-s $(LNKFLAGS)" "LIBS = -lm $$LIBS $(KLIBS)"
  3957.  
  3958. # Trusted HP-UX 10
  3959. # echo KFLAGS=$(KFLGS) YTARGET YTARGET=$(YTARGET) $(XTARGET) ;
  3960. hpux100t:
  3961.     @case "$(KTARGET)" in \
  3962.        *o+) KENTRY=hpux100o+ ;; \
  3963.        *o)  KENTRY=hpux100o ;; \
  3964.        *)   KENTRY=hpux100 ;; \
  3965.     esac ; \
  3966.     MESSAGE1="and support for 'Trusted HP-UX'" \
  3967.     $(MAKE) $$KENTRY KTARGET=$${KTARGET:-$(@)} \
  3968.     "KFLAGS= $(KFLAGS) -DHPUX10_TRUSTED" "KLIBS=-lsec"
  3969.  
  3970. hpux100to:
  3971.     $(MAKE) hpux100t KTARGET=$${KTARGET:-$(@)}
  3972.  
  3973. hpux100to+:
  3974.     $(MAKE) hpux100t KTARGET=$${KTARGET:-$(@)}
  3975.  
  3976. #HP-9000 HP-UX 10.00 and higher with ANSI prototyping and optimization.
  3977. #PA-RISC only, no Motorola or other hardware is support in HP-UX 10.00++.
  3978. #The unbundled optional compiler is required.
  3979. #Your path should start with /opt/ansic/bin.
  3980. # -Wl,-Fw = Remove stack unwind table (info used by debuggers).
  3981. # +O2 makes a smaller executable (= -O = Level-1 and global optimization).
  3982. # +O3 adds interprocedural global optimization, makes a bigger executable.
  3983. # +Onolimit allows all modules to be optimized, no matter how complex.  But:
  3984. #  (a) +Onolimit does not seem to always be there in HP-UX 10.00, and:
  3985. #  (b) some modules might take hours on low-memory and/or slow systems.
  3986. # The following are PA-RISC-specific optimizations:
  3987. # +ESlit = Consolidate strings in read-only memory.
  3988. # +ESfsc = Inline millicode calls when comparing pointers.
  3989. # You might need to configure your kernel for a maxdsiz of 0x07000000 (112MB)
  3990. # or greater to prevent the optimizer from running out of space.
  3991. hpux100o:
  3992.     @MESSAGE1="with PA-RISC-specific optimizations $(MESSAGE1)" \
  3993.     $(MAKE) "SHELL=/usr/bin/sh" "PATH=/opt/ansic/bin:$$PATH" hpux100 \
  3994.     "KFLAGS = $(KFLAGS) \
  3995.     -Aa -D_HPUX_SOURCE -DCK_ANSIC -DUTIMEH \
  3996.     +O2 -Wl,-Fw +ESlit +ESsfc"
  3997.  
  3998. #The same like hpux100o but with "+Onolimit".
  3999. #On 700 series maxdsize >= 0xB000 (=176MB).  Takes a long time.
  4000. hpux100o+:
  4001.     @MESSAGE1="and +Onolimit $(MESSAGE1)" \
  4002.     $(MAKE) hpux100o \
  4003.     "KFLAGS = $(KFLAGS) +Onolimit"
  4004.  
  4005. hpux110:
  4006.     $(MAKE) hpux100 KTARGET=$${KTARGET:-$(@)}
  4007.  
  4008. hpux110o:
  4009.     $(MAKE) hpux100o KTARGET=$${KTARGET:-$(@)}
  4010.  
  4011. hpux110o+:
  4012.     $(MAKE) hpux100o+ KTARGET=$${KTARGET:-$(@)}
  4013.  
  4014. # Trusted HP-UX 11
  4015. hpux110t:
  4016.     $(MAKE) hpux100t KTARGET=$${KTARGET:-$(@)}
  4017.  
  4018. hpux110to:
  4019.     $(MAKE) hpux100t KTARGET=$${KTARGET:-$(@)}
  4020.  
  4021. hpux110to+:
  4022.     $(MAKE) hpux100t KTARGET=$${KTARGET:-$(@)}
  4023.  
  4024. # Synonyms for the HP-UX 11.xx entries just above:
  4025. hpux1100:
  4026.     $(MAKE) hpux100 KTARGET=$${KTARGET:-$(@)}
  4027.  
  4028. hpux1100o:
  4029.     $(MAKE) hpux100o KTARGET=$${KTARGET:-$(@)}
  4030.  
  4031. hpux1100o+:
  4032.     $(MAKE) hpux100o+ KTARGET=$${KTARGET:-$(@)}
  4033.  
  4034. # Trusted HP-UX 11
  4035. hpux1100t:
  4036.     $(MAKE) hpux100t KTARGET=$${KTARGET:-$(@)}
  4037.  
  4038. hpux1100to:
  4039.     $(MAKE) hpux100t KTARGET=$${KTARGET:-$(@)}
  4040.  
  4041. hpux1100to+:
  4042.     $(MAKE) hpux100t KTARGET=$${KTARGET:-$(@)}
  4043.  
  4044. #Regulus on CIE Systems 680/20
  4045. cie:
  4046.     @echo 'Making C-Kermit $(CKVER) for CIE Systems 680/20 Regulus...'
  4047.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4048.     "CFLAGS = -DATTSV -DNOFILEH -DCIE $(KFLAGS) -O" "LNKFLAGS ="
  4049.  
  4050. # Linux 1.2 or later with gcc, dynamic libraries, ncurses, TCP/IP.
  4051. #
  4052. # Most modern Linux systems use ncurses (with curses.h and an ncurses
  4053. # shared library).   Modern Linux systems also generally use FSSTND 1.2.
  4054. # So this entry should work for most people.  Read on if you have trouble.
  4055. #
  4056. # If your Linux system has curses rather than ncurses, use the linuxc
  4057. # entry, or if that doesn't work, linuxnc.
  4058. #
  4059. # The Kermit "large memory model" is used by default to configure big packet
  4060. # and script buffers, etc.  For small-memory or limited-resource systems,
  4061. # "make linux KFLAGS=-DNOBIGBUF".
  4062. #
  4063. # -DLINUXFSSTND (Linux File System Standard 1.2) gives UUCP lockfile /var/lock
  4064. # with string pid.  Remove this to get /usr/spool/uucp with int pid, used in
  4065. # very early Linux versions.  FSSTND 1.2 also says that the PID string in the
  4066. # UUCP lock file has leading spaces.  This is a change from FSSTND 1.0, which
  4067. # used leading zeros.  Add -DFSSTND10 to support FSSTND 1.0 instead of 1.2.
  4068. #
  4069. # Add -DOLINUXHISPEED (Old Linux High Speed support) to turn on an ugly kludge
  4070. # in Linux 1.0 and earlier to support speeds of 57600 and 115200.  Extremely
  4071. # old Linux systems (pre-0.99pl15) will not support this.  If OLINUXHISPEED is
  4072. # not defined, then only the standard POSIX termios methods of setting the port
  4073. # speed will be used, and in this case speeds can be as high as 460800 in most
  4074. # modern Linux versions.
  4075. #
  4076. # -DCK_POSIX_SIG (POSIX signal handling) is good for Linux releases back to at
  4077. # least 0.99.14; if it causes trouble for you, remove it from the CFLAGS.
  4078. #
  4079. # -pipe removes the need for temp files - remove it if it causes trouble.
  4080. #
  4081. # -funsigned-char makes all characters unsigned, as they should have been
  4082. #  in the first place.
  4083. #
  4084. # Add -DCK_DSYSINI if you want a shared system-wide init file.
  4085. #
  4086. # See ckubwr.txt about -DNOCOTFMC.  In fact, you really should read the
  4087. # entire Linux section of ckubwr.txt.
  4088. #
  4089. # The "linuxa" entry can be referenced directly on LIBC systems, but not
  4090. # GLIBC, where -lcrypt is required.  The "make linux" entry should normally
  4091. # be used for all builds on all Linux distributions unless you have special
  4092. # requirements, in which case keep reading.  CK_NEWTERM added after 7.0B04
  4093. # due to new complaints about ncurses changing buffering of tty.
  4094.  
  4095. linuxa:
  4096.     @echo 'Making C-Kermit $(CKVER) for Linux 1.2 or later...'
  4097.     @echo 'IMPORTANT: Read the comments in the linux section of the'
  4098.     @echo 'makefile if you have trouble.'
  4099.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4100.     "CFLAGS = -O -DLINUX -pipe -funsigned-char -DFNFLOAT -DCK_POSIX_SIG \
  4101.     -DCK_NEWTERM -DTCPSOCKET -DLINUXFSSTND -DNOCOTFMC -DPOSIX $(KFLAGS)" \
  4102.     "LNKFLAGS = $(LNKFLAGS)" "LIBS = $(LIBS) -lm"
  4103.  
  4104. # Default linux entry.  This one sets LIBS according whether libcrypt.a
  4105. # is present (in which case we must search it: GLIBC) or not (in which case
  4106. # we must not search it: LIBC), and similarly for libresolv.a, in all four
  4107. # possible combinations.  Please read the comments above the linuxa entry just
  4108. # above.  This one also requires ncurses.  The NCURSES_CPP lets us find
  4109. # ncurses.h in case it is not in /usr/include, as some distributions are wont
  4110. # to put it in its own directory (the -I is ignored if ncurses.h is found in
  4111. # /usr/include).
  4112.  
  4113. NCURSES_CPP = -DCK_NCURSES -I/usr/include/ncurses
  4114.  
  4115. linux:
  4116.     @if test -f /usr/lib/libcrypt.a; then \
  4117.         if test -f /usr/lib/libresolv.a; then \
  4118.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4119.         "KFLAGS=$(NCURSES_CPP) -DHAVE_CRYPT_H $(KFLAGS)" \
  4120.             "LIBS=-lncurses -lresolv -lcrypt" linuxa ; \
  4121.         else \
  4122.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4123.         "KFLAGS=$(NCURSES_CPP) -DHAVE_CRYPT_H $(KFLAGS)" \
  4124.             "LIBS=-lncurses -lcrypt" linuxa ; \
  4125.         fi \
  4126.     else \
  4127.         if test -f /usr/lib/libresolv.a; then \
  4128.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4129.         "KFLAGS=$(NCURSES_CPP) $(KFLAGS)" \
  4130.             "LIBS=-lncurses -lresolv" linuxa ; \
  4131.         else \
  4132.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4133.         "KFLAGS=$(NCURSES_CPP) $(KFLAGS)" \
  4134.             "LIBS=-lncurses" linuxa ; \
  4135.         fi \
  4136.     fi
  4137.  
  4138. # As above but for Linux systems that have no <sys/select.h>.
  4139. linuxns:
  4140.     $(MAKE) linux KTARGET=$${KTARGET:-$(@)} KFLAGS=-DNO_SYS_SELECT_H
  4141.  
  4142. # As above, but forces use of curses rather than ncurses.
  4143. # Add -ltermcap to LIBS if necessary.
  4144. # Also watch out for libcurses and/or libtermcap having been moved.
  4145. # In that case you might need something like:
  4146. #  "LIBS = -L/usr/lib/curses -lcurses -L/usr/lib/termcap -ltermcap"
  4147.  
  4148. linuxc:
  4149.     @if test -f /usr/lib/libcrypt.a; then \
  4150.         if test -f /usr/lib/libresolv.a; then \
  4151.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4152.         "KFLAGS=-DCK_CURSES -DHAVE_CRYPT_H $(KFLAGS)" \
  4153.             "LIBS=-lcurses -lresolv -lcrypt" linuxa ; \
  4154.         else \
  4155.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4156.         "KFLAGS=-DCK_CURSES -DHAVE_CRYPT_H $(KFLAGS)" \
  4157.             "LIBS=-lcurses -lcrypt" linuxa ; \
  4158.         fi \
  4159.     else \
  4160.         if test -f /usr/lib/libresolv.a; then \
  4161.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4162.         "KFLAGS=-DCK_CURSES $(KFLAGS)" \
  4163.             "LIBS=-lcurses -lresolv" linuxa ; \
  4164.         else \
  4165.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4166.         "KFLAGS=-DCK_CURSES $(KFLAGS)" \
  4167.             "LIBS=-lcurses" linuxa ; \
  4168.         fi \
  4169.     fi
  4170.  
  4171. # As above but with with no curses support, for example because you installed
  4172. # the developer tools but did not install (n)curses.
  4173. linuxnc:
  4174.     @if test -f /usr/lib/libcrypt.a; then \
  4175.         if test -f /usr/lib/libresolv.a; then \
  4176.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4177.         "KFLAGS=-DNOTERMCAP -DHAVE_CRYPT_H $(KFLAGS)" \
  4178.             "LIBS=-lresolv -lcrypt" linuxa ; \
  4179.         else \
  4180.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4181.         "KFLAGS=-DNOTERMCAP -DHAVE_CRYPT_H $(KFLAGS)" \
  4182.             "LIBS=-lcrypt" linuxa ; \
  4183.         fi \
  4184.     else \
  4185.         if test -f /usr/lib/libresolv.a; then \
  4186.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4187.         "KFLAGS=-DNOTERMCAP $(KFLAGS)" \
  4188.             "LIBS=-lresolv" linuxa ; \
  4189.         else \
  4190.             $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4191.         "KFLAGS=-DNOTERMCAP $(KFLAGS)" \
  4192.             "LIBS=" linuxa ; \
  4193.         fi \
  4194.     fi
  4195.  
  4196. # A minimum-size version for Linux that does only scripting and
  4197. # serial communication -- no networks, no file transfer.
  4198. linuxso:
  4199.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4200.     "CFLAGS = -O -DLINUX -pipe -funsigned-char -DPOSIX -DCK_POSIX_SIG \
  4201.     -DLINUXFSSTND -DNOCOTFMC -DNOXFER -DNODEBUG -DNOCSETS -DNOHELP \
  4202.     -DNONET -DMINIDIAL -DNOSCRIPT -DNOIKSD -DNOPUSH $(KFLAGS)" \
  4203.     "LNKFLAGS = $(LNKFLAGS)" "LIBS = "
  4204.  
  4205. #Mklinux DR3 has horrible bug in <utmpbits.h> - see ckufio.c.
  4206. mklinux:
  4207.     $(MAKE) KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DUTMPBUG" \
  4208.     "LIBS=-lcrypt -lresolv" linuxa
  4209.  
  4210. #LinuxPPC (not the same as mklinux)
  4211. linuxppc:
  4212.     @echo 'Making C-Kermit $(CKVER) for pure LINUXPPC...'
  4213.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4214.     "CFLAGS= -DPOSIX $(KFLAGS) -DTCPSOCKET -O" \
  4215.     "LIBS= -lcrypt -lresolv"
  4216.  
  4217. # The remaining Linux entries are for special or customized builds.
  4218. # They have not been generalized like the two just above.  Ideally, we
  4219. # should allow for every combination of libc vs glibc, gcc vs egcs,
  4220. # curses vs ncurses, Kerberos IV vs Kerberos V vs SRP (in any combination),
  4221. # and so on -- volunteers welcome.
  4222.  
  4223. # If you get "Internal compiler error xxx, output pipe has been closed",
  4224. # try removing -pipe.
  4225.  
  4226. # Like "make linux" but built with egcs rather than gcc.
  4227. linuxegcs:
  4228.     @echo 'Making C-Kermit $(CKVER) for Linux 1.2 or later with egcs...'
  4229.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = egcs" "CC2 = egcs" \
  4230.     "CFLAGS = -O -DLINUX -pipe -funsigned-char \
  4231.     -DPOSIX -DCK_POSIX_SIG -DCK_NCURSES -DNOCOTFMC \
  4232.     -DTCPSOCKET -DLINUXFSSTND $(KFLAGS)" \
  4233.     "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lncurses -lcrypt -lresolv"
  4234.  
  4235. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.05 (no K4 compatibility).
  4236. linux+krb5:
  4237.     @echo 'Making C-Kermit $(CKVER) for Linux on Intel with Kerberos...'
  4238.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4239.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4240.     -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 \
  4241.     -DCK_ENCRYPTION -DCK_DES -DCK_CURSES -DCK_POSIX_SIG \
  4242.     -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H -I/usr/local/include/ \
  4243.     -I/usr/local/include/krb5/ \
  4244.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4245.     "LIBS = -L/usr/local/lib -lncurses -ltermcap -ldes425 -lkrb5 \
  4246.     -lcom_err -lk5crypto -lcrypt -lresolv"
  4247.  
  4248. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.05 with K4 compat.
  4249. #
  4250. # Requires the Kerberos 1.0.5 be compiled with KRB4 compatibility.
  4251. linux+krb5+krb4:
  4252.     @echo 'Making C-Kermit $(CKVER) for Linux on Intel with Kerberos...'
  4253.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4254.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4255.     -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  4256.     -DCK_ENCRYPTION -DCK_DES -DCK_CURSES -DCK_POSIX_SIG \
  4257.     -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H -I/usr/local/include/ \
  4258.     -I/usr/local/include/krb5/ \
  4259.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4260.     "LIBS = -L/usr/local/lib -lncurses -ltermcap -lkrb4 -ldes425 -lkrb5 \
  4261.     -lcom_err -lk5crypto -lcrypt -lresolv"
  4262.  
  4263. #Linux on Intel PC with SRP 1.4.5.
  4264. #
  4265. # remove the -DCK_DES, -DLIBDES and -ldes if you do not have Eric Young's
  4266. # libdes.a installed.  libsrp.a should be build with GNU MP (libgmp.a)
  4267. # instead of AT&T CryptoLib (libcrypt.a) due to naming conflicts with
  4268. # standard distribution Linux libraries.
  4269. #
  4270. linux+srp:
  4271.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  4272.     $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4273.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4274.     -DCK_AUTHENTICATION -DCK_SRP \
  4275.     -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  4276.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4277.     -I/usr/src/srp-1.4.5/include/ \
  4278.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4279.     "LIBS = -L/usr/src/srp-1.4.5/lib \
  4280.     -lncurses -ltermcap -lsrp -lgmp -ldes -lcrypt -lresolv"
  4281.  
  4282. linux+srp+no-des:
  4283.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP ...'
  4284.     $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4285.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4286.     -DCK_AUTHENTICATION -DCK_SRP \
  4287.     -DCK_ENCRYPTION -DCK_CAST \
  4288.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4289.     -I/usr/src/srp-1.4.5/include/ \
  4290.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4291.     "LIBS = -L/usr/src/srp-1.4.5/lib \
  4292.     -lncurses -ltermcap -lsrp -lgmp -lcrypt -lresolv"
  4293.  
  4294. linux+srp-export:
  4295.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  4296.     $(MAKE) srpmit-export KTARGET=$${KTARGET:-$(@)} \
  4297.     "CC = gcc" "CC2 = gcc" \
  4298.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4299.     -DCK_AUTHENTICATION -DCK_SRP -DFNFLOAT \
  4300.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4301.     -I/usr/src/srp-1.4.5/include/ \
  4302.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4303.     "LIBS = -L/usr/src/srp-1.4.5/lib \
  4304.     -lncurses -ltermcap -lsrp -lgmp -lcrypt -lm -lresolv"
  4305.  
  4306. linux+srp+pam:
  4307.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  4308.     $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4309.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4310.     -DCK_AUTHENTICATION -DCK_SRP \
  4311.     -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  4312.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4313.     -DCK_PAM -DFNFLOAT \
  4314.     -I/usr/src/srp-1.4.5/include/ \
  4315.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4316.     "LIBS = -L/usr/src/srp-1.4.5/lib \
  4317.     -lncurses -ltermcap -lsrp -lgmp -ldes -lcrypt -lpam -ldl -lm -lresolv"
  4318.  
  4319. #Linux configured for SSL/TLS
  4320. linux+openssl:
  4321.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SSL/TLS...'
  4322.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4323.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4324.     -DCK_AUTHENTICATION -DCK_SSL \
  4325.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4326.     -DFNFLOAT \
  4327.     -I/usr/local/ssl/include/ \
  4328.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4329.     "LIBS= -L/usr/local/ssl/lib/ \
  4330.     -lncurses -ltermcap -lssl -lsslcrypto -lm -lresolv"
  4331.  
  4332. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.05 and SRP.
  4333. #
  4334. # libsrp.a should be build with GNU MP (libgmp.a)
  4335. # instead of AT&T CryptoLib (libcrypt.a) due to naming conflicts with
  4336. # standard distribution Linux libraries.
  4337. # Requires the Kerberos 1.0.5 be compiled with KRB4 compatibility.
  4338. linux+krb5+krb4+srp:
  4339.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB54+SRP...'
  4340.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4341.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4342.     -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
  4343.     -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  4344.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4345.     -I/usr/local/include/ \
  4346.     -I/usr/local/include/krb5/ \
  4347.     -I/usr/src/srp-1.4.5/include/ \
  4348.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4349.     "LIBS = -L/usr/src/srp-1.4.5/lib -L/usr/local/lib \
  4350.     -lncurses -ltermcap -lsrp -lgmp \
  4351.     -ldes -lkrb4 -ldes425 -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv"
  4352.  
  4353. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.05, SRP and SSL/TLS.
  4354. #
  4355. # libsrp.a should be build with GNU MP (libgmp.a)
  4356. # instead of AT&T CryptoLib (libcrypt.a) due to naming conflicts with
  4357. # standard distribution Linux libraries.
  4358. # Requires the Kerberos 1.0.5 be compiled with KRB4 compatibility.
  4359. linux+krb5+krb4+srp+openssl:
  4360.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
  4361.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4362.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4363.     -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
  4364.     -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
  4365.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4366.     -I/usr/local/include/ \
  4367.     -I/usr/local/include/krb5/ \
  4368.     -I/usr/src/srp-1.4.5/include/ \
  4369.     -I/usr/local/ssl/include/ \
  4370.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4371.     "LIBS = -L/usr/src/srp-1.4.5/lib -L/usr/local/lib \
  4372.     -L/usr/local/ssl/lib/ \
  4373.     -lncurses -ltermcap -lsrp -lgmp \
  4374.     -ldes -lkrb4 -ldes425 -lssl -lsslcrypto \
  4375.     -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv"
  4376.  
  4377. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.05, SSL/TLS.
  4378. #
  4379. # libsrp.a should be build with GNU MP (libgmp.a)
  4380. # instead of AT&T CryptoLib (libcrypt.a) due to naming conflicts with
  4381. # standard distribution Linux libraries.
  4382. # Requires the Kerberos 1.0.5 be compiled with KRB4 compatibility.
  4383. linux+krb5+krb4+openssl:
  4384.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL...'
  4385.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4386.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4387.     -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
  4388.     -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
  4389.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4390.     -I/usr/local/include/ \
  4391.     -I/usr/local/include/krb5/ \
  4392.     -I/usr/local/ssl/include/ \
  4393.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4394.     "LIBS = -L/usr/local/lib \
  4395.     -L/usr/local/ssl/lib/ \
  4396.     -lncurses -ltermcap \
  4397.     -ldes -lkrb4 -ldes425 -lssl -lsslcrypto -lkrb5 -lcom_err \
  4398.     -lk5crypto -lcrypt -lresolv"
  4399.  
  4400. linux+krb5+krb4+srp-export:
  4401.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  4402.     $(MAKE) krbmit-export KTARGET=$${KTARGET:-$(@)} \
  4403.     "CC = gcc" "CC2 = gcc" \
  4404.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4405.     -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
  4406.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4407.     -I/usr/local/include/ \
  4408.     -I/usr/local/include/krb5/ \
  4409.     -I/usr/src/srp-1.4.5/include/ \
  4410.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4411.     "LIBS = -L/usr/src/srp-1.4.5/lib -L/usr/local/lib \
  4412.     -lncurses -ltermcap -lsrp -lgmp \
  4413.     -lkrb4 -ldes425 -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv"
  4414.  
  4415. linux+krb5+krb4+srp+pam:
  4416.     @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  4417.     $(MAKE) krbmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4418.     "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  4419.     -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
  4420.     -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  4421.     -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  4422.     -DCK_PAM \
  4423.     -I/usr/local/include/ \
  4424.     -I/usr/local/include/krb5/ \
  4425.     -I/usr/src/srp-1.4.5/include/ \
  4426.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  4427.     "LIBS = -L/usr/src/srp-1.4.5/lib -L/usr/local/lib \
  4428.     -lncurses -ltermcap -lsrp -lgmp -ldes -lkrb4 -ldes425 -lkrb5 \
  4429.     -lcom_err -lk5crypto -lcrypt -lpam -ldl -lresolv"
  4430.  
  4431. linuxnotcp:
  4432.     $(MAKE) linux KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DNONET $(KFLAGS)"
  4433.  
  4434. # "make linuxnotcp" with lcc (see http://www.cs.princeton.edu/software/lcc)
  4435. # lcc does not understand various gcc extensions:
  4436. #  "__inline__" -- can be eliminated by adding "-D__inline__="
  4437. #  "__asm__ and "long long" -- in header files, should be surrounded by
  4438. #                              "#ifndef(__STRICT_ANSI__)"/"#endif"
  4439. #  however, TCP requires some __asm__ functions, so cannot be compiled
  4440. linuxnotcp-lcc:
  4441.     @echo 'Making C-Kermit $(CKVER) for Linux with lcc ...'
  4442.     @echo 'Read comments in makefile for additional information.'
  4443.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = lcc" "CC2 = lcc" \
  4444.     "CFLAGS = -DLINUX -DPOSIX -DCK_CURSES -DCK_POSIX_SIG \
  4445.     -UTCPSOCKET -DLINUXFSSTND $(KFLAGS)" \
  4446.     "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
  4447.  
  4448. # Linux 0.99.14 thru 1.0 with gcc, dynamic libraries, curses, TCP/IP.
  4449. # For Linux 1.2 or later, use "make linux" (above).
  4450. #
  4451. # -DLINUXFSSTND (Linux File System Standard) gives UUCP lockfil /var/lock with
  4452. # string pid.  Remove this and get /usr/spool/uucp with int pid, which was used
  4453. # in early Linux versions.
  4454. #
  4455. # If you get compiler errors regarding <linux/serial.h>, add -DNOHISPEED.
  4456. #
  4457. # -DCK_POSIX_SIG (POSIX signal handling) is good for Linux releases back to at
  4458. # least 0.99.14; if it causes trouble for you, just remove it.
  4459. #
  4460. # -DCK_CURSES: Here we link with the regular curses library.  But you should
  4461. # be using ncurses.  Internally, the ckuusx.c module includes <curses.h>, but
  4462. # this really should be <ncurses.h>.  Thus if you have the new curses
  4463. # material, you should either install it with the standard names, or else
  4464. # create symbolic links from the standard names to the new ones.  If you get
  4465. # compile-time errors complaining about data definitions in termcap.h, it
  4466. # means you have new kernel material mixed with older libc header files.  To
  4467. # fix, add "#include <termios.h>" to the <termcap.h> file.  Or if all this is
  4468. # too confusing, create a new makefile entry based on this one, but with
  4469. # -DCK_CURSES removed from CFLAGS and the entire LIBS= clause removed.
  4470. #
  4471. # But wait, there's more.  On most Linux systems, -ltermcap must be included
  4472. # in LIBS.  But on others, the linker complains that libtermcap can't be
  4473. # found.  In that case, try removing -ltermcap from LIBS=.
  4474. #
  4475. # But wait, there's more.  The format of the PID string in the UUCP lockfile
  4476. # changed between Linux FSSTND 1.0 and 1.2.  In the earlier standard, it had
  4477. # leading zeros; in the second, it has leading spaces.  By default this entry
  4478. # uses the newer standard.  To force the older one, add -DFSSTND10.
  4479. #
  4480. # "The nice thing about the Linux standard is there are so many to choose from"
  4481. #
  4482. # NOTE: Remove -DBIGBUFOK for small-memory or limited-resource systems.
  4483. linux10:
  4484.     @echo 'Making C-Kermit $(CKVER) for Linux 1.0 or earlier...'
  4485.     @echo 'IMPORTANT: Read the comments in the linux section of the'
  4486.     @echo 'makefile if you get compilation or link errors.'
  4487.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4488.     "CFLAGS = -O -DPOSIX -DCK_CURSES -DCK_POSIX_SIG -DLINUX \
  4489.     -DTCPSOCKET -DLINUXFSSTND -DOLINUXHISPEED $(KFLAGS)" \
  4490.     "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
  4491.  
  4492. #This version was used for Linux prior to C-Kermit 6.0.192.
  4493. #Now the "Linux File System Standard" is considered standard, ditto TCP/IP.
  4494. linuxold:
  4495.     @echo 'Making C-Kermit $(CKVER) for Linux...'
  4496.     @echo 'For FSSTND-recommended UUCP lockfiles, use:'
  4497.     @echo '  make linux "KFLAGS=-DLINUXFSSTND".'
  4498.     @echo 'Read comments in makefile for additional options.'
  4499.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4500.     "CFLAGS = -O -DLINUX -DPOSIX -DCK_CURSES -DCK_POSIX_SIG \
  4501.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
  4502.  
  4503. # LynxOS 2.2 with GCC compiler, TCP/IP and fullscreen display.
  4504. # Probably also works with Lynx 2.1, and maybe even Lynx 2.0.
  4505. # -X means use termios serial drivers rather than BSD4.3-style sgtty drivers.
  4506. # If you have trouble with this, try "make bsd KFLAGS=-DNOFDZERO".
  4507. lynx:
  4508.     @echo 'Making C-Kermit $(CKVER) for LynxOS 2.2 with TCP/IP'
  4509.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4510.     "CFLAGS= -O -DPOSIX -DDIRENT -DSETREUID -DCK_CURSES -DTCPSOCKET \
  4511.     -DCK_ANSIC -DLYNXOS" "LNKFLAGS = -X" "LIBS = -lcurses -lbsd"
  4512.  
  4513. lynx22:
  4514.     $(MAKE) lynx KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
  4515.  
  4516. # LynxOS 2.1 with GCC compiler 1.40 and TCP/IP.
  4517. lynx21:
  4518.     @echo 'Making C-Kermit $(CKVER) for LynxOS 2.1 with TCP/IP'
  4519.     $(MAKE) kermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4520.     "CFLAGS= -O -DSETREUID -DTCPSOCKET -DCK_ANSIC -DBSD4 -DLYNXOS" \
  4521.     "LIBS = -lbsd"
  4522.  
  4523. #SCO Xenix 2.2.1 for IBM PC, XT, PS2/30, or other 8088 or 8086 machine
  4524. #Should this not work, try some of the tricks from sco286.
  4525. #NOTE: -DRENAME is omitted for early SCO Xenix releases because it didn't
  4526. #exist, or its semantics were different from the later POSIX-compliant
  4527. #version of rename().
  4528. sco86:
  4529.     @echo 'Making C-Kermit $(CKVER) for SCO Xenix/86...'
  4530.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4531.     "CFLAGS= -DXENIX -DNOFILEH -DNOIKSD -DNOUNICODE \
  4532.     $(KFLAGS) -Dunix -F 3000 -i -M0me" \
  4533.     "LNKFLAGS = -F 3000 -i -s -M0me" "LIBS = -lx"
  4534.  
  4535. #SCO Xenix/286 2.2.1, e.g. for IBM PC/AT, PS/2 Model 50, etc.
  4536. #Reportedly, this "make" can fail simply because of the size of this
  4537. #makefile.  If that happens, use "makeL", or edit out some of the
  4538. #other entries.  No debugging or character-set translation.
  4539. sco286:
  4540.     @echo 'Making C-Kermit $(CKVER) for SCO Xenix/286...'
  4541.     @echo 'If make fails, try using makeL.'
  4542.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4543.     "CFLAGS= -xenix -s -O -LARGE -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP \
  4544.     -DNOIKSD -DNODEBUG -DNOTLOG -DNOCSETS \
  4545.     $(KFLAGS) -F 3000 -i -M2let16" \
  4546.     "LIBS = -lx" "LNKFLAGS = -xenix -s -O -LARGE -F 3000 -i -M2let16"
  4547.  
  4548. #SCO Xenix/286 2.2.1, e.g. for IBM PC/AT, PS/2 Model 50, etc.
  4549. #As above, but with HDBUUCP (This one might need fixing -- see sco286).
  4550. sco286hdb:
  4551.     @echo 'Making C-Kermit $(CKVER) for SCO Xenix/286 with HDB UUCP...'
  4552.     @echo 'If make fails, try using makeL.'
  4553.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4554.     "CFLAGS= -s -O -LARGE -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP \
  4555.     -DHDBUUCP -DNOIKSD -DNOUNICODE $(KFLAGS) -F 3000 -i -M2let32" \
  4556.     "LIBS = -lx" "LNKFLAGS = -s -O -LARGE -F 3000 -i -M2let32"
  4557.  
  4558. #SCO Xenix/386 2.2.2 and 2.2.3
  4559. sco386:
  4560.     @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.2.2...'
  4561.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4562.     "CFLAGS= -DXENIX -DNOFILEH -DNOIKSD -DNOREDIRECT \
  4563.     -Dunix -DRDCHK -DNAP -DNOUNICODE $(KFLAGS) -Otcl -M3e" \
  4564.     "LNKFLAGS = -s" "LIBS = -lx"
  4565.  
  4566. #SCO XENIX/386 2.2.3 with Excelan TCP/IP + curses.
  4567. # NOTE: This one might need some work in C-Kermit 6.0.
  4568. # You might need to include /usr/include/sys/types.h
  4569. # containing "typedef char *caddr_t;".  Then at least it compiles.
  4570. sco386netc:
  4571.     @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.2.3 + Excelan TCP'
  4572.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4573.     "CFLAGS= -I/usr/include/exos -DXENIX -DCK_CURSES -DNOUNICODE \
  4574.     -Dunix -DRDCHK -DNAP -DTCPSOCKET -DEXCELAN -DNOJC -DNOMKDIR -DNOFILEH \
  4575.     -DNOREDIRECT -DNOIKSD -DNO_DNS_SRV $(KFLAGS) -Otcl -M3e" \
  4576.     "LNKFLAGS = -s" "LIBS = -lc -lx -lsocket -lcurses -ltermcap"
  4577.  
  4578. #SCO XENIX/386 2.3.3 with gcc 1.37 or later...
  4579. sco386gcc:
  4580.     @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.3.3, gcc...'
  4581.     @echo 'Add -D_NO_PROTOTYPE if you have trouble with Xenix header files'
  4582.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4583.     "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
  4584.     -DNOJC -DNODEBUG -DNOUNICODE $(KFLAGS) \
  4585.     -traditional -fpcc-struct-return -fstrength-reduce \
  4586.     -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
  4587.     -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
  4588.     -DM_SYSIII -DM_SYSV -DM_WORDSWAP -DM_XENIX -DNOIKSD -DNOREDIRECT \
  4589.     -DPWID_T=int " "LNKFLAGS = -s" "LIBS = -lx"
  4590.  
  4591. #As above, but with curses...
  4592. sco386gccc:
  4593.     @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.3.3, gcc...'
  4594.     @echo 'Add -D_NO_PROTOTYPE if you have trouble with Xenix header files'
  4595.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4596.     "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
  4597.     -DNOJC -DNODEBUG -DCK_CURSES -DNOUNICODE $(KFLAGS) \
  4598.     -traditional -fpcc-struct-return -fstrength-reduce \
  4599.     -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DNOREDIRECT \
  4600.     -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
  4601.     -DM_SYSIII -DM_SYSV -DM_WORDSWAP -DM_XENIX -DNOIKSD \
  4602.     -DPWID_T=int " "LNKFLAGS = -s" "LIBS = -lx -lcurses -ltermlib"
  4603.  
  4604. #SCO UNIX (and ODT) entries...
  4605. #
  4606. #NOTE: All SCO UNIX entry LIBS should have "-lc_s -lc -lx" IN THAT ORDER (if
  4607. #shared C library is desired), or else "-lc -lx" IN THAT ORDER.  Use shared C
  4608. #libraries to save memory, but then don't expect to run the resulting binary
  4609. #on a different machine.  When using -lc_s, you must also use -lc, because the
  4610. #shared C library does not contain all of libc.a.  And in all cases, -lc must
  4611. #ALWAYS precede -lx.
  4612. #
  4613. #ANOTHER NOTE: -DRENAME is included in all SCO UNIX entries.  Remove it if it
  4614. #causes trouble.  No harm is done by removing it (see ckuins.txt).
  4615. #
  4616. #AND ANOTHER: In theory, it should be possible to run SCO UNIX binaries on
  4617. #SCO Xenix 2.3 and later.  In practice, this might not work because of the
  4618. #libraries, etc.  Also, don't add the -link -z switch (which is supposed to
  4619. #root out references to null pointers) because it makes UNIX binaries core
  4620. #dump when they are run under Xenix.
  4621.  
  4622. #NOTE: -Otcl removed and replaced by -O, since -Otcl produced incorrect code.
  4623. #SCO UNIX/386 3.2.0, 3.2.1, and SCO Xenix 2.3.x
  4624. sco3r2:
  4625.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2.0 or 3.2.1 ...'
  4626.     @echo 'Warning: If make blows up, edit the makefile to join'
  4627.     @echo 'the following three continued lines into one line.'
  4628.     @echo 'Also, remove -DRENAME if _rename unresolved at link time.'
  4629.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4630.     "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
  4631.     -DRENAME -DNOIKSD -DNOJC $(KFLAGS) -O" \
  4632.     "LNKFLAGS = -s" "LIBS = -lc -lx"
  4633.  
  4634. #SCO UNIX/386 3.2.0 and SCO Xenix 2.3.x with Excelan TCP/IP support.
  4635. #In case of compilation or runtime problems, try adding
  4636. #"-DUID_T=int -DGID_T=int" to the CFLAGS.  If that doesn't work, try
  4637. #"-DUID_T=uid_t -DGID_T=gid_t".
  4638. sco3r2net:
  4639.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Excelan...'
  4640.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4641.     "CFLAGS= -I/usr/include/exos -DXENIX -DSVR3 -DNOFILEH \
  4642.     -DHDBUUCP -DRDCHK -DNAP -DRENAME -DTCPSOCKET -DEXCELAN -DNOJC \
  4643.     -DNOIKSD -DNOREDIRECT $(KFLAGS) -O" \
  4644.     "LNKFLAGS = -s" "LIBS = -lc -lx -lsocket"
  4645.  
  4646. #SCO UNIX/386 3.2.0 and SCO Xenix 2.3.x with Excelan TCP/IP support.
  4647. #As above, with curses added.
  4648. sco3r2netc:
  4649.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Excelan / curses...'
  4650.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4651.     "CFLAGS= -I/usr/include/exos -DXENIX -DSVR3 -DNOFILEH \
  4652.     -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET -DEXCELAN -DNOJC $(KFLAGS) \
  4653.     -DRENAME -DCK_CURSES -DNOREDIRECT -DNOIKSD -O" "LNKFLAGS = -s" \
  4654.     "LIBS = -lc -lx -lsocket -lcurses -ltermcap"
  4655.  
  4656. #SCO UNIX 3.2.x or SCO Xenix 2.3.x with Racal InterLan TCP/IP support
  4657. # Extra compile flags for other version of Racal InterLan TCP/IP:
  4658. # Xenix286/NP621-286, use -Ml -DPARAMH -DINTERLAN -Di286 -DSYSV
  4659. # Xenix386/NP621-386, use -DPARAMH -DINTERLAN -Di386 -DSYSV
  4660. # ISC386ix/NP622I, use -DSYSV -Di386
  4661. # SCO Unix3.2/NP622S, use -DSYSV -Di386 -DSCO_UNIX
  4662. # AT&T SVR3.2/NP622A, use -DSYSV -Di386 -DATT
  4663. sco3r2netri:
  4664.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Racal InterLan...'
  4665.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4666.     "CFLAGS= -I/usr/include/interlan -DXENIX -DNOFILEH -DHDBUUCP \
  4667.     -DSVR3 -DRDCHK -DNAP -DTCPSOCKET -DPARAMH -DINTERLAN -Di386 -DSYSV \
  4668.     -DRENAME -DNOREDIRECT -DNOIKSD -DNOJC $(KFLAGS) -Otcl -M3e" \
  4669.     "LNKFLAGS = -s" "LIBS = -lc -lx -ltcp"
  4670.  
  4671. # SCO XENIX/386 2.3.3 SysV with SCO TCP/IP
  4672. # System V STREAMS TCP developed by Lachman Associates Inc and
  4673. # Convergent Technologies.
  4674. # -DRENAME removed since some reports indicate it is not supported
  4675. # (whereas others say it is.)
  4676. sco3r2lai:
  4677.     @echo 'Making C-Kermit $(CKVER) for SCO XENIX/386 2.3.3 + TCP/IP...'
  4678.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4679.     "CFLAGS= -DLAI_TCP -Di386 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
  4680.     -DNAP -DTCPSOCKET -DPWID_T=int -DNOREDIRECT -DNOIKSD $(KFLAGS) \
  4681.     -Otcl -i -M3e" \
  4682.     "LNKFLAGS = -i -s" "LIBS = -lc -lx -lsocket"
  4683.  
  4684. sco3r2laic:
  4685.     @echo 'Making C-Kermit $(CKVER) for SCO XENIX/386 2.3.3 + TCP/IP...'
  4686.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4687.     "CFLAGS= -DLAI_TCP -Di386 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
  4688.     -DNAP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES -DM_TERMINFO \
  4689.     -DPWID_T=int -DNOREDIRECT -DNOIKSD $(KFLAGS) -Otcl -i -M3e" \
  4690.     "LNKFLAGS = -i -s" "LIBS = -ltinfo -lc -lx -lsocket"
  4691.  
  4692. #SCO UNIX/386 3.2v2 (POSIX job control), shared libraries.
  4693. sco3r22:
  4694.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 ...'
  4695.     make wermit KTARGET=$${KTARGET:-$(@)} \
  4696.     "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
  4697.     -DNAP -DRENAME -DPID_T=pid_t -DPWID_T=int -DDIRENT -DNOIKSD \
  4698.     -DNOREDIRECT $(KFLAGS) -O" \
  4699.     "LNKFLAGS = -s" "LIBS = -lc_s -lc -lx"
  4700.  
  4701. #SCO UNIX/386 3.2v2, POSIX job control, fullscreen file transfer display,
  4702. #dynamic memory allocation, shared C library
  4703. sco3r22c:
  4704.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 ...'
  4705.     @echo 'Warning: If make blows up, edit the makefile to join'
  4706.     @echo 'the following four continued lines into one line.'
  4707.     make wermit KTARGET=$${KTARGET:-$(@)} \
  4708.     "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
  4709.     -DCK_CURSES -DDIRENT -DRENAME -DNOREDIRECT -DNOIKSD \
  4710.     -DPID_T=pid_t -DPWID_T=int $(KFLAGS) -O" \
  4711.     "LNKFLAGS = -s" "LIBS = -lcurses -lc_s -lc -lx"
  4712.  
  4713. #SCO UNIX/386 3.2v2 with gcc 1.40 or later (POSIX job control)
  4714. sco3r22gcc:
  4715.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2, gcc'
  4716.     @echo 'Warning: If make blows up, edit the makefile to join'
  4717.     @echo 'the following seven continued lines into one line.'
  4718.     make wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" \
  4719.     "CFLAGS= -O -DPOSIX -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
  4720.     -DRENAME -traditional -fpcc-struct-return -fstrength-reduce \
  4721.     -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
  4722.     -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
  4723.     -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
  4724.     -DPID_T=pid_t -DPWID_T=int -DNOREDIRECT -DNOIKSD $(KFLAGS) " \
  4725.     "LNKFLAGS = -s" "LIBS = -lc_s -lc -lx"
  4726.  
  4727. #SCO UNIX/386 3.2v2 (ODT 1.1) (POSIX job control) with SCO TCP/IP, shared libs
  4728. #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
  4729. sco3r22net:
  4730.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2.2 + TCP/IP...'
  4731.     @echo 'Warning: If make blows up, edit the makefile to join'
  4732.     @echo 'the following three continued lines into one line.'
  4733.     make xermit KTARGET=$${KTARGET:-$(@)} \
  4734.     "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET \
  4735.     -DRENAME -DPID_T=pid_t -DPWID_T=int -DDIRENT -DNOREDIRECT -DNOIKSD \
  4736.     $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lsocket -lc_s -lc -lx"
  4737.  
  4738. #As above, but with curses for fullscreen file transfer display.
  4739. #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
  4740. sco3r22netc:
  4741.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 + TCP/IP...'
  4742.     @echo 'Warning: If make blows up, edit the makefile to join'
  4743.     @echo 'the following three continued lines into one line.'
  4744.     make xermit KTARGET=$${KTARGET:-$(@)} "CFLAGS= \
  4745.     -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET -DRENAME \
  4746.     -DCK_CURSES -DDIRENT -DNOIKSD -DNOREDIRECT \
  4747.     -DPID_T=pid_t -DPWID_T=int -O $(KFLAGS)" \
  4748.     "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
  4749.  
  4750. #SCO XENIX 2.3.4, no curses, no TCP/IP, no IKSD.
  4751. #This one built and tested in C-Kermit 7.0.
  4752. #lcfp is C library floating-point support.
  4753. #Use -M3 to generate 32-bit i386 code instead of 16-bit segmented i286 code.
  4754. #Use -Me to enable MS nonstandard keywords in system headers.
  4755. #Use -W2 or W3 to increase the warning level.
  4756. sco234:
  4757.     @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4...'
  4758.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4759.     "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK \
  4760.     -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
  4761.     -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DSCO234 -DDCLGETCWD $(KFLAGS) \
  4762.     -Otcl" "LNKFLAGS = -s" "LIBS = -lcfp -lc -lx"
  4763.  
  4764. #SCO XENIX 2.3.4, no TCP/IP, no IKSD, but with curses.
  4765. #This one built and tested in C-Kermit 7.0 but curses itself not tested.
  4766. #Note: XENIX 2.3.4 does not have newterm() so no point in adding -DCK_NEWTERM.
  4767. sco234c:
  4768.     @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4 + curses...'
  4769.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4770.     "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK \
  4771.     -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
  4772.     -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DM_TERMCAP -DCK_CURSES -DSCO234 \
  4773.     -DDCLGETCWD $(KFLAGS) -Otcl" \
  4774.     "LNKFLAGS = -s" "LIBS = -lcfp -lc -lx -lcurses -ltermlib"
  4775.  
  4776. #SCO XENIX 2.3.4 with SCO TCP/IP and curses, no IKSD.
  4777. sco234netc:
  4778.     @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4 + TCP + curses...'
  4779.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4780.     "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK \
  4781.     -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
  4782.     -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DM_TERMCAP -DCK_CURSES -DSCO234 \
  4783.     -DDCLGETCWD -DTCPSOCKET $(KFLAGS) -Otcl" \
  4784.     "LNKFLAGS = -s" \
  4785.     "LIBS = -lcurses -ltermlib -lsocket -lmalloc -lcfp -lc -lx"
  4786.  
  4787. #  NOTE: Add -DDCLPOPEN and/or -DDCLFDOPEN to anySCO 3.2v4.x non-gcc entries
  4788. #  that complain about fdopen() or popen() at compile time.  They compile OK
  4789. #  without these flags as of July 1999.  However, the gcc entries seem to
  4790. #  need them, at least for gcc 2.7.2.2.
  4791.  
  4792. #  NOTE 2: To enable IKSD support, add:
  4793. #  -DCK_LOGIN -DNOGETUSERSHELL -DNOINITGROUPS
  4794. #  to CFLAGS (not tested).
  4795.  
  4796. #SCO UNIX/386 3.2v4 (POSIX job control), curses, ANSI C compilation,
  4797. #<dirent.h> (EAFS) file system.  Remove -lmalloc if it causes trouble.  It was
  4798. #put there to avoid core dumps caused by regular libc.a malloc.  Add -J to make
  4799. #all chars unsigned.  This version uses select() for CONNECT and also has
  4800. #high-precision timers and so might not work on non-TCP systems, in which case
  4801. #sco32v4ns should be used instead.
  4802. # If you get _ftime redefinition_ complaint, try adding -DODT30 to CFLAGS.
  4803. sco32v4:
  4804.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
  4805.     make xermit KTARGET=$${KTARGET:-$(@)} \
  4806.     "CFLAGS= -DCK_SCO32V4 -DNOFILEH -DHDBUUCP -DCK_CURSES -DM_TERMINFO \
  4807.     -DNOANSI -DSELECT -DNOIKSD -DDCLGETCWD -NOLSTAT \
  4808.     -DNOLINKBITS -DDCLGETCWD $(KFLAGS) -O" \
  4809.     "LNKFLAGS = -s" "LIBS = -lcurses -lmalloc -lsocket -lc_s -lc -lx"
  4810.  
  4811. # As above, but with no dependence on sockets library or select().
  4812. sco32v4ns:
  4813.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
  4814.     @echo 'No select() and no sockets library.'
  4815.     make wermit KTARGET=$${KTARGET:-$(@)} \
  4816.     "CFLAGS= -DCK_SCO32V4 -DNOFILEH -DHDBUUCP -DCK_CURSES -DM_TERMINFO \
  4817.     -DNOANSI -DNOIKSD -DNOGFTIMER -DCK_POLL -DNAP -DDCLGETCWD -DNOLSTAT \
  4818.     -DNOLINKBITS -DDCLGETCWD -O $(KFLAGS)" \
  4819.     "LNKFLAGS = -s" "LIBS = -lcurses -lmalloc -lc_s -lc -lx"
  4820.  
  4821. #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
  4822. #<dirent.h> (EAFS) file system.  With DIRENT, -lc must come before -lx.
  4823. #Reportedly it's OK to add -DCK_REDIR and -DCK_WREFRESH, and to remove -lc_s.
  4824. #Requires SCO TCP/IP development system or ODT for telnet.h, etc.
  4825. #See sco32v4 above for additional comments.
  4826. #NOTE: No more room for -Dxxx -- 25 seems to be the limit.  Move some to
  4827. #ckcdeb.h or somewhere...
  4828. sco32v4net:
  4829.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
  4830.     @echo 'If you get _ftime redefinition_ complaint,'
  4831.     @echo 'use make sco-odt30.'
  4832.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4833.     "CFLAGS= -DNOFILEH -DHDBUUCP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES \
  4834.     -DNAP -DCK_WREFRESH -DNOLINKBITS -D_IBCS2 -DSELECT -DNOLSTAT \
  4835.     -DDCLGETCWD -DCK_SCO32V4 -DNOIKSD -O \
  4836.     $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS) -s" \
  4837.     "LIBS = $(LIBS) -lcurses -lsocket -lmalloc -lsocket -lc_s -lc -lx"
  4838.  
  4839. #SCO UNIX/386 3.2v4 with gcc 1.40 or later, POSIX job control.
  4840. #Also see comments in sco32r4 entry.
  4841. sco32v4gcc:
  4842.     make xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" \
  4843.     "CFLAGS= -O -DNOFILEH -DHDBUUCP -DNOANSI -DCK_CURSES -DM_TERMINFO \
  4844.     -traditional -fpcc-struct-return -fstrength-reduce -funsigned-char \
  4845.     -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLINKBITS \
  4846.     -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DSELECT -DNOLSTAT \
  4847.     -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 -DDCLGETCWD \
  4848.     -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
  4849.     -DDCLPOPEN -DDCLFDOPEN $(KFLAGS) " \
  4850.     "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
  4851.  
  4852. #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
  4853. #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
  4854. #<dirent.h> (EAFS) file system.  With DIRENT, -lc must come before -lx.
  4855. #gcc 1.40 or later.  Also see comments in sco32r4 entry.
  4856. sco32v4netgcc:
  4857.     make xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2=gcc" \
  4858.     "CFLAGS= -O2 -DNOFILEH -DHDBUUCP -DSELECT -DNOLSTAT \
  4859.     -DNOANSI -DTCPSOCKET -DCK_CURSES -DM_TERMINFO \
  4860.     -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLINKBITS \
  4861.     -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DDCLGETCWD \
  4862.     -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
  4863.     -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
  4864.     -DDCLPOPEN -DDCLFDOPEN $(KFLAGS)" \
  4865.     "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
  4866.  
  4867. #As above but with bgcc BOUNDS CHECKING (for developers only).  -lcheck has
  4868. #bounds-checking replacements for malloc, memcpy, bcopy, etc, so must come
  4869. #before -lsocket and -lc.
  4870. sco32v4netbgcc:
  4871.     make xermit KTARGET=$${KTARGET:-$(@)} \
  4872.     "CC = bgcc -pipe -m386" "CC2=bgcc -pipe -m386" \
  4873.     "CFLAGS= -O1 -g -DNOFILEH -DHDBUUCP -DSELECT \
  4874.     -DNOANSI -DTCPSOCKET -DCK_CURSES -DM_TERMINFO \
  4875.     -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLSTAT \
  4876.     -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DNOLINKBITS \
  4877.     -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 -DDCLGETCWD \
  4878.     -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
  4879.     -DDCLPOPEN -DDCLFDOPEN $(KFLAGS) " \
  4880.     "LNKFLAGS = -g" "LIBS = -lcurses -lcheck -lsocket -lx"
  4881.  
  4882. sco32v4netnd:
  4883.     @echo sco32v4net with no debug
  4884.     $(MAKE) "MAKE=$(MAKE)" sco32v4net KTARGET=$${KTARGET:-$(@)} \
  4885.     "KFLAGS=$(KFLAGS) -DNODEBUG -DNOTLOG" "LIBS=$(LIBS)"
  4886.  
  4887. sco3r2netnd:
  4888.     @echo sco32v4netnd built for SCO XENIX 2.3 under SCO UNIX...
  4889.     @echo   requires copying /lib/386/Slibc.a to /lib/386/Slibc_s.a and
  4890.     @echo   getting /lib/386/Slibsocket.a from a XENIX devkit.
  4891.     @echo   WARNING: poll/CK_POLL supported only on XENIX 2.3.4
  4892.     echo    For earlier XENIX systems, replace CK_POLL with RDCHK.
  4893.     $(MAKE) "MAKE=$(MAKE)" sco32v4netnd KTARGET=$${KTARGET:-$(@)} \
  4894.     "KFLAGS=$(KFLAGS) -x2.3 -DNORENAME -DNOSYMLINK" \
  4895.     "LNKFLAGS = $(LNKFLAGS) -x2.3" \
  4896.     "LIBS=-ldir -lcfp $(LIBS)"
  4897.  
  4898. #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
  4899. #<dirent.h> (EAFS) file system.  With DIRENT, -lc must come before -lx.
  4900. #Reportedly it's OK to add -DCK_REDIR and -DCK_WREFRESH, and to remove -lc_s.
  4901. #Requires SCO TCP/IP development system or ODT for telnet.h, etc.
  4902. #See sco32v4 above for additional comments.
  4903. # Note: "xermit" means use the select() version of the CONNECT module.
  4904. sco32v4netx:
  4905.     @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
  4906.     @echo 'If you get _ftime redefinition_ complaint,'
  4907.     @echo 'use make sco-odt30.'
  4908.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4909.     "CFLAGS= -DNOFILEH -DHDBUUCP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES -DNAP \
  4910.     -DCK_WREFRESH -DNOLINKBITS -D_IBCS2 -DSELECT -DDCLGETCWD \
  4911.     -DCK_SCO32V4 -DNOIKSD -DNOLSTAT -O $(KFLAGS)" \
  4912.     "LNKFLAGS = $(LNKFLAGS) -s" \
  4913.     "LIBS = $(LIBS) -lcurses -lsocket -lmalloc -lsocket -lc_s -lc -lx"
  4914.  
  4915. sco32v4netndx:
  4916.     @echo sco32v4netx with no debug
  4917.     $(MAKE) "MAKE=$(MAKE)" sco32v4netx KTARGET=$${KTARGET:-$(@)} \
  4918.     "KFLAGS=$(KFLAGS) -DNODEBUG -DNOTLOG" "LIBS=$(LIBS)"
  4919.  
  4920. sco3r2netndx:
  4921.     @echo sco32v4netndx built for SCO XENIX 2.3 under SCO UNIX...
  4922.     @echo   requires copying /lib/386/Slibc.a to /lib/386/Slibc_s.a and
  4923.     @echo   getting /lib/386/Slibsocket.a from a XENIX devkit.
  4924.     @echo   WARNING: poll/CK_POLL supported only on XENIX 2.3.4
  4925.     echo    For earlier XENIX systems, replace CK_POLL with RDCHK.
  4926.     $(MAKE) "MAKE=$(MAKE)" sco32v4netndx KTARGET=$${KTARGET:-$(@)} \
  4927.     "KFLAGS=$(KFLAGS) -x2.3 -DNORENAME -DNOSYMLINK" \
  4928.     "LNKFLAGS = $(LNKFLAGS) -x2.3" \
  4929.     "LIBS=-ldir -lcfp $(LIBS)"
  4930.  
  4931. sco-odt30:
  4932.     @echo SCO ODT 3.0
  4933.     $(MAKE) "MAKE=$(MAKE)" sco32v4net KTARGET=$${KTARGET:-$(@)} \
  4934.     "KFLAGS=$(KFLAGS) -DODT30"
  4935.  
  4936. #SCO OpenServer 5.0 (SCO UNIX 3.2v5.0) with SCO development tools, no TCP/IP.
  4937. #SCO OSR5 is much more like standard System V than previous SCO releases.
  4938. #The SCO development tools include TCP/IP, so this target is only for creating
  4939. #artificially limited versions of kermit required by site policy rather than
  4940. #the operating system.  NOSYSLOG is included because syslog() requires the
  4941. #sockets library.
  4942. sco32v500:
  4943.     @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5...
  4944.     $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
  4945.     "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
  4946.     -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
  4947.     -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DNOSYSLOG $(KFLAGS)" \
  4948.     "LIBS=-lcurses $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
  4949.  
  4950. #SCO OpenServer 5.0 with networking, SCO development tools.
  4951. #Networking libraries are now provided with the OS.
  4952. sco32v500net:
  4953.     @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5...
  4954.     $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
  4955.     "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
  4956.     -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
  4957.     -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DTCPSOCKET $(KFLAGS)" \
  4958.     "LIBS=-lcurses -lsocket $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
  4959.  
  4960. #SCO OpenServer 5.0 with gcc, no networking.
  4961. #Note: NOSYSLOG required for non-net entries because it requires <socket.h>
  4962. sco32v500gcc:
  4963.     @echo Using gcc...
  4964.     $(MAKE) "MAKE=$(MAKE)" sco32v5 CC=gcc CC2=gcc \
  4965.     KTARGET=$${KTARGET:-$(@)} "KFLAGS= $(KFLAGS)"
  4966.  
  4967. #SCO OpenServer 5.0 with networking, gcc.
  4968. sco32v500netgcc:
  4969.     @echo TCP/IP networking added - using gcc...
  4970.     $(MAKE) "MAKE=$(MAKE)" sco32v5net CC=gcc CC2=gcc \
  4971.     KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
  4972.  
  4973. #SCO OpenServer 5.0 with networking, gcc, elf.
  4974. sco32v500netgccelf:
  4975.     @echo TCP/IP networking added - using gcc, dynamic elf library
  4976.     $(MAKE) "MAKE=$(MAKE)" sco32v5net "CC=gcc" "CC2=gcc" \
  4977.     KTARGET=$${KTARGET:-$(@)} "KFLAGS=-O3 -belf" "LNKFLAGS=-belf"
  4978.  
  4979. #SCO OpenServer 5.0.4 (SCO UNIX 3.2v5.0.4) with SCO development tools.
  4980. #Like 5.0, but adds high serial speeds.  First POSIX-based SCO version.
  4981. sco32v504:
  4982.     $(MAKE) "MAKE=$(MAKE)" sco32v5 KTARGET=$${KTARGET:-$(@)} \
  4983.     "KFLAGS=-DSCO_OSR504 -b elf -DPOSIX $(KFLAGS)"
  4984.  
  4985. #SCO OpenServer 5.0.4 with gcc, no networking.
  4986. sco32v504gcc:
  4987.     @echo Using gcc...
  4988.     $(MAKE) "MAKE=$(MAKE)" sco32v5 "CC=gcc" "CC2=gcc" \
  4989.     KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DSCO_OSR504 -DPOSIX $(KFLAGS)"
  4990.  
  4991. #SCO OpenServer 5.0.4 with networking, SCO development tools.
  4992. sco32v504net:
  4993.     @echo TCP/IP networking added...
  4994.     $(MAKE) "MAKE=$(MAKE)" sco32v5net KTARGET=$${KTARGET:-$(@)} \
  4995.     "KFLAGS=-b elf -DSCO_OSR504 -DPOSIX $(KFLAGS)"
  4996.  
  4997. #SCO OpenServer 5.0.4 with networking, gcc.
  4998. sco32v504netgcc:
  4999.     @echo TCP/IP networking added - using gcc...
  5000.     @echo If gcc crashes on ckwart.c then build it by hand:
  5001.     @echo " gcc -o wart -DCK_SCOV5 ckwart.c"
  5002.     $(MAKE) "MAKE=$(MAKE)" sco32v5net "CC=gcc" "CC2=gcc" \
  5003.     KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DSCO_OSR504 -DPOSIX $(KFLAGS)"
  5004.  
  5005. #SCO OpenServer 5.0.4 with networking, gcc, elf.
  5006. sco32v504netgccelf:
  5007.     @echo TCP/IP networking added - using gcc, dynamic elf library
  5008.     $(MAKE) "MAKE=$(MAKE)" sco32v5net "CC=gcc" "CC2=gcc"
  5009.     KTARGET=$${KTARGET:-$(@)} \
  5010.     "KFLAGS=-DSCO_OSR504 -DPOSIX -O3 -belf $(KFLAGS)" \
  5011.     LNKFLAGS="-belf"
  5012.  
  5013. #SCO OpenServer 5.0.5 (SCO UNIX 3.2v5.0.5) with SCO development tools.
  5014. #Like 5.0, but adds high serial speeds.  First POSIX-based SCO version.
  5015. sco32v505:
  5016.     $(MAKE) "MAKE=$(MAKE)" sco32v5 KTARGET=$${KTARGET:-$(@)} \
  5017.     "KFLAGS=-DSCO_OSR505 -b elf -DPOSIX $(KFLAGS)"
  5018.  
  5019. #SCO OpenServer 5.0.5 (SCO UNIX 3.2v5.0.5) with UDK.
  5020. sco32v505udk:
  5021.     $(MAKE) "MAKE=$(MAKE)" sco32v5 KTARGET=$${KTARGET:-$(@)} \
  5022.     "KFLAGS=-DSCO_OSR505 -DDCLTIMEVAL -b elf -DPOSIX $(KFLAGS)"
  5023.  
  5024. #SCO OpenServer 5.0.5 with gcc, no networking.
  5025. sco32v505gcc:
  5026.     @echo Using gcc...
  5027.     $(MAKE) "MAKE=$(MAKE)" sco32v5 "CC=gcc" "CC2=gcc" \
  5028.     KTARGET=$${KTARGET:-$(@)} \
  5029.     "KFLAGS=-DSCO_OSR505 -DPOSIX -funsigned-char $(KFLAGS)"
  5030.  
  5031. #SCO OpenServer 5.0.5 with networking, SCO development tools.
  5032. sco32v505net:
  5033.     @echo TCP/IP networking added...
  5034.     $(MAKE) "MAKE=$(MAKE)" sco32v5net KTARGET=$${KTARGET:-$(@)} \
  5035.     "KFLAGS=-DSCO_OSR505 -b elf -DPOSIX $(KFLAGS)"
  5036.  
  5037. #SCO OpenServer 5.0.5 with networking, gcc.
  5038. sco32v505netgcc:
  5039.     @echo TCP/IP networking added - using gcc...
  5040.     @echo If gcc crashes on ckwart.c then build it by hand:
  5041.     @echo " gcc -o wart -DCK_SCOV5 ckwart.c"
  5042.     $(MAKE) "MAKE=$(MAKE)" sco32v5net "CC=gcc" "CC2=gcc" \
  5043.     KTARGET=$${KTARGET:-$(@)} \
  5044.     "KFLAGS=-DSCO_OSR505 -DPOSIX -funsigned-char $(KFLAGS)"
  5045.  
  5046. #egcs is just like gcc but generates ELF by default.
  5047. #Or you can include -melf (not -belf) to force it.
  5048. sco32v505netegcs:
  5049.     $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sco32v505netgcc \
  5050.     KTARGET=$${KTARGET:-$(@)}
  5051.  
  5052. #SCO OpenServer 5.0.5 with networking, gcc, elf.
  5053. sco32v505netgccelf:
  5054.     @echo TCP/IP networking added - using gcc, dynamic elf library
  5055.     $(MAKE) "MAKE=$(MAKE)" sco32v5net "CC=gcc" "CC2=gcc"
  5056.     "KFLAGS=-DSCO_OSR505 -DPOSIX -funsigned-char -O3 -belf $(KFLAGS)" \
  5057.     KTARGET=$${KTARGET:-$(@)} LNKFLAGS="-belf"
  5058.  
  5059. #Tandy 16/6000 with Xenix 3.0
  5060. #Add more -DNOxxx options to remove features if program won't load.
  5061. #Successful operation is a function of program size, physical memory,
  5062. #available swap space, etc.  The following stripped-down configuration
  5063. #seems to work on most Tandy 6000s.  NOTE: "-+" means allow long variable
  5064. #names, needed for C-Kermit 6.0 because some identifiers are not unique
  5065. #within the first six characters.
  5066. trs16:
  5067.     @echo 'Making C-Kermit $(CKVER) for Tandy 16/6000, Xenix 3.0...'
  5068.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  5069.     "CFLAGS = -+ -DATTSV -DTRS16 -DNOMKDIR -DDCLPOPEN -DCK_CURSES \
  5070.     -DNODEBUG -DNOTLOG -DNOHELP -DNOSCRIPT -DNOCSETS \
  5071.     $(KFLAGS) -O" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -+ -n -s"
  5072.  
  5073. #MINIX/2.0 32 Bit version for intel 386+ running the POSIX-compliant MINIX
  5074. # version 2.0 (The definition of fatal avoids a conflict with a symbol by
  5075. # the same name in the curses library.) It is impossible to compile with
  5076. # network support since Minix does not support Berkeley sockets.
  5077. # Note: use chmem liberally on the compiler passes, make, and the final
  5078. # kermit executable. (3 megabytes of memory for each is sufficient.)
  5079. # From Terry McConnell, Syracuse U.
  5080. minix20:
  5081.     @echo 'Making C-Kermit $(CKVER) for MINIX 2.0/386...'
  5082.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} EXT=o \
  5083.     "CFLAGS=  -wo -DV7 -DMINIX2 -DMINIX -DSIG_V -D_POSIX_SOURCE \
  5084.     -DCKCPU=\\\"i-386\\\" -DNOIKSD -Dfatal=myfatal -DCK_CURSES \
  5085.     -DNOSYSLOG -DUSE_MEMCPY $(KFLAGS)" "LIBS= -lcurses"
  5086.  
  5087. #MINIX/386 (PC Minix modified by Bruce Evans in Australia for 386 addressing)
  5088. # For MINIX 1.5+ (but < 2.0)
  5089. minix386:
  5090.     @echo 'Making C-Kermit $(CKVER) for MINIX/386...'
  5091.     @echo 'TOTALLY UNTESTED!'
  5092.     $(MAKE) wermit EXT=s KTARGET=$${KTARGET:-$(@)} \
  5093.     "CFLAGS= -DV7 -DMINIX -D_POSIX_SOURCE $(KFLAGS)"
  5094.  
  5095. #MINIX/386 (PC Minix modifed by Bruce Evans in Australia to use 386 addressing)
  5096. minix386gcc:
  5097.     @echo 'Making C-Kermit $(CKVER) for MINIX/386 with gcc...'
  5098.     @echo 'TOTALLY UNTESTED!'
  5099.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC=gcc -g -O" "CC2=gcc -g" \
  5100.     "CFLAGS= -DV7 -DMINIX -D_POSIX_SOURCE $(KFLAGS)"
  5101.  
  5102. #MINIX - 68k version with ACK compiler.
  5103. # If you have trouble compiling or running wart, "touch wart".
  5104. # If it still doesn't work, "touch ckcpro.c".
  5105. # The version configured below has many features removed, including
  5106. # the TRANSMIT, MSEND, HELP, and SCRIPT commands, international
  5107. # character set support, and the entire script programming language.
  5108. # But it does have an interactive command parser.
  5109. # Make sure make(1) has (at least) 100000 chmemory!
  5110. # If you are using the Amsterdam C compiler, you might have to add "-D__ACK__".
  5111. minix68k:
  5112.     @echo 'Making C-Kermit $(CKVER) for MINIX 68k with ACK...
  5113.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  5114.     "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE \
  5115.     -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  5116.     -DNOSCRIPT -DNOCSETS -DNOSPL $(KFLAGS) \
  5117.     -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
  5118.  
  5119. #MINIX - 68k version with c68 compiler.
  5120. # If you have trouble compiling or running wart, "touch wart" or
  5121. # "touch ckcpro.c". Compiling ckudia.c (no -DNODIAL!) might fail. :-(
  5122. # Give c68 250000 bytes of stack+heap; make sure make(1) has at least
  5123. # 100000 chmemory.  On a 1Mb Atari ST this means that the recursive
  5124. # call of make fails due to memory shortage.  Try "make -n minixc68 >makeit",
  5125. # followed by ". makeit".  Otherwise, as above.
  5126. minixc68:
  5127.     @echo 'Making C-Kermit $(CKVER) for MINIX 68k with c68...
  5128.     $(MAKE) wermit "CC= cc -c68" KTARGET=$${KTARGET:-$(@)} \
  5129.     "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE \
  5130.     -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  5131.     -DNOSCRIPT -DNOCSETS -DNOSPL $(KFLAGS) \
  5132.     -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
  5133.  
  5134. #MINIX - 68k version with c68 compiler.
  5135. #A variation on the above that was recently (Sep 95) reported to work.
  5136. minixc68a:
  5137.     @echo 'Making C-Kermit $(CKVER) for MINIX 68k with c68...
  5138.     $(MAKE) wermit "CC= cc -c68" KTARGET=$${KTARGET:-$(@)} \
  5139.     "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE \
  5140.     -DCK_ANSIC -DNODEBUG -DNOTLOG -DMINIDIAL -DEXTEN -DMYCURSES \
  5141.     -DNOSCRIPT -DNOCSETS -DNOSPL -DNOJC -DDIRENT \
  5142.     -DNOSETKEY -DNOESCSEQ $(KFLAGS) \
  5143.     -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
  5144.  
  5145. #MIPS Computer Systems with UMIPS RISC/OS 4.52 = AT&T UNIX System V R3.0.
  5146. #Remove -DNOJC if job control can be safely used.
  5147. mips:
  5148.     @echo 'Making C-Kermit $(CKVER) for MIPS RISC/OS...'
  5149.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  5150.     "CFLAGS = -DMIPS -DDIRENT -DCK_POLL -DNOJC -DPID_T=int \
  5151.     -DGID_T=gid_t -DUID_T=uid_t -i -O1500 $(KFLAGS)"
  5152.  
  5153. #As above, but with TCP/IP and fullscreen support.
  5154. mipstcpc:
  5155.     @echo 'Making C-Kermit $(CKVER) for MIPS RISC/OS...'
  5156.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  5157.     "CFLAGS = -DMIPS -DDIRENT -DCK_POLL -DNOJC \
  5158.     -DTCPSOCKET -DCK_CURSES -I/usr/include/bsd \
  5159.     -DPID_T=int -DGID_T=gid_t -DUID_T=uid_t -i -O1500 $(KFLAGS)" \
  5160.     "LIBS = -lcurses -lbsd"
  5161.  
  5162. #Motorola Delta System V/68 R3, signal() is void rather than int.
  5163. #Uses dirent.h and Honey DanBer uucp.  Supports TCP/IP.
  5164. #After building, use "mcs -d" to reduce size of the executable program.
  5165. sv68r3:
  5166.     @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3...'
  5167.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  5168.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNO_DNS_SRV -DTCPSOCKET \
  5169.     -DNOUNICODE $(KFLAGS) -O" "LNKFLAGS ="
  5170.  
  5171. #Motorola Delta System V/68 R3V5, signal() is void rather than int.
  5172. #Uses dirent.h and Honey DanBer UUCP.  Supports TCP/IP.
  5173. #After building, use "mcs -d" to reduce size of the executable program.
  5174. sv68r3v5:
  5175.     @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V5'
  5176.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  5177.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNO_DNS_SRV \
  5178.     -DTCPSOCKET -DINADDRX -DNOUNICODE $(KFLAGS) -O" \
  5179.     "LNKFLAGS =" "LIBS = -linet"
  5180.  
  5181. #Motorola MVME147 System V/68 R3 V5.1. Requires gcc 2.1 to compile.
  5182. #After building, use "mcs -d" to reduce size of the executable program.
  5183. sv68r3v51:
  5184.     @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V5.1'
  5185.     $(MAKE) wermit "CC=gcc-delta" "CC2=gcc-delta" \
  5186.     KTARGET=$${KTARGET:-$(@)} \
  5187.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNODEBUG -DNO_DNS_SRV \
  5188.     -DNOUNICODE $(KFLAGS) -O2 -v -ftraditional" \
  5189.     "LNKFLAGS = -s -v" "LIBS = -lm881"
  5190.  
  5191. #Motorola MVME147 System V/68 R3V6. derived from Motorola Delta System R3V5.
  5192. #Checked on larger Motorola System V/68 R3V6 (with NSE Network Services Ext.)
  5193. #After building, use "strip" to reduce size of the executable program.
  5194. #Try removing the LIBS clause if it causes trouble (libnsl might not actually
  5195. #be necessary, and reportedly it is missing on some systems).
  5196. #  "LIBS = -lnsl" removed in C-Kermit 6.1 - put back if needed.
  5197. sv68r3v6:
  5198.     @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V6'
  5199.     $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  5200.     "CFLAGS = -DSV68R3V6 -DDIRENT -DHDBUUCP -DNOLOGIN -DNOINITGROUPS \
  5201.     -DNOSYMLINK -DNOREDIRECT -DNOGFTIMER -DTCPSOCKET -DDCLGETCWD \
  5202.     -DNO_DNS_SRV -DNOUNICODE $(KFLAGS) -O" "LNKFLAGS ="
  5203.  
  5204. #Motorola Delta System V/88 R32, signal() is void rather than int.
  5205. #Uses dirent.h and Honey DanBer uucp.  Needs <sys/utime.h> for setting
  5206. #file dates.  Supports TCP/IP.
  5207. #After building, use "mcs -d" to reduce size of the executable program.
  5208. sv88r32:
  5209.     @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R32...'
  5210.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  5211.     "CFLAGS = -DSV88R32 -DDIRENT -DHDBUUCP -DTCPSOCKET \
  5212.     -DSYSUTIMEH -DCK_CURSES -DNOGETUSERSHELL -DGTODONEARG $(KFLAGS) -O" \
  5213.     "LIBS= -lcurses -lresolv" "LNKFLAGS = -s"
  5214.  
  5215. #Motorola Delta System V/88 R40.  Has <sys/termiox.h>, regular Berkeley
  5216. #sockets library, i.e. in.h and inet.h are not misplaced in sys (rather than
  5217. #netinet and arpa, respectively).  Uses ANSI C constructs, advisory file
  5218. #locking on devices, etc.  curses support added.  Reportedly, the
  5219. #/usr/include/sys/vnode.h file has a bug which must be fixed before this
  5220. #makefile entry can work correctly.  The "if DEBUG" directive at about line
  5221. #320 must be changed to "ifdef DEBUG" (Reportedly, this was fixed in
  5222. #in System V/88 R4.3).
  5223. #After building, use "mcs -d" to reduce size of the executable program.
  5224. sv88r40:
  5225.     @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R40...'
  5226.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  5227.     "CFLAGS = -O -DSVR4 -DMOTSV88R4 -DDIRENT -DHDBUUCP -DSTERMIOX \
  5228.     -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL -DGTODONEARG $(KFLAGS)" \
  5229.     "LIBS= -lsocket -lnsl -lcurses -lresolv" "LNKFLAGS = -s"
  5230.  
  5231. #Olivetti X/OS R2.3, 3.x.
  5232. #NOTES:
  5233. # . If you build the executable on 2.x X/OS, it will also run on 3.x.
  5234. # . If you build it on 3.x X/OS, it will NOT run on 2.x.
  5235. # . Kermit can run with no privileges unless the uucp lines are protected,
  5236. #   in which case kermit must be owned by uucp with suid bit set:
  5237. #   chown uucp kermit ; chmod 4111 kermit.
  5238. xos23:
  5239.     @echo 'Making C-Kermit $(CKVER) for Olivetti X/OS...'
  5240.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  5241.     'CFLAGS=-OLM -DOXOS -DTCPSOCKET -DHDBUUCP $(KFLAGS)' \
  5242.     "LIBS=" "LNKFLAGS="
  5243.  
  5244. #As above, but with curses.
  5245. xos23c:
  5246.     @echo 'Making C-Kermit $(CKVER) for Olivetti X/OS with curses...'
  5247.     $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  5248.     'CFLAGS=-OLM -DOXOS -DTCPSOCKET -DHDBUUCP -DCK_CURSES $(KFLAGS)' \
  5249.     "LIBS=-lcurses" "LNKFLAGS="
  5250.  
  5251. ckuuid:
  5252.     @echo 'building C-Kermit $(CKVER) set-UID/set-GID test programs'
  5253.     $(CC) -DANYBSD -DSAVEDUID -o ckuuid1 ckuuid.c
  5254.     $(CC) -DANYBSD -o ckuuid2 ckuuid.c
  5255.     $(CC) -DANYBSD -DNOSETREU -o ckuuid3 ckuuid.c
  5256.     $(CC) -DANYBSD -DSETEUID -DNOSETREU -o ckuuid4 ckuuid.c
  5257.     $(CC) -o ckuuid5 ckuuid.c
  5258.     @echo 'Read the top of ckuuid.c for directions...for testing'
  5259.     @echo 'you must make these programs setuid and setgid'
  5260.  
  5261. ############################################################################
  5262. # A N T I Q U I T I E S
  5263. #
  5264. # The following are antique targets from C-Kermit 5A or earlier.  They have
  5265. # not been updated or tested in years.  Most of them will need recent features
  5266. # disabled, usually with some combination of -DNOUNICODE, -DNOIKSD, -DNOANSI,
  5267. # -DNOCKGHNLHOST, -DNO_DNS_SRV, -DNOREDIRECT, -DNOREALPATH, -DNOCURSES, etc.
  5268. # They are also missing the KTARGET=$${KTARGET:-$(@)} business.
  5269. # For details see ckuins.txt and ckccfg.txt.
  5270. #
  5271. ############################################################################
  5272.  
  5273. #Berkeley Unix 2.8, 2.9 for PDP-11s with I&D space, maybe also Ultrix-11???
  5274. #C-Kermit(5A) is simply too large (even turning off almost every feature
  5275. #available) to run without both I&D space plus overlays.  The old comment
  5276. #suggested running 'pcc' but that won't help.  Changing 'cc' to 'ckustr.sed'
  5277. #will cause a string extraction to be done, saving D space by moving strings
  5278. #to a file.
  5279. bsd29:
  5280.     @echo Making C-Kermit $(CKVER) for 2.8 or 2.9BSD.
  5281.     @echo Read the makefile if you have trouble with this...
  5282.     $(MAKE) ovwermit \
  5283.     "CFLAGS= -DBSD29 -DNODEBUG -DNOTLOG -DNOCSETS -DNOHELP \
  5284.     -DNOSCRIPT -DNOSPL -DNOXMIT -DNODIAL $(KFLAGS)" \
  5285.     "LNKFLAGS= -i -lndir" "CC= cc " "CC2= cc"
  5286.  
  5287. bsd210:
  5288.     @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.10BSD.
  5289.  
  5290. bsd211:
  5291.     @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.11BSD.
  5292.  
  5293. #Charles River Data Systems Universe with UNOS Version 9.2
  5294. crds:
  5295.     @echo 'Making C-Kermit $(CKVER) for Charles River Data Systems...'
  5296.     make xermit \
  5297.     "CFLAGS = -DATTSV -DNOANSI -DDIRENT -DLONGFN -DTCPSOCKET \
  5298.     -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DNOSETREU \
  5299.     -Dsuspend=ksuspend $(KFLAGS) -O" "LNKFLAGS ="
  5300.  
  5301. #Microport SV/AT for IBM PC/AT 286 and clones, System V R2.
  5302. #The -O flag may fail on some modules (like ckuus2.c), in which case you
  5303. #should compile them by hand, omitting the -O.  If you get "hash table
  5304. #overflow", try adding -DNODEBUG.
  5305. #Also, reportedly this compiles better with gcc than with cc.
  5306. mpsysv:
  5307.     @echo 'Making C-Kermit $(CKVER) for Microport SV/AT 286...'
  5308.     $(MAKE) wermit \
  5309.     "CFLAGS= -DATTSV $(KFLAGS) -O -Ml" "LNKFLAGS = -Ml"
  5310.  
  5311. #Microsoft "Xenix/286" e.g. for IBM PC/AT
  5312. xenix:
  5313.     @echo 'Making C-Kermit $(CKVER) for Xenix/286'
  5314.     $(MAKE) wermit \
  5315.     "CFLAGS= -DXENIX -DNOFILEH $(KFLAGS) -Dunix -F 3000 -i" \
  5316.     "LNKFLAGS = -F 3000 -i"
  5317.  
  5318. #PC/IX, Interactive Corp System III for IBM PC/XT
  5319. pcix:
  5320.     @echo 'Making C-Kermit $(CKVER) for PC/IX...'
  5321.     $(MAKE) wermit \
  5322.     "CFLAGS= -DPCIX -DISIII $(KFLAGS) -Dsdata=sdatax -O -i" "LNKFLAGS = -i"
  5323.  
  5324. #Integrated Solutions Inc V8S VME 68020
  5325. isi:
  5326.     @echo Making C-Kermit $(CKVER) for 4.2BSD on ISI...
  5327.     $(MAKE) wermit "CC = cc" \
  5328.     "CFLAGS= -DBSD4 -DTCPSOCKET -DINADDRX -DDCLPOPEN -DDEBUG -DNOSETREU \
  5329.     -DCK_CURSES $(KFLAGS)" "LIBS = -lcurses -ltermcap"
  5330.  
  5331. #Interactive Corp version of AT&T System III
  5332. #is3: (very old, probably not sufficient for 5A or later)
  5333. #    @echo 'Making C-Kermit $(CKVER) for Interactive System III...'
  5334. #    make wermit "CFLAGS = -DISIII -Ddata=datax -O -i" "LNKFLAGS = -i"
  5335. #The following should work, use it if you don't have gcc.
  5336. #Use is3gcc if you have gcc.
  5337. is3:
  5338.     @echo 'Making C-Kermit $(CKVER) for Interactive System III...'
  5339.     $(MAKE) wermit \
  5340.     "CFLAGS= -DISIII $(KFLAGS) -Ddata=datax -DNAP -DHDBUUCP
  5341.     -DLOCK_DIR=\"/usr/spool/uucp\" -DSIGTYP=void -O -i" "LNKFLAGS = -i"
  5342.  
  5343. #Interactive UNIX System V R3, no network support.  Uses <dirent.h> and Honey
  5344. #DanBer UUCP.  If this entry does not compile correctly, try any or all of the
  5345. #following.  These suggestions also apply more or less to the other is5r3xxx
  5346. #entries that follow this one.
  5347. # . Remove the UID_T and GID_T definitions, or change them as required.
  5348. # . Change -DDIRENT to -DSDIRENT.
  5349. # . Add -DSIGTYP=void.
  5350. # . Remove -g from LNKFLAGS.
  5351. # . Add -DNOANSI to remove compiler complaints about ANSI C constructions
  5352. # . Add other -DNOxxx's to save space (e.g. -DNOCSETS)
  5353. # See the next few makefile entries for related examples.
  5354. is5r3:
  5355.     @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix or later...'
  5356.     @echo 'If this does not work please read the makefile entry.'
  5357.     $(MAKE) wermit \
  5358.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -g -DNOCSETS \
  5359.     -DUID_T=ushort -DGID_T=ushort -DI386IX $(KFLAGS)" \
  5360.     "LNKFLAGS = -g"
  5361.  
  5362. #Interactive Corp System System V R3 with gcc
  5363. is3gcc:
  5364.     @echo 'Making C-Kermit $(CKVER) for Interactive System V R3 / gcc...'
  5365.     $(MAKE) wermit CC=gcc CC2=gcc \
  5366.     'CFLAGS = -D_SYSV3 -DISIII -Ddata=datax -DNAP -DHDBUUCP \
  5367.     -DLOCK_DIR=\"/usr/spool/uucp\" -DSIGTYP=void -O' "LNKFLAGS ="
  5368.  
  5369. #Interactive UNIX System V R3, POSIX variant.  Untested.
  5370. #Uses dirent.h and Honey DanBer uucp.  Read comments in is5r3 entry.
  5371. is5r3p:
  5372.     @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix or later...'
  5373.     $(MAKE) wermit \
  5374.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -g -DNOCSETS \
  5375.     -DI386IX -DPOSIX $(KFLAGS)" "LNKFLAGS=" "LIBS=-lcposix"
  5376.  
  5377. #Interactive UNIX SVR3 2.2.1, job control, curses, no net, gcc.
  5378. is5r3gcc:
  5379.     $(MAKE) wermit CC=gcc CC2=gcc \
  5380.     "CFLAGS=-g -posix -DSVR3 -DDIRENT \
  5381.     -DHDBUUCP -O -DNOCSETS -DI386IX -DSVR3JC -DCK_CURSES \
  5382.     $(KFLAGS)" LNKFLAGS="-posix" LIBS="-lcurses -lc_s"
  5383.  
  5384. #Interactive UNIX System V R3 with TCP/IP network support.
  5385. #Needs -linet for net functions.  signal() is void rather than int.
  5386. #Uses dirent.h and Honey DanBer uucp. Read comments in is5r3 entry.
  5387. #Also see is5r3net2 if you have trouble with this entry.
  5388. is5r3net:
  5389.     @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix...'
  5390.     @echo 'If this does not work please read the makefile entry.'
  5391.     $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
  5392.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET \
  5393.     -DI386IX $(KFLAGS) -O" "LIBS = -linet"
  5394.  
  5395. is5r3netgcc:
  5396.     $(MAKE) is5r3net CC=gcc CC2=gcc
  5397.  
  5398. #Interactive UNIX System V R3, no job control, signal() void rather than int.
  5399. #Uses dirent.h and Honey DanBer uucp.  Needs -linet for net functions.
  5400. #Read comments in is5r3 entry.  Use this entry if is5r3net fails.
  5401. #Saves some space by stripping (-s) and using shared library (-lc_s).
  5402. is5r3net2:
  5403.     @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix...'
  5404.     $(MAKE) wermit \
  5405.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET -DNOJC \
  5406.     -DSIGTYP=void -DNOANSI -DI386IX $(KFLAGS) -O" \
  5407.     "LNKFLAGS= -s" "LIBS = -linet -lc_s"
  5408.  
  5409. #Interactive UNIX System V R3 (version 2.2 or later) with job control & curses.
  5410. #Uses dirent.h and Honey DanBer UUCP.
  5411. is5r3jc:
  5412.     @echo 'Making C-Kermit $(CKVER) for Interactive Unix 2.2 or later...'
  5413.     $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
  5414.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS \
  5415.     -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES \
  5416.     -DPOSIX_JC -DCK_REDIR -DCK_POLL -DDCLGETCWD \
  5417.     $(KFLAGS)" "LIBS=-lcurses -lc_s -linet"
  5418.  
  5419. is5r3jcgcc:
  5420.     $(MAKE) is5r3jc CC="gcc -DCK_ANSILIBS -DDCGPWNAM -O4" CC2=gcc \
  5421.     KFLAGS="$(KFLAGS)" LNKFLAGS="$(LNKFLAGS)"
  5422.  
  5423. #Sunsoft/Interactive UNIX System V R3 (version 2.2 or later)
  5424. #with job control, curses, and TCP/IP networking.
  5425. #Uses dirent.h and Honey DanBer UUCP.
  5426. is5r3netjc:
  5427.     @echo 'Making C-Kermit $(CKVER) for Interactive Unix 2.2 or later...'
  5428.     $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
  5429.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS \
  5430.     -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES \
  5431.     -DPOSIX_JC -DCK_REDIR -DTCPSOCKET -DSELECT \
  5432.     $(KFLAGS)" "LIBS=-linet -lcurses -lc_s"
  5433.  
  5434. is5r3netjcgcc:
  5435.     $(MAKE) is5r3netjc CC="gcc -DCK_ANSILIBS -DDCGPWNAM -O4" CC2=gcc \
  5436.     KFLAGS="$(KFLAGS)" LNKFLAGS="$(LNKFLAGS)"
  5437.  
  5438. #Masscomp System III
  5439. rtu:
  5440.     @echo 'Making C-Kermit $(CKVER) for Masscomp RTU System III...'
  5441.     $(MAKE) wermit \
  5442.     "CFLAGS= -UFIONREAD -DATTSV $(KFLAGS) -O" "LNKFLAGS =" "LIBS= -ljobs"
  5443.  
  5444. #Masscomp/Concurrent RTU 4.0 or later, Berkeley environment.
  5445. #Includes <ndir.h> = /usr/include/ndir.h
  5446. #Note "LIBS = -lndir" might not be necessary because of "ucb make".
  5447. rtubsd:
  5448.     @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.1A...'
  5449.     ucb make wermit \
  5450.     "CFLAGS= -DBSD4 -DRTU -DNDIR -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
  5451.     "LIBS = -lndir"
  5452.  
  5453. #Masscomp/Concurrent RTU 4.0 or later, same as above,
  5454. #Includes "usr/lib/ndir.h"
  5455. #Note "LIBS = -lndir" might not be necessary because of "ucb make".
  5456. rtubsd2:
  5457.     @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.1A...'
  5458.     ucb make wermit \
  5459.     "CFLAGS= -DBSD4 -DRTU -DXNDIR -DHDBUUCP $(KFLAGS)" \
  5460.     "LIBS = -lndir"
  5461.  
  5462. #Masscomp/Concurrent RTU 4.0 or later, same as above,
  5463. #Includes <sys/ndir.h>
  5464. #Note "LIBS = -lndir" might not be necessary because of "ucb make".
  5465. rtubsd3:
  5466.     @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.x BSD...'
  5467.     ucb make wermit "CFLAGS= -DBSD4 -DRTU -DHDBUUCP $(KFLAGS)" \
  5468.     "LIBS = -lndir"
  5469.  
  5470. #Masscomp/Concurrent RTU 4.0 or later, System V R2, using <dirent.h>.
  5471. #In case of problems, add back the -DRTU switch.
  5472. #In case -DTCPSOCKET gives trouble, remove it.
  5473. rtus5:
  5474.     @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.x...'
  5475.     $(MAKE) wermit \
  5476.     "CFLAGS= -DATTSV -DHDBUUCP -DDIRENT -DTCPSOCKET $(KFLAGS)"
  5477.  
  5478. #Masscomp/Concurrent RTU 4.x, System V R3, using <dirent.h>.
  5479. #Use this one if rtus5 gives warnings about pointer type mismatches.
  5480. #In case of problems, add back the -DRTU switch.
  5481. rtus5r3:
  5482.     @echo 'Making C-Kermit $(CKVER) for Masscomp RTU Sys V R3...'
  5483.     $(MAKE) wermit "CFLAGS= -DSVR3 -DHDBUUCP -DDIRENT $(KFLAGS)"
  5484.  
  5485. #DEC Pro-3xx with Pro/Venix V1.0 or V1.1
  5486. # Requires code-mapping on non-I&D-space 11/23 processor, plus some
  5487. # fiddling to get interrupt targets into resident code section.
  5488. # This almost certainly doesn't work any more.
  5489. provx1:
  5490.     @echo 'Making C-Kermit $(CKVER) for DEC Pro-3xx, Pro/Venix 1.x...'
  5491.     $(MAKE) wart "CFLAGS= -DPROVX1 $(KFLAGS)" "LNKFLAGS= "
  5492.     $(MAKE) wermit "CFLAGS = -DPROVX1 -DNOFILEH -md780" \
  5493.         "LNKFLAGS= -u _sleep -lc -md780"
  5494.  
  5495. #Nixdorf Targon/31.
  5496. #AT&T UNIX System V R3, signal() is void rather than int.
  5497. #Uses dirent.h without Honey DanBer uucp.
  5498. t31tos40x:
  5499.     @echo 'Making C-Kermit $(CKVER) for Targon/31 with TOS 4.0.xx...'
  5500.         $(MAKE) wermit \
  5501.         "CFLAGS= -DSVR3 -DDIRENT $(KFLAGS) -O" \
  5502.         "LNKFLAGS="
  5503.  
  5504. #NCR Tower 1632, OS 1.02
  5505. tower1:
  5506.     @echo 'Making C-Kermit $(CKVER) for NCR Tower 1632, OS 1.02...'
  5507.     $(MAKE) wermit "CFLAGS= -DTOWER1 $(KFLAGS)"
  5508.  
  5509. #NCR Tower 32, OS Release 1.xx.xx
  5510. tower32-1:
  5511.     @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 Rel 1 System V R2...'
  5512.     @echo 'Add KFLAGS=-DISDIRBUG if you get errors about S_ISREG/S_ISDIR.'
  5513.     $(MAKE) wermit \
  5514.     "CFLAGS = -DATTSV $(KFLAGS) -O" "LNKFLAGS = -n"
  5515.  
  5516. #NCR Tower 32, OS Release 2.xx.xx
  5517. tower32-2:
  5518.     @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 Rel 2 System V R2...'
  5519.     $(MAKE) wermit \
  5520.     "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) -O2" \
  5521.     "LNKFLAGS = -n"
  5522.  
  5523. #NCR Tower 32, OS Releases based on System V R3
  5524. #Don't add -DNAP (doesn't work right) or -DRDCHK (not available in libc).
  5525. tower32:
  5526.     @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 System V R3...'
  5527.     $(MAKE) wermit \
  5528.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNOSYSIOCTLH $(KFLAGS) \
  5529.     -DUID_T=ushort -DGID_T=ushort -O1"
  5530.  
  5531. #NCR Tower 32, OS Releases based on System V R3
  5532. tower32g:
  5533.     @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 System V R3, gcc...'
  5534.     $(MAKE) wermit "CC = gcc" \
  5535.     "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNOSYSIOCTLH $(KFLAGS) \
  5536.     DUID_T=ushort -DGID_T=ushort -O -fstrength-reduce -fomit-frame-pointer"
  5537.  
  5538. #Fortune 32:16, For:Pro 1.8 (mostly like 4.1bsd)
  5539. ft18:
  5540.     @echo 'Making C-Kermit $(CKVER) for Fortune 32:16 For:Pro 1.8...'
  5541.     $(MAKE) wermit \
  5542.     "CFLAGS= -DNODEBUG -DBSD4 -DFT18 -DNOFILEH $(KFLAGS) \
  5543.     -DPID_T=short"
  5544.  
  5545. #Fortune 32:16, For:Pro 2.1 (mostly like 4.1bsd).
  5546. #The modules that break the optimizer are compiled separately.
  5547. ft21:
  5548.     @echo 'Making C-Kermit $(CKVER) for Fortune 32:16 For:Pro 2.1...'
  5549.     $(MAKE) ckuusx.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
  5550.     -SYM 800  -DCK_CURSES $(KFLAGS) -DPID_T=short" \
  5551.     "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
  5552.     $(MAKE) ckuxla.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
  5553.     -SYM 800  -DCK_CURSES $(KFLAGS) -DPID_T=short" \
  5554.     "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
  5555.     $(MAKE) ckudia.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
  5556.     -SYM 800  -DCK_CURSES $(KFLAGS) -DPID_T=short" \
  5557.     "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
  5558.     $(MAKE) wermit \
  5559.     "CFLAGS= -O -DNODEBUG -DBSD4 -DFT21 -DNOFILEH -SYM 800 \
  5560.     -DCK_CURSES $(KFLAGS) -DPID_T=short" \
  5561.     "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
  5562.  
  5563. #Valid Scaldstar
  5564. #Berkeleyish, but need to change some variable names.
  5565. valid:
  5566.     @echo 'Making C-Kermit $(CKVER) for Valid Scaldstar...'
  5567.     $(MAKE) wermit \
  5568.     "CFLAGS= -DBSD4 -DNODEBUG -DNOTLOG -Dcc=ccx -DFREAD=1 $(KFLAGS)"
  5569.  
  5570. #IBM IX/370 on IBM 370 Series mainframes
  5571. #Mostly like sys3, but should buffer packets.
  5572. ix370:
  5573.     @echo 'Making C-Kermit $(CKVER) for IBM IX/370...'
  5574.     $(MAKE) wermit "CFLAGS = -DIX370 -DATTSV $(KFLAGS) -i -O" \
  5575.     "LNKFLAGS = -i"
  5576.  
  5577. #Amdahl UTS 2.4 on IBM 370 series compatible mainframes.
  5578. #Mostly like V7, but can't do initrawq() buffer peeking.
  5579. uts24:
  5580.     @echo 'Making C-Kermit $(CKVER) for Amdahl UTS 2.4...'
  5581.     $(MAKE) wermit "CFLAGS=-DV7 -DPROCNAME=\\\"$(PROC)\\\" \
  5582.     -DUTS24 -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
  5583.     -DNPTYPE=$(NPTYPE) $(DIRECT) $(KFLAGS)"
  5584.  
  5585. #Amdahl UTSV UNIX System V = System V R2 or earlier.
  5586. utsv:
  5587.     @echo 'Making C-Kermit $(CKVER) for Amdahl UTSV...'
  5588.     $(MAKE) wermit \
  5589.     "CFLAGS = -DUTSV $(KFLAGS) -i -O" "LNKFLAGS = -i"
  5590.  
  5591. #Amdahl UTSV UNIX System V = System V R2 or earlier, with TCP sockets library.
  5592. utsvtcp:
  5593.     @echo 'Making C-Kermit $(CKVER) for Amdahl UTSV w/tcp...'
  5594.     $(MAKE) wermit "CFLAGS = \
  5595.     -DTCPSOCKET -DUTSV $(KFLAGS) -i -O" "LNKFLAGS = -i" \
  5596.     "LIBS = -lsocket"
  5597.  
  5598. #BBN C/70 with IOS 2.0
  5599. #Mostly Berkeley-like, but with some ATTisms
  5600. c70:
  5601.     @echo 'Making C-Kermit $(CKVER) for BBN C/70 IOS 2.0...'
  5602.     $(MAKE) wermit "CFLAGS= -DBSD4 -DC70 $(KFLAGS)"
  5603.  
  5604. #Zilog ZEUS 3.21
  5605. zilog:
  5606.     @echo 'Making C-Kermit $(CKVER) for Zilog Zeus 3.21...'
  5607.     $(MAKE) wermit \
  5608.     "CFLAGS = -DATTSV -DZILOG -DNODEBUG $(KFLAGS) -i -O" \
  5609.     "LNKFLAGS = -i -lpw"
  5610.  
  5611. #Whitechapel MG-1 Genix 1.3
  5612. white:
  5613.     @echo 'Making C-Kermit $(CKVER) for Whitechapel MG-1 Genix 1.3...'
  5614.     @touch ckcpro.c
  5615.     $(MAKE) wermit "CFLAGS= -DBSD4 -Dzkself()=0  $(KFLAGS)"
  5616.  
  5617. #Pixel 1000
  5618. pixel:
  5619.     @echo 'Making C-Kermit $(CKVER) for Pixel 1000...'
  5620.     $(MAKE) wermit "CFLAGS= -DBSD4 -Dzkself()=0 $(KFLAGS)"
  5621.  
  5622. ptx:
  5623.     $(MAKE) "MAKE=$(MAKE)" dynixptx12
  5624.  
  5625. #CDC VX/VE 5.2.1
  5626. vxve:
  5627.     @echo 'Making C-Kermit $(CKVER) for CDC VX/VE 5.2.1...'
  5628.     $(MAKE) wermit \
  5629.     "CFLAGS = -DATTSV -DVXVE -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
  5630.     "LNKFLAGS = -i"
  5631.  
  5632. #DIAB DS90 or LUXOR ABC-9000 with pre-5.2 DNIX.  Sys V with nap() and rdchk().
  5633. # nd = no opendir(), readdir(), closedir(), etc.
  5634. # Some of the modules fail to compile with -O.
  5635. dnixnd:
  5636.     @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with very old DNIX 5.2.'
  5637.     $(MAKE) wermit \
  5638.     "CFLAGS = -DATTSV -DNAP -DRDCHK -DDCLPOPEN \
  5639.     -U__STDC__ $(KFLAGS)"
  5640.  
  5641. #DIAB DS90 with DNIX 5.2.  Sys V with nap() and rdchk().
  5642. # This one has opendir(), readdir(), closedir(), etc.
  5643. # Some of the modules fail to compile with -O.
  5644. dnix:
  5645.     @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with old DNIX 5.2...'
  5646.     $(MAKE) wermit \
  5647.     "CFLAGS = -DATTSV -DNAP -DRDCHK -DDIRENT  \
  5648.     -U__STDC__ $(KFLAGS)"
  5649.  
  5650. #DIAB DS90 with DNIX 5.2.  Sys V with nap() and rdchk().
  5651. # As above, but with curses and TCP/IP.
  5652. # You might get complaints about redefinition of O_RDONLY, etc, because
  5653. # of bugs in the DNIX header files, which can be fixed by adding #ifndef...
  5654. # around the offending definitions in the header files.
  5655. dnixnetc:
  5656.     @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with old DNIX 5.2...'
  5657.     $(MAKE) wermit \
  5658.     "CFLAGS = -DATTSV -DNAP -DRDCHK -DDIRENT  \
  5659.     -DTCPSOCKET -DCK_CURSES -I/usr/include/bsd -U__STDC__ $(KFLAGS)" \
  5660.     "LIBS = -ln -lcurses"
  5661.  
  5662. #DIAB DS90 with DNIX 5.3 or later, with HDB UUCP, nap() and rdchk().
  5663. dnix5r3:
  5664.     @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
  5665.     @echo 'with Honey DanBer UUCP'
  5666.     $(MAKE) wermit \
  5667.     "CFLAGS = -DSVR3 -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
  5668.     -DCK_CURSES -DRENAME $(KFLAGS) -O" "LIBS= -lcurses"
  5669.  
  5670. #DIAB DS90 with DNIX 5.3 or later, with HDB UUCP, nap() and rdchk() + TCP/IP
  5671. dnix5r3net:
  5672.     @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
  5673.     @echo 'with Honey DanBer UUCP and TCP/IP'
  5674.     $(MAKE) wermit \
  5675.     "CFLAGS = -DSVR3 -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
  5676.     -DTCPSOCKET -DCK_CURSES -DRENAME $(KFLAGS) -O \
  5677.     -I/usr/include/bsd" "LIBS = -ln -lcurses"
  5678.  
  5679. #DIAB DS90 with DNIX 5.3 2.2 or later, with HDB UUCP, nap() and rdchk(),
  5680. #ANSI C compilation and libraries.
  5681. #Note that for DNIX 5.3 2.2 you have to correct a bug in /usr/include/stdlib.h:
  5682. #change "extern    void free(char *str);"
  5683. #to     "extern void free(void *str);"
  5684. #NOTE: This bug is reportedly fixed in DNIX 5.3 2.2.1.
  5685. #Should you get fatal errors caused by harmless pointer-type mismatches,
  5686. #like between signed and unsigned char, just remove -X7.
  5687. dnix5r3ansi:
  5688.     @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
  5689.     @echo 'with ANSI C Honey DanBer UUCP'
  5690.     $(MAKE) wermit \
  5691.     "CFLAGS = -DSVR3 -DDIAB -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
  5692.     -DCK_ANSILIBS -DCK_CURSES -DRENAME -O -X7 -X9 $(KFLAGS)" \
  5693.     "LIBS= -lcurses"
  5694.  
  5695. #DIAB DS90 with DNIX 5.3 2.2 or later, with HDB UUCP, nap() and rdchk(),
  5696. # + TCP/IP, ANSI C compilation and libraries.
  5697. #Should you get fatal errors caused by harmless pointer-type mismatches,
  5698. #like between signed and unsigned char, just remove -X7.
  5699. dnix5r3ansinet:
  5700.     @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
  5701.     @echo 'with ANSI C Honey DanBer UUCP'
  5702.     $(MAKE) wermit \
  5703.     "CFLAGS = -DSVR3 -DDIAB -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
  5704.     -DTCPSOCKET -DCK_ANSILIBS -DCK_CURSES -DRENAME -O -X7 -X9 $(KFLAGS) \
  5705.     -I/usr/include/bsd" "LIBS= -ln -lcurses"
  5706.  
  5707. # QNX 4.21 and above, 32-bit version, Watcom C32 10.6, register calling
  5708. # conventions, fully configured, except no job control because QNX 4.x
  5709. # does not support it.  New NCURSES library used instead of CURSES.
  5710. #
  5711. # -Oatx optimizes to favor speed over size: loop optimization, inline fn's.
  5712. # -Os favors size over speed.  The size difference is about 30-40K.
  5713. # -NOUUCP is included because QNX is shipped without UUCP and no native
  5714. # QNX software uses UUCP lockfiles.  Remove -DNOUUCP if you want to use
  5715. # UUCP lockfiles for exclusive access to dialout devices.
  5716. #
  5717. # If you get warnings about HEADER or C_IN add -DNO_DNS_SRV.
  5718. qnx32:
  5719.     @echo 'Making C-Kermit $(CKVER) for QNX 4.2x, 32-bit...'
  5720.     $(MAKE) xermit \
  5721.     "LNKFLAGS = -3r" \
  5722.     "CFLAGS = -3r -ms -DQNX -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL \
  5723.     -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS -DNOJC \
  5724.     -DNOINITGROUPS -DNOUUCP -DCK_ANSIC -DPID_T=pid_t -Oatx -zc $(KFLAGS)" \
  5725.     "LIBS= -lsocket -lncurses -ltermcap"
  5726.     @wermit -h >use.qnx
  5727.     @usemsg wermit use.qnx
  5728.     @rm use.qnx
  5729.  
  5730. # As above but no networking since some QNX systems do not have TCP/IP
  5731. # installed, or the TCP/IP developers kit, which includes all the needed
  5732. # header files.  This entry has not been tested on a QNX system that, in
  5733. # fact, does not have TCP/IP installed; some adjustments might be necessary,
  5734. # in particular regarding the use of select(): is -lsocket needed, can we
  5735. # get the needed definitions from non-TCP/IP header files (FD_SET, etc)?
  5736. qnx32nonet:
  5737.     @echo 'Making C-Kermit $(CKVER) for QNX 4.2x, 32-bit, no net...'
  5738.     $(MAKE) xermit \
  5739.     "LNKFLAGS = -3r" \
  5740.     "CFLAGS = -3r -ms -DQNX -DNONET -DNOIKSD -DCK_CURSES \
  5741.     -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS -DNOJC \
  5742.     -DNOUUCP -DCK_ANSIC -DPID_T=pid_t -Oatx -zc $(KFLAGS)" \
  5743.     "LIBS= -lsocket -lncurses -ltermcap"
  5744.     @wermit -h >use.qnx
  5745.     @usemsg wermit use.qnx
  5746.     @rm use.qnx
  5747.  
  5748. # Synonym for qnx32.
  5749. qnx:
  5750.     $(MAKE) qnx32 "KFLAGS=$(KFLAGS)"
  5751.  
  5752. # QNX 4.21 and above, 16-bit version, Watcom C 8.5 - and higher on i286 PCs
  5753. # and above.
  5754. #
  5755. #    IMPORTANT: Do not use Watcom C 10.6!!!
  5756. #    If you have it installed, add "-v9.52 to CFLAGS"
  5757. #
  5758. # NOTE: QNX 4.23 onward does not work on 286's anyway.
  5759. # Stacksize 26000, objects larger than 100 bytes in their own segments,
  5760. # string constants to the codesegment, etc.  Fully configured except job ctrl.
  5761. # This entry works for building a 16-bit executable on a 32-bit system, but
  5762. # has not been tested on a 16-bit system.  Uses large memory model, links
  5763. # explicitly with large-model sockets library.  Correct-model curses library
  5764. # is chosen automatically.  See comment in qnx32 entry about -DNOUUCP.
  5765. #
  5766. # WARNING:
  5767. #
  5768. # Watcom C prior to 10.6 never had released curses library. To link against it,
  5769. # you must obtain ported free curses source from ftp://ftp.qnx.com/usr/free,
  5770. # then compile and build library (cursesl.lib) and place it in /usr/lib.  You
  5771. # must also copy curses.h to /usr/include.  Be aware that if you have Watcom
  5772. # 10.6 installed, you should already have curses.h, which is the new ncurses
  5773. # library. You must back it up and use free curses.h instead, since ncurses is
  5774. # only for 32-bit applications and some definitions in these files are
  5775. # different (e.g., clearok()).  For safety, curses is not defined in build.
  5776. #
  5777. # In 7.0 -DNOHELP added to keep ckuus2.c from blowing up; NOCSETS and NOSPL
  5778. # added because ckuus4 was blowing up, and NOFLOAT just because it seemed
  5779. # dangerous (remove -DNOFLOAT if you want to try it), The result works OK
  5780. # except for some mysterious beeps upon termination of the top-level keyword.
  5781. #
  5782. # Things to try next time we get in trouble:
  5783. #  . Change -zt100 to something smaller like -zt25
  5784. #  . Change -Oatx to -Omilerat (enable stack checking)
  5785. #  . Maybe get rid of -v9.52 -- it's only there because we were warned.
  5786. #
  5787. qnx16:
  5788.     @echo 'Making C-Kermit $(CKVER) for QNX 4.21, 16-bit...'
  5789.     $(MAKE) xermit \
  5790.     "LNKFLAGS = -2 -ml -N 26000" \
  5791.     "CFLAGS = -2 -Oatx -zc -zt100 -ml -DQNX -DQNX16 -DNOUUCP -DNOHELP \
  5792.     -DCK_REDIR -DSELECT -DSELECT_H -DNOJC -DNOGETUSERSHELL -DNOCSETS \
  5793.     -v9.52 -DTCPSOCKET -DCK_RTSCTS -DCK_ANSIC -DNOINITGROUPS -DNOKVERBS \
  5794.     -DNORANDOM -DNOCSETS -DNOSPL -DNOFLOAT -DPID_T=pid_t $(KFLAGS)"
  5795.  
  5796. # QNX 4.1, 16-bit version, with Watcom C 8.5 on i286 PCs and above.
  5797. # stacksize 26000, objects larger than 100 bytes in their own segments,
  5798. # string constants to the codesegment, etc.  Add -DNOUUCP if desired.
  5799. qnx16_41:
  5800.     @echo 'Making C-Kermit $(CKVER) for QNX 4.1, 16-bit...'
  5801.     $(MAKE) xermit \
  5802.     "LNKFLAGS = -mh -N 26000" "CFLAGS = -Wc,-fpc -Wc,-j -DNOGETUSERSHELL \
  5803.     -Wc,-Ols -Wc,-zdf -Wc,-zc -Wc,-zt100 -mh -DPOSIX -DQNX -DDIRENT \
  5804.     -DNOCYRIL -DNODEBUG -DNOMSEND -DMINIDIAL -DNOXMIT -DNOSCRIPT -DNOSPL \
  5805.     -DNOSETKEY -DNOINITGROUPS -DPID_T=pid_t $(KFLAGS)"
  5806.  
  5807. #Ridge 32 with ROS 3.2
  5808. ridge32:
  5809.     @echo 'Making C-Kermit $(CKVER) Ridge 32 ROS 3.2'
  5810.     $(MAKE) wermit \
  5811.     "CFLAGS = -DATTSV -DNOFILEH -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
  5812.     "LNKFLAGS = -i"
  5813.  
  5814. #Altos 486, 586, or 986 with Xenix 3.0
  5815. altos:
  5816.     @echo 'Making C-Kermit $(CKVER) for Altos x86 with Xenix 3.0...'
  5817.     $(MAKE) wermit \
  5818.     "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
  5819.     "LNKFLAGS= -i"
  5820.  
  5821. #Altos 986 with Xenix 3.0, as above, but command-line only, minimal size.
  5822. #For systems with small memories.  It might also be necessary to chop certain
  5823. #modules up into smaller pieces, e.g. ckuus3-6, because of symbol table
  5824. #overflow.   If this makefile is too big or complex for the Altos, compile
  5825. #and link by hand or write shell scripts.
  5826. altosc:
  5827.     @echo 'Making C-Kermit $(CKVER) for Altos x86 Xenix 3.0, remote...'
  5828.     $(MAKE) wermit \
  5829.     "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG -DNOSCRIPT -DNODIAL \
  5830.     -DNOCSETS -DNOANSI -DNOMSEND -DNOSPL -DNOICP $(KFLAGS) -Mm -O" \
  5831.     "LNKFLAGS= -Mm -s"
  5832.  
  5833. #Altos 986 with Xenix 3.0, as above, but interactive only, minimal size.
  5834. altosi:
  5835.     @echo 'Making C-Kermit $(CKVER) for Altos x86 Xenix 3.0, local...'
  5836.     $(MAKE) wermit \
  5837.     "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG -DNOSCRIPT -DNODIAL \
  5838.     -DNOCSETS -DNOANSI -DNOMSEND -DNOSPL -DNOCMDL -DNOFRILLS -DNOHELP \
  5839.     -DNOSETKEY $(KFLAGS) -Mm -O" "LNKFLAGS= -Mm -s"
  5840.  
  5841. # Altos ACS68000 68000 System, UNIX System 3 Release 2, 512k memory.
  5842. # also needs getcwd() external function; see ckuins.txt file.
  5843. # also, sys/types.h needed modifying:
  5844. #   #ifdef __SYS_TYPES_H__, #define ..., #endif
  5845. # also, ckuus2.c MUST be compiled NOOPT else symbol table is destroyed!
  5846. # Submission by Robert Weiner/Programming Plus, rweiner@progplus.com.
  5847. #
  5848. altos3:
  5849.     @echo 'Making C-Kermit $(CKVER) for Altos ACS68k UNIX System III'
  5850.     $(MAKE) ckuus2.$(EXT) "CFLAGS = -DATTSV -DNOCSETS -DNOSETKEY -DNOJC \
  5851.     -DNODIAL -DDCLPOPEN -DNOSCRIPT -DNOHELP $(KFLAGS) -i"
  5852.     $(MAKE) wermit \
  5853.     "CFLAGS = -DATTSV -DNOCSETS -DNOSETKEY -DNOJC \
  5854.     -DNODIAL -DDCLPOPEN -DNOSCRIPT -DNOHELP $(KFLAGS) -i -O" \
  5855.     "LNKFLAGS = -i" "LIBS = getcwd.$(EXT)"
  5856.  
  5857. #MINIX - Original PC version with 64K+64K limit.
  5858. # Reportedly, the linker (asld) can run out of space while linking.  The only
  5859. # way around this is to make a copy of libc.a from which all modules that are
  5860. # not used by Kermit are removed.  If you have trouble compiling or running
  5861. # wart, "touch wart".  If that doesn't help, "touch ckcpro.c".
  5862. # The version configured below has no interactive command parser.
  5863. # If you can build this version successfully, maybe there will be room for
  5864. # a minimal interactive command parser too; try replacing -DNOICP with
  5865. # -DNOSPL, plus every other -DNOxxx flag there is, except for -DNOICP
  5866. # (see ckccfg.txt).
  5867. minix:
  5868.     @echo 'Making C-Kermit $(CKVER) for MINIX, no command parser...
  5869.     @echo 'TOTALLY UNTESTED!'
  5870.     $(MAKE) wermit EXT=s \
  5871.     "CFLAGS= -DV7 -DMINIX -i -D_MINIX -D_POSIX_SOURCE \
  5872.     -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V \
  5873.     -DNOXMIT -DNOMSEND -DNOFRILLS -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  5874.     -DNOSCRIPT -DNOCSETS -DNOICP -DNOSETKEY $(KFLAGS)" \
  5875.     "LNKFLAGS= -i -T"
  5876.  
  5877. #MINIX - PC version with 64K+64K limit, new (as yet unreleased) ACK 2.0 beta C
  5878. #compiler, which outputs .o object files, rather than .s.  But 'make' still
  5879. #expects .s files, so must be patched to use .o.  Tested on Minix 1.5.10.
  5880. minixnew:
  5881.     @echo 'Making C-Kermit $(CKVER) for MINIX (new ACK 2.0 compiler),'
  5882.     @echo 'no command parser...  TOTALLY UNTESTED!'
  5883.     $(MAKE) wermit \
  5884.     "CFLAGS= -DV7 -DMINIX -i -D_MINIX -D_POSIX_SOURCE \
  5885.     -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V -DNODIAL \
  5886.     -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOICP $(KFLAGS)" \
  5887.     "LNKFLAGS= -i -T"
  5888.  
  5889. #PFU Compact A Series UNIX System V R3, SX/A TISP V10/L50 (Japan)
  5890. #Maybe the -i link option should be removed?
  5891. sxae50:
  5892.     @echo 'Making C-Kermit $(CKVER) for PFU SX/A V10/L50...'
  5893.     $(MAKE) xermit \
  5894.     "CFLAGS= -DSVR3 -DDIRENT -DsxaE50 -DTCPSOCKET $(KFLAGS) -i -O" \
  5895.     "LNKFLAGS= "
  5896.  
  5897. #Tektronix 6130, 4319, 4301, etc, with UTek OS, /usr/spool/uucp/LCK./...
  5898. #The models that support hardware flow control.
  5899. utek:
  5900.     @echo 'Making C-Kermit $(CKVER) for 4.2BSD/UTek, hardware flow control'
  5901.     $(MAKE) wermit \
  5902.     "CFLAGS= -O -DLCKDIR -DBSD4 -DTCPSOCKET \
  5903.     -DUTEK -DDCLPOPEN -DLOCK_DIR=\\\"/usr/spool/uucp/LCK.\\\" \
  5904.     -DTRMBUFL=2048 -DCK_DTRCTS $(KFLAGS)"
  5905.  
  5906. #Tektronix 4315, 4316, 4317 with UTek OS, /usr/spool/uucp/LCK./...
  5907. #The models that do not fully support hardware flow control.
  5908. uteknohwfc:
  5909.     @echo 'Making C-Kermit $(CKVER) for 4.2BSD/UTek, no h/w flow control'
  5910.     $(MAKE) wermit \
  5911.     "CFLAGS= -O -DLCKDIR -DBSD4 -DTCPSOCKET \
  5912.     -DUTEK -DDCLPOPEN -DLOCK_DIR=\\\"/usr/spool/uucp/LCK.\\\" \
  5913.     -DTRMBUFL=2048 $(KFLAGS)"
  5914.  
  5915. #Tektronix XD88 with  UTekV OS
  5916. utekvr3:
  5917.     @echo 'Making C-Kermit $(CKVER) for Tektronix XD88 UTekV R3...'
  5918.     $(MAKE) wermit \
  5919.     "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP \
  5920.     -DTCPSOCKET -DSYSUTIMEH -DCK_CURSES $(KFLAGS) -O" \
  5921.     "LIBS= -lcurses" "LNKFLAGS= -s"
  5922.  
  5923. #Perkin-Elmer 3200 Xelos R02 or earlier
  5924. ccop1:
  5925.     @echo 'Making C-Kermit $(CKVER) for Xelos & Public Domain Dirent calls'
  5926.     @echo 'or System V R2 or earlier...'
  5927.     $(MAKE) wermit \
  5928.     "CFLAGS = -DATTSV -Dvoid=int -DDIRENT -DCK_CURSES \
  5929.     $(KFLAGS) -O" "LNKFLAGS =" "LIBS= -lcurses -ltermlib"
  5930.  
  5931. #Encore, UMAX 4.3 (BSD) but without acucntrl program.
  5932. encore:
  5933.     $(MAKE) "MAKE=$(MAKE)" umax43 "KFLAGS=$(KFLAGS)"
  5934.  
  5935. #Encore, as above, but with curses file transfer display included.
  5936. encorec:
  5937.     $(MAKE) "MAKE=$(MAKE)" umax43 "KFLAGS=-DCK_CURSES $(KFLAGS)" \
  5938.     "LIBS= -lcurses -ltermcap"
  5939.  
  5940. #Encore, UMAX 4.3 (BSD) but without acucntrl program.
  5941. umax43:
  5942.     @echo Making C-Kermit $(CKVER) for Encore UMAX 4.3...
  5943.     $(MAKE) "MAKE=$(MAKE)" PARALLEL=4 xermit \
  5944.     "CFLAGS= -DBSD43 -DENCORE -DTCPSOCKET $(KFLAGS) -O"
  5945.  
  5946. #Encore, UMAX 4.2 (BSD)
  5947. umax42:
  5948.     @echo Making C-Kermit $(CKVER) for Encore UMAX 4.2...
  5949.     $(MAKE) "MAKE=$(MAKE)" PARALLEL=4 xermit \
  5950.     "CFLAGS= -DBSD4 -DENCORE -DTCPSOCKET $(KFLAGS) -O"
  5951.  
  5952. #Encore 88K UMAX 5.3 with TCP/IP support
  5953. encore88k:
  5954.     @echo 'Making C-Kermit $(CKVER) for Encore 88K UMAX V, TCP/IP...'
  5955.     $(MAKE) xermit \
  5956.     "CFLAGS = -q ext=pcc -DSVR3 -DTCPSOCKET -DDIRENT \
  5957.     -DNOGETID_PROTOS -DHDBUUCP $(KFLAGS) -O" "LNKFLAGS ="
  5958.  
  5959. #Encore 88K UMAX 5.3 with TCP/IP support
  5960. encore88kgcc:
  5961.     @echo 'Making C-Kermit $(CKVER) for Encore 88K UMAX V, TCP/IP, gcc...'
  5962.     $(MAKE) xermit CC=gcc CC2=gcc \
  5963.     "CFLAGS = -DSVR3 -DTCPSOCKET -DDIRENT \
  5964.     -DNOGETID_PROTOS -DHDBUUCP $(KFLAGS) -O" "LNKFLAGS ="
  5965.  
  5966. #SONY NEWS, NEWS-OS 4.01C
  5967. sonynews:
  5968.     @echo Making C-Kermit $(CKVER) for SONY NEWS-OS 4.01C...
  5969.     $(MAKE) xermit "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -O"
  5970.  
  5971. #Run Lint on this mess for selected versions.
  5972. #These are pretty much obsolete since ANSI C / gcc.
  5973. lintsun:
  5974.     @echo 'Running Lint on C-Kermit $(CKVER) sources for SunOS version...'
  5975.     lint -x -DSUNOS4 -DDIRENT -DTCPSOCKET -DSAVEDUID \
  5976.     ck[cu]*.c > ckuker.lint.sun
  5977.  
  5978. lintbsd:
  5979.     @echo 'Running Lint on C-Kermit $(CKVER) sources for BSD 4.2 version..'
  5980.     lint -x -DBSD4 -DTCPSOCKET ck[cu]*.c > ckuker.lint.bsd42
  5981.  
  5982. lints5:
  5983.     @echo 'Running Lint on C-Kermit $(CKVER) sources for Sys V version...'
  5984.     lint -x -DATTSV ck[cu]*.c > ckuker.lint.s5
  5985.  
  5986. #Who remembers TECO?
  5987. love:
  5988.     @echo 'Not war?'
  5989.