apply 010_makefile-destdir-support
[ckermit.git] / makefile
1 # makefile / Makefile / ckuker.mak / CKUKER.MAK
2 #
3 # Sat Apr 17 14:49:18 2004
4 BUILDID=20040417
5 #
6 CKVER= "8.0.211"
7 #
8 # -- Makefile to build C-Kermit for UNIX and UNIX-like platforms --
9 #
10 # Copyright (C) 1985, 2004,
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 Jeff Altman for the
22 # secure-target entries, Peter Eichhorn, assyst GmbH, for the consolidated
23 # HP-UX entries and the "uninstall" target, to Robert Lipe for the updated
24 # and consolidated SCO UNIX / ODT / OSR5 entries, to Ric Anderson for the
25 # IRIX 6.x entries.
26 #
27 # Most entries use the "xermit" target, which uses the select()-based CONNECT
28 # module, ckucns.c.  The "wermit" target uses the older fork()-base CONNECT
29 # module, ckucon.c, which has some drawbacks (but is more portable).  If your
30 # entry still uses the "wermit" target, please try substituting the "xermit"
31 # one and if it works, let us know (mailto:kermit-support@columbia.edu).
32 # When changing a target over from wermit to xermit, also remove -DNOLOEARN.
33 #
34 # CAREFUL: Don't put the lowercase word "if", "define", or "end" as the first
35 # word after the "#" comment introducer in the makefile, even if it is
36 # separated by whitespace.  Some versions of "make" understand these as
37 # directives.  Uppercase letters remove the danger, e.g. "# If you have..."
38 #
39 # WARNING: This is a huge makefile and it contains nested makes.  Some "make"
40 # programs might run out of memory.  If this happens to you, edit away the
41 # parts that do not apply to your platform and try again.
42 #
43 # Certain UNIX variations have their own separate makefiles:
44 #  . For 2.10 or 2.11 BSD on DEC PDP-11s, use ckubs2.mak.
45 #  . For Plan 9, use ckpker.mk.
46 #
47 # Separate build procedures are provided non-UNIX platforms: VMS, VOS,
48 # AOS/VS, etc.  See the ckaaaa.txt file for details.
49 #
50 #
51 # DIRECTIONS
52 #
53 # Rename this file to "makefile" or "Makefile" if necessary.  Pick out the
54 # entry most appropriate for your UNIX version from the list below and then
55 # give the appropriate "make" command, for example "make aix43", "make sys5r4",
56 # "make linux".  If you experience any difficulties with the build procedure,
57 # then please also read any comments that accompany the make entry itself
58 # (search for the make entry name on the left margin).
59 #
60 # Other entries:
61 #  'make install' is an installation script (read accompanying comments!).
62 #  'make clean' removes intermediate and object files.
63 #
64 # IMPORTANT:
65 #   For more detailed installation instructions, read the files ckuins.txt
66 #   and ckccfg.txt, also available at the Kermit website in HTML form:
67 #   http://www.columbia.edu/kermit/ckuins.html
68 #   http://www.columbia.edu/kermit/ckccfg.html
69 #
70 #  For descriptions of known problems and limitations,
71 #   read the files ckcbwr.txt and ckubwr.txt (the "beware files") or:
72 #   http://www.columbia.edu/kermit/ckcbwr.html
73 #   http://www.columbia.edu/kermit/ckubwr.html
74 #
75 # Most entries build C-Kermit with its symbol table included.  To reduce the
76 # size of the executable program, add "LNKFLAGS=-s" to the end of your 'make'
77 # command or to the makefile entry, or 'strip' the executable after
78 # building.  To further reduce the size after building, use 'mcs -d' if your
79 # Unix version has such a command.  For further details on size reduction, read
80 # ckccfg.txt to find out how to remove features that you don't need.
81 #
82 # TCP/IP networking support: If your C-Kermit version does not include TCP/IP
83 # networking, but your UNIX system does, try adding -DTCPSOCKET to the CFLAGS
84 # of your makefile entry.  If that doesn't work, look at some of the other
85 # entries that include this flag for ideas about what libraries might need to
86 # be included (typically -lsocket and/or -lBSD and/or -lnsl and/or -linet).
87 # NOTE: In some cases (old versions of SCO or HP-UX), you might need not only
88 # a C compiler, but also a "TCP/IP developers kit" for the required object
89 # libraries and header files.
90 #
91 # Fullscreen file transfer display support: If you are going to use C-Kermit
92 # for establishing connections (dialed, network, etc), you can configure it to
93 # produce a formatted file transfer display by including the curses library
94 # and adding -DCK_CURSES to the CFLAGS for your option, and linking with the
95 # appropriate libraries.  There are many examples below, usually ending in
96 # "c", like sunos41c.  Also add -DCK_WREFRESH if your curses library includes
97 # clearok() and wrefresh() functions (or remove -DNOWREFRESH if the linker
98 # complains that it can't find these functions).
99 #
100 # Please report modifications, failures (preferably with fixes) or successes
101 # to the author.
102 #
103 # SECURE TARGETS
104 #  These are described after the next section.  Search for ******* below.
105 #
106 # TARGETS FOR DIFFERENT UNIX PLATFORMS AND VERSIONS:
107 #
108 # + Marks those that have been built successfully for C-Kermit 8.0 or later.
109 # - Those that once built OK but no longer do (e.g. too big).
110 # ? Those that worked in a previous version but have not been tested recently.
111 # --------------------------
112 # ? for 386BSD (Jolix) 0.0, 0.1, "make 386bsd" (see comments in entry),
113 #     or (preferably, if it works) "make bsd44" or "make bsd44c".
114 # ? for Acorn RISCiX, "make riscix" or "make riscix-gcc"
115 # ? for Alliant FX/8 with Concentrix 4.1 or later, "make bsdlck"
116 # ? for Altos 486, 586, 986 with Xenix 3.0, "make altos"
117 # ? for Altos ACS68000, 8Mhz 68000, UNIX System 3 Rel 2, 512K, "make altos3"
118 # ? for Amdahl UTS 2.4 on IBM 370 series & compatible mainframes, "make uts24"
119 # ? for Amdahl UTSV IBM 370 series & compatible mainframes, "make utsv"
120 # ? for Amdahl UTSV IBM 370 series mainframes with TCP/IP, "make utsvtcp"
121 # ? for Amdahl mainframes with UNIX System V R 5.2.6b 580, "make sys3"
122 # ? for Apollo Aegis 9.x, DOMAIN/IX 9.x, "make aegis"
123 #    (Last tested in C-Kermit 5A(189))
124 # ? for Apollo DOMAIN/IX, if the above fails, try "make apollobsd"
125 # ? for Apollo with SR10.0 or later, BSD environment, "make sr10-bsd"
126 # ? for Apollo with SR10.0 or later, System V environment, "make sr10-s5r3"
127 # ? for Apple Macintosh II with A/UX pre-3.0, "make aux", "auxgcc" or "auxufs"
128 # ? for Apple Macintosh with A/UX 3.0 and gcc, "make aux3gcc" or aux3gccc
129 # ? for Apple PowerMac with MkLinux, "make mklinux" (read Linux entry first)
130 # + for Apple PowerMac with LinuxPPC, "make linuxppc"
131 # ? for Apple Macintosh with Minix 1.5.10, "make minix68k" or "make minixc68"
132 # + for Apple Macintosh with Mac OS X 1.0 (Rhapsody), "make macosx10"
133 #     (no curses), "make macosx10c" (curses), or "make macosx10nc" (ncurses).
134 #     Or "make macosx10ncx" (ncurses but "make macosx10nc" doesn't work).
135 # + for Apple Macintosh with Mac OS X 10.2, "make macosx102nc" (ncurses).
136 # + for Apple Macintosh with Mac OS X 10.3, "make macosx103"
137 # ? for Arix System 90 with AT&T SVR3, "make sys5r3na"
138 # - for AT&T 6300 with IN/ix, "make sys5"
139 # - for AT&T 6300 PLUS, "make att6300" or (with no debugging) "make att6300nd"
140 # ? for AT&T 6386 WGS UNIX PC, "make sys5r3"
141 # + for AT&T 3B2, 3B20 systems, "make att3b2".
142 #   for AT&T 3B1, 7300 UNIX PC (see notes with the entries):
143 #     In C-Kermit 7.0, only the gcc entries work:
144 # +   "make sys3upcg", "make sys3upcgc", "make att351gm"
145 #    The others fail with "too many defines" (usually in ckuusr.h):
146 # -   "make sys3upc", "make sys3upcold", "make sys3upcc", "make sys3upcx",
147 #       "make sys3upcm", "make att351m"
148 # ? for AT&T System III/System V R2 or earlier, "make sys3" or "make sys3nid"
149 # ? for AT&T System III/System V with Honey DanBer UUCP, "make sys3hdb"
150 # ? for AT&T System V on DEC VAX, "make sys3" or "make sys5r3"
151 # + for AT&T System V R3, use "make sys5r3" or "make sys5r3c"
152 # + for AT&T System V/386 R3.2 built on Interactive 4.1.1, "make sys5r32is".
153 # ? for AT&T System V/386 R320.0 Versyss Systems, use "make sys5r3"
154 #     or "make sys5r3c".
155 # + for AT&T System V R4, "make sys5r4", "make sys5r4sx", or "make sys5r4nx",
156 #     or if the ANSI C function prototyping makes trouble, add -DNOANSI,
157 #     as in "sys5r4sxna" entry
158 # + for AT&T (USL) System V R4.2 use the sys5r4* entries.
159 # ? for Atari Falcon with MiNT, "make posix"
160 # ? for Atari ST with Minix ST 1.5.10.3, "make minix68k" or "make minixc68"
161 # ? for BBN C/70 with IOS 2.0, "make c70"
162 # ? for BeBox with Be OS 1.x DR7, "make beboxdr7"
163 #     Compiles OK but doesn't link with default linker which is limited to 64K.
164 #     Links OK with "Code Warrior Gold".  Many hacks in the source code need
165 #     to be removed when DR8 and later come out.
166 #     (Last tested in C-Kermit 6.0)
167 # - for BeBox with Be OS 1.x DR8, "make bebox"
168 #     (Needed functions missing from operating system and/or not working.)
169 # - for Bell Labs UNIX Version 6 (6th Edition), there is no makefile entry.
170 # ? for Bell Labs UNIX Version 7 (7th Edition), "make v7" (but see notes below)
171 #    (last built successfully in C-Kermit 5A188)
172 # ? for Bell Labs Research UNIX Version 10, "make bellv10"
173 #    (last built successfully in C-Kermit 6.0)
174 # ? for Bell Labs / Lucent Plan 9, use separate makefile ckpker.mk:
175 #    can be built for Intel, MIPS, 680x0, and PowerPC (last built C-Kermit 7.0)
176 # + for BSDI BSD/386 1.x, "make bsdi"
177 # + for BSDI BSD/OS 2.x, "make bsdi2"
178 # + for BSDI BSD/OS 3.0 or 3.1, "make bsdi3"
179 # + for BSDI BSD/OS 4.x, "make bsdi4"
180 # + for BSDI BSD/OS 4.x, to build a binary that also works on FreeBSD,
181 #     "make bsdix".
182 # ? for Berkeley Unix 2.4, "make v7" (but read v7 material below)
183 # ? for Berkeley Unix 2.9 (DEC PDP-11 or Pro-3xx), "make bsd29"
184 # - for Berkeley Unix 2.10, use ckubs2.mak (a separate makefile)
185 # - for Berkeley Unix 2.11, use ckubs2.mak (a separate makefile)
186 #     This makefile is too big.  Read the instructions in ckubs2.mak.
187 #     "make -f ckubs2.mak bsd210" or "make -f ckubs2.mak bsd211".
188 #     (last built successfully in C-Kermit 6.0 - later versions too big)
189 # + for Berkeley Unix 2.11 "make -f ckubs2.mak bsd210noicp" (no command parser)
190 # ? for Berkeley Unix 4.1, "make bsd41"
191 # + for Berkeley Unix 4.2 on VAX, "make bsd42" or "make bsd42c"
192 # ? for Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP, "make bsdhdb"
193 # + for Berkeley Unix 4.3 on VAX, "make bsd43", "make bsd43nc".
194 # + for Berkeley Unix 4.3 on VAX, no networking "make bsd43nonet.
195 # + for Berkeley Unix 4.3 without acucntrl program, "make bsd42" or "bsd42c"
196 #     NOTE: all the C-Kermit 7.0 full builds for old BSDs fail with
197 #     "too many defines" in CPP, even on big architectures like VAX.  This
198 #     can be worked around with a clever ruse.  See comments at target.
199 # + for Berkeley Unix 4.3, command-line only, "make bsdm".
200 # + for Berkeley Unix 4.3-Tahoe, same as 4.3 BSD
201 # + for Berkeley Unix 4.3-Reno, "make bsd43" or "make bsd44" or "make bsd44c"
202 # + for Berkeley Unix 4.3-Carson City, "make bsd44" or "make bsd44c"
203 # + for Berkeley Unix 4.4-Networking/2 or -Alpha, "make bsd44" or "make bsd44c"
204 # + for Berkeley Unix 4.4, "make bsd44" or "make bsd44c"
205 # + for Berkeley Unix 4.4-Lite, "make bsd44" or "make bsd44c"
206 # ? for Bull DPX/2 with BOS/X, "make bulldpx2"
207 # ? for Cadmus, "make sys3"
208 #   for Caldera, see SCO, Linux.
209 # ? for Callan Unistar, "make sys3"
210 # ? for CDC VX/VE 5.2.1 System V emulation, "make vxve"
211 # ? for Charles River Data Systems Universe 680x0 with UNOS 9.2, maybe
212 #     also other UNOS versions, "make crds"
213 # ? for CIE Systems 680/20 with Regulus, "make cie"
214 # + for Commodore Amiga 3000UX Sys V R4, "make sys5r4sx"
215 # + for Commodore Amiga 3000UX Sys V R4 and TCP/IP, "make svr4amiganet"
216 # ? for Commodore Amiga with Minix 1.5.10, "make minix68k" of "make minixc68"
217 # ? for Concurrent/Masscomp with RTU 4.0 or later, BSD environment, "make
218 #     rtubsd", "make rtubsd2", "make rtubsd3" (depending on where ndir.h
219 #     is stored, see entries below).
220 # ? for Concurrent/Masscomp with RTU 4.0 or later, System V R2, "make rtus5"
221 # ? for Concurrent (Perkin-Elmer) 3200 series, "make sys5".
222 # ? for Concurrent (Perkin-Elmer) 3200 series with <dirent.h>, "make ccop1"
223 # + for Concurrent PowerMAX OS SVR4, "make powermax"
224 # ? for Consensys UNIX SV/386 R4V3, "make sys5r4sxtcpc" or "make sys5r4sx"
225 # ? for Convergent with CTIX Sys V R2, "make sys5"
226 # ? for Convergent with CTIX 6.4.1, "make ctix"
227 # ? for Convex C1, "make convex"
228 # ? for Convex C210 with Convex/OS 8, "make convex8"
229 # ? for Convex C2 with Convex/OS 9.1, "make convex9"
230 # ? for Convex C2 with Convex/OS 10.1 and gcc 2.x, "make convex10gcc"
231 # ? for Cray Research X/MP or YMP or C90 with UNICOS 6.x (System V R3),
232 #       "make cray"
233 # ? for Cray Research X/MP or YMP or C90 with UNICOS 7.x (System V R4),
234 #       "make cray"
235 # ? for Cray Research X/MP or YMP or C90 with UNICOS 8.0 Alpha, "make cray8"
236 # ? for Cray Research X/MP or Y-MP or C90 with UNICOS 9.0, "make cray9"
237 # ? for Cray Computer Cray-2 or Cray3 with CSOS, "make craycsos"
238 # ? for Cyber 910 (Silicon-Graphics Iris) with Irix 3.3, "irix33"
239 # ? for Data General AViiON with DG/UX 5.4 before R3.00, "make dgux540"
240 #     or "make dgux540c" (compile ckwart separately if necessary)
241 # + for DG/UX 5.4 on AViiON Intel models, "make dgux540i" or dgux540ic.
242 # ? for DG/UX 5.4R4.11 on AViiON, all models, "make dgux54411"
243 # + for DG/UX 5.4R4.20 on AViiON, all models, "make dgux54420"
244 # + for Data General AViiON with DG/UX 4.3x using Sys V-isms, "make dgux430"
245 # ? for Data General AViiON with DG/UX 4.3x using BSD-isms, "make dgux430bsd"
246 # ? for Data General AViiON, earlier UNIX versions,
247 #     "make sys5r3" (maybe compile ckwart separately, or "touch ckcpro.c")
248 # ? for Data General MV systems with DG/UX, ???
249 # ? for Data General MV systems with MV/UX, use AOS/VS C-Kermit (CKDKER.MAK)
250 # ? for Data General MV systems with AOS/VS, use CKDKER.MAK (last = C-K 7.0)
251 #   for DEC PDP-11 with Berkeley UNIX 2.x, see Berkeley UNIX 2.x.
252 # ? for DEC PDP-11 with Mini-UNIX (Bell 6th Edition for PDP-11 with no MMU),
253 #     probably no way to fit C-Kermit without I&D space.
254 # ? for DEC PDP-11 with Ultrix-11 3.x, ??? (probably needs overlays)
255 # ? for DEC VAX with Ultrix 1.x "make bsd"
256 # ? for DEC VAX with Ultrix 2.x "make ultrix2x"
257 # ? for DEC VAX or DECstation with Ultrix 3.0, 3.1, "make ultrix3x"
258 # ? for DECstation or VAX with Ultrix 4.0 or 4.1, "make ultrix40"
259 # ? for DECstation or VAX with Ultrix 4.2, "make ultrix42" or "make ultrix42c"
260 # ? for DECstation or VAX with Ultrix 4.x, POSIX world, "make posix"
261 # + for DECstation or VAX with Ultrix 4.3, "make ultrix43".
262 # + for DECstation or VAX with Ultrix 4.4, "make ultrix44".
263 # ? for DECstation 5000/50, /150 or /260 (R4x00 MIPS CPU), Ultrix 4.3A or later
264 #     "make ultrix43-mips3" or "make ultrix43c-mips3"
265 # ? for DECstation (MIPS) with Berkeley Sprite, "make bsd44"?
266 # ? for DECstation (MIPS) with OSF/1 V1.0 to 1.3, "make dec-osf"
267 # ? for DEC Alpha with OSF/1 1.0 to 1.3, "make dec-osf"
268 # ? for DEC PC 486 with OSF/1, "make dec-osf"
269 # ? for DEC Alpha with OSF/1 2.x, "make dec-osf20"
270 # + for DEC Alpha with OSF/1 3.0, "make dec-osf30"
271 # + for DEC Alpha with Digital UNIX 3.2, "make du32"
272 # + for DEC Alpha with Digital UNIX 4.0-4.0D, "make du40" or "make du40gcc"
273 # + for DEC Alpha with Digital UNIX 4.0E or higher, see Tru64.
274 # - for DEC Pro-350 with Pro/Venix V1.x, "make provx1" (version 5A is too big)
275 # ? for DEC Pro-380 with Pro/Venix V2.0 (Sys V), "make sys3" or "make sys3nid"
276 # ? for DEC Pro-380 with 2.9, 2.10, or 2.11 BSD, "make bsd29" or "make bsd210"
277 #   for DEC PDP-11 with 2.xBSD (use separate makefile ckubs2.mak)
278 # ? for Dell UNIX Issue 2.x (= USL Sys V/386 R4.x + fixes), "make dellsys5r4"
279 #     or "make dellsys5r4c" (last tested in C-Kermit 5A).
280 # ? for DIAB DS90 with DNIX (any version) create an empty <sys/file.h> if
281 #     this file does not already exist (or add -DNOFILEH to the make entry).
282 # ? for DIAB DS90 with DNIX 5.2 (Sys V.2) or earlier, "make dnix",
283 #     "make dnixnd", or (to add curses and TCP/IP) "make dnixnetc",
284 # ? for DIAB DS90 with DNIX 5.3 (Sys V.3), "make dnix5r3"
285 # ? for DIAB DS90 with DNIX 5.3 (Sys V.3) and TCP/IP, "make dnix5r3net"
286 # ? for DIAB DS90 with DNIX 5.3 2.2 (Sys V.3), ANSI C, "make dnix5r3ansi"
287 #     or, to include TCP/IP, "make dnix5r3ansinet",
288 #     but you have to fix a bug in /usr/include/stdlib.h first:
289 #     change "extern void free(char *str);" to "extern void free(void *str);"
290 # ? for Dolphin Server Technology Triton 88/17 with SV/88 R3.2, "make sv88r32"
291 # ? for Encore Multimax 310, 510 with Umax 4.2, "make umax42"
292 # ? for Encore Multimax 310, 510 with Umax 4.3, "make umax43"
293 # ? for Encore Multimax 310, 510 with Umax V 2.2, use Berkeley cc, "make bsd"
294 # ? for Encore 88K with Umax V 5.2, "make encore88k"
295 # ? for ESIX System V R4.0.3 or 4.04 with TCP/IP support, "make esixr4"
296 #     NOTE: You can also build on Unixware 2.x with "make esixr4", and run
297 #     on ESIX, but there you must first:
298 #       ln /usr/lib/libsocket.so /usr/lib/libsocket.so.1
299 #       ln /usr/lib/libnsl.so /usr/lib/libnsl.so.1
300 #     (This worked for C-Kermit 6.0 but does not work for 7.0)
301 #     (But you can probably still build a non-networking version this way)
302 # ? for Everex STEP 386/25 Rev G with ESIX Sys V R3.2D, "make sys5r3"
303 # ? for Fortune 32:16, For:Pro 1.8, "make ft18"
304 # ? for Fortune 32:16, For:Pro 2.1, "make ft21"
305 # ? for FPS 500 with FPX 4.1, "made bsd"
306 # + for FreeBSD 1.0, "make freebsd1"
307 # + for FreeBSD 2.x, "make freebsd2" (ncurses) or "make freebsd2c" (curses)
308 # + for FreeBSD 3.x, "make freebsd3" (ncurses) or "make freebsd3c" (curses)
309 # + for FreeBSD 4.0, "make freebsd4"
310 # + for FreeBSD 4.1, "make freebsd41"
311 # + for FreeBSD 4.2, "make freebsd42"
312 # + for FreeBSD 4.3, "make freebsd43"
313 # + for FreeBSD 4.4, "make freebsd44"
314 # + for FreeBSD 4.5, "make freebsd45"
315 # + for FreeBSD 4.6, "make freebsd46"
316 # + for FreeBSD 4.7, "make freebsd47"
317 # + for FreeBSD 4.8, "make freebsd48"
318 # + for FreeBSD 4.9, "make freebsd49"
319 # ? for FreeBSD 5.0, "make freebsd50"
320 # ? for FreeBSD 5.1, "make freebsd51"
321 # ? for Harris HCX-2900, "make sys5r3"
322 # ? for Harris Night Hawk 88K or 68K with CX/UX pre-6.1, "make sys5r3"
323 # ? for Harris Night Hawk 88K or 68K with CX/UX 6.1 or later, "make cx_ux"
324 # ? for Heurikon, "make sys3"
325 # ? for HP-3000, MPE/ix, "make posix"?
326 # + for HP-9000 Series 300 with 4.4BSD, "make bsd44"
327 # + for HP-9000 Series 500, HP-UX 5.21 and no networking "make hpux0500"
328 # + for HP-9000 Series 500, HP-UX 5.21 with WIN/TCP 1.2 "make hpux0500wintcp"
329 # + for HP-9000 Series, HP-UX 6.5, without long filenames,
330 #     "make hpux0650" or "make hpux0650c"
331 # + for HP-9000 Series, HP-UX 7.0 or later no long filenames, "make hpux0700sf"
332 #     or (to include tcp/ip, curses, etc) "make hpux0700sftcpc"
333 # + for HP-9000 Series with HP-UX 7.0, TCP/IP,long filenames,"make hpux0700lfn"
334 # + for HP-9000 300/400 Series (680x0) with HP-UX 8.0, TCP/IP, "make hpux0800"
335 #      or "make hpux0800c"
336 # + for HP-9000 700/800 Series (PA-RISC), HP-UX 8.0, TCP/IP, "make hpux0800pa"
337 #      or "make hpux0800pac"
338 # + for HP-9000 Series with HP-UX 8.0, no TCP/IP, long filenames,
339 #      "make hpux0800notcp"
340 # + for HP-9000 Series, HP-UX 9.0 - 9.10, TCP/IP, curses, restricted compiler
341 #     (no optimization, no ANSI), all models, "make hpux0900".  Read the
342 #     hpux0900 entry below for more info.
343 # + for HP-9000 700 and 800 Series, HP-UX 9.x, TCP/IP, curses,
344 #     HP optimizing ANSI C compiler, "make hpux0900o700".
345 # + for HP-9000 with Motorola CPUs, HP-UX 9.x, TCP/IP, curses,
346 #     HP optimizing ANSI C compiler, "make hpux0900mot".
347 # + for HP-9000 on other CPUs, HP-UX 9.x, TCP/IP, curses,
348 #     HP optimizing ANSI C compiler, "make hpux0900o".
349 # + for HP-9000 series, HP-UX 9.x, TCP/IP, curses, gcc, all models,
350 #     "make hpux0900gcc"
351 # + for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
352 #     curses, restricted compiler (no optimization, no ANSI) "make hpux1000".
353 # + for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
354 #     curses, HP ANSI/optimizing compiler "make hpux1000o" or "make hpux1000o+"
355 # + for HP-9000 HP-UX 10.00 or later with gcc, "make hpux1000gcc"
356 # + for Trusted HP-UX 10.xx "make hpux1000t", "make hpux1000to",
357 #     or make hpux1000to+"
358 # + for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
359 #     (no optimization, no ANSI) "make hpux1100".
360 # + for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
361 #     HP ANSI/optimizing compiler "make hpux1100o" or "make hpux1100o+"
362 # + for Trusted HP-UX 11.xx "make hpux1100t", "make hpux1100to",
363 #     make hpux1100to+"
364 # + for HP-9000 PA-RISC models with NeXTSTEP 3.3, "make nextquadfat".
365 # + for HP-9000 PA-RISC models with OPENSTEP/Mach 4.1, "make nextquadfat".
366 # ? for IBM 370 Series with IX/370, "make ix370"
367 # ? for IBM 370 Series with AIX/370 1.2, "make aix370"
368 # ? for IBM 370 Series with AIX/370 3.0, "make aix370"
369 # ? for IBM 370 Series with AIX/ESA 2.1, "make aixesa"
370 # - for IBM PC/AT 286 & compatibles with Mark Williams Coherent OS,
371 #     command-line-only version, "make coherent" (version 5A & later too big)
372 # ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
373 #     minimum interactive version, "make coherentmi"
374 # ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
375 #     full interactive version, prior to v4.2, "make coherentmax"
376 # + for IBM PC 386 & compatibles with Mark Williams Coherent OS 4.2,
377 #     "make coherent42"
378 # ? for IBM PC 386 & compatibles with LynxOS 2.0 or 2.1, "make lynx21"
379 # ? for IBM PC 386 & compatibles with LynxOS 2.2, "make lynx"
380 # - for IBM PC/AT & compatibles with original MINIX, "make minix" (too big)
381 # ? for IBM PC family, 386-based, with MINIX/386 1.5, "make minix386"
382 #     or if you have GNU CC, "make minix386gcc"
383 # + for IBM PC family, 386-based, with MINIX 2.0, "make minix20"
384 # + for IBM PS/2 with PS/2 AIX 1.0, 1.1, or 1.2, "make ps2aix" or ps2aixnetc.
385 # ? for IBM PS/2 with PS/2 AIX 1.3, "make ps2aix3"
386 # ? for IBM RISC System/6000 with AIX 3.0, "make aix30"
387 # ? for IBM RISC System/6000 with AIX 3.1.x, "make aix31"
388 # + for IBM RISC System/6000 with AIX 3.2.0 thru 3.2.5, "make aix32"
389 # + for IBM RS/6000 or Power Series with AIX 4.1.x, "make aix41"
390 # + for IBM RS/6000 or Power Series with AIX 4.1.x with gcc, "make aix41g"
391 # + for IBM RS/6000 or Power Series with AIX 4.1 with X.25, "make aix41x25"
392 # + for IBM RS/6000 or Power Series with AIX 4.2, "make aix42"
393 # + for IBM RS/6000 or Power Series with AIX 4.3, "make aix43" (or aix43gcc)
394 # + for IBM RS/6000 or Power Series with AIX 4.4, "make aix44" (or aix44gcc)
395 # + for IBM RS/6000 or Power Series with AIX 4.5, "make aix45" (or aix45gcc)
396 # + for IBM RS/6000 or Power Series with AIX 5.0, "make aix50" (or aix50gcc)
397 # + for IBM RS/6000 or Power Series with AIX 5.1, "make aix51" (or aix51gcc)
398 # ? for IBM RS/6000 or Power Series with AIX 5.2, "make aix52" (or aix52gcc)
399 # ? for IBM RS/6000 or Power Series with AIX 5.3, "make aix53" (or aix53gcc)
400 # ? for IBM RT PC with AIX 2.1, "make sys3"
401 # + for IBM RT PC with AIX 2.2.1, "make rtaix" or "make rtaixc"
402 # ? for IBM RT PC with ACIS 4.2, "make bsd"
403 # ? for IBM RT PC with ACIS 4.3, "make rtacis" or "make bsd KFLAGS=-DNOANSI"
404 # ? for IBM RT PC with 4.3BSD/Reno, "make bsd44" or "make bsd44c"
405 # ? for ICL DRS400 or 400E, "make iclsys5r3"
406 # ? for ICL DRS3000 (80486) with DRS/NX, "make iclsys5r4_486"
407 # ? for ICL DRS6000 (SPARC) with DRS/NX, "make iclsys5r4"
408 # + for ICL DRS6000 (SPARC) with DRS/NX 4.2MP 7MPlus, "make iclsys5r4m+"
409 # ?     Ditto but with IKSD support included, "make iclsys5r4m+iksd"
410 # ? for Integrated Solutions Inc V8S VME 68020, "make isi"
411 # ? for Intel 302 with Bell Tech Sys V/386 R3.2, "make sys5r3"
412 # ? for Intel Xenix/286, "make sco286"
413 # ? for Interactive System III (PC/IX), "make pcix" or "make is3"
414 # ? for Interactive System III (PC/IX) with gcc, "make is3gcc"
415 # ? for Interactive 386/ix 1.0.6 with TCP/IP networking, "make is5r3net2"
416 # ? for Interactive 386/ix 2.0.x, "make is5r3" or (POSIX) "make is5r3p"
417 # ? for Interactive 386/ix 2.0.x with TCP/IP networking, "make is5r3net"
418 #     or "make is5r3net2"
419 # ? for Interactive 386/ix 2.2.1, job control, curses, no net, gcc,
420 #     "make is5r3gcc"
421 # + for Interactive UNIX Sys V R3.2 V2.2 - 4.0 without TCP/IP, "make is5r3jc"
422 # + for Interactive UNIX Sys V R3.2 V2.2 - 4.0 with TCP/IP, "make is5r3netjc"
423 # + for Intergraph Clipper, "make clix" or "make clixnet"
424 # ? for Jolix (see 386BSD)
425 # + for Red Hat Linux 7.1 (and higher) fully configured (krb5, SSL, etc):
426 #     "make redhat71", "make redhat72", "make redhat73", "make redhat80"
427 #     "make redhat9"
428 #     NOTE: You must use this target for Red Hat 7.1 since it
429 #     also includes a workaround for its broken curses library.
430 #     WARNING: These targets create binaries that include code for
431 #     strong encryption and are therefore not exportable. DO NOT PUT
432 #     THESE BINARIES ON US OR CANADIAN WEB OR FTP SITES.
433 # + for Linux 1.2 and later, "make linux".  Uses ncurses.  This version
434 #     handles serial speeds up to 460800 bps, Linux FSSTD 1.2, TCP/IP, and
435 #     should work on both libc and glibc systems.  For static linking, use
436 #     "make linux LNKFLAGS=-static".  Please read the comments that accompany
437 #     the linux entry.
438 # + for Linux builds that fail with "sys/select.h: No such file or directory",
439 #     "make linuxns"
440 # + for Linux 1.2 and later but with curses.h and libcurses (rather than
441 #     ncurses.h and libncurses), use "make linuxc".
442 # + for Linux 1.2 and later with no curses support at all, "make linuxnc".
443 # + for Linux on PowerMac (Mklinux DR3), "make mklinux".
444 # + for Linux 1.2 and later, to build with egcs, "make linuxegcs".
445 # + for Linux with no TCP/IP, "make linuxnotcp"
446 # + for Linux with lcc compiler, no TCP/IP, "make linuxnotcp-lcc"
447 # ? for Linux 1.0 or earlier, "make linux10", or (to remove TCP/IP)
448 #     "make linuxnotcp".
449 #     IMPORTANT: Read the comments that accompany the "linux:" entry.
450 # ? for Mach 2.6 on (anything, e.g. DECstation), "make bsd42" or "make bsd43".
451 # ? for MachTen (Tenon) 2.1.1.D on (e.g.) Apple Powerbook, "make machten".
452 # ? for Masscomp RTU AT&T System III, "make rtu"
453 #   for other Masscomp, see Concurrent.
454 # ? for Microport SV/AT (System V R2), "make mpsysv" (last edit tested: 144)
455 # ? for Microport SVR4 2.2, 3.1, or 4.1 "make sys5r4sx"
456 # ? for Microsoft,IBM Xenix (/286, PC/AT, etc), "make xenix" or "make sco286"
457 # ? for MIPS System with RISC/os (UMIPS) 4.52 = AT&T SVR3, "make mips"
458 #     or "make mipstcpc"
459 # + for MkLinux on Power Macintosh, "make mklinux"
460 # ? for Modcomp 9730, Real/IX, "make sys5r3" (or modify to use gcc = GLS cc)
461 # ? for Modcomp Realstar 1000 with REAL/IX D.1, "make sv88r32"
462 # ? for Motorola Four Phase, "make sys3" or "make sys3nid"
463 # + for Motorola Delta System V/68 R3, "make sv68r3"
464 # + for Motorola Delta System V/68 R3V5, "make sv68r3v5"
465 # + for Motorola Delta System V/68 R3V5.1, "make sv68r3v51"
466 # + for Motorola Delta System V/68 R3V6 with NSE TCP/IP, "make sv68r3v6"
467 # + for Motorola Delta System V/88 R32, "make sv88r32"
468 # + for Motorola Delta System V/88 R40, "make sv88r40"
469 # ? for Mt Xinu Mach386 on 386/486-based PCs, "make bsd43"
470 # ? for NCR Tower 1632, OS 1.02, "make tower1"
471 # ? for NCR Tower 1632 or Minitower with System V R2, "make sys3"
472 #     or "make sys3nv"
473 # ? for NCR Tower 32, OS Release 1.xx.xx, "make tower32-1"
474 # ? for NCR Tower 32, OS Release 2.xx.xx, "make tower32-2"
475 # ? for NCR Tower 32, OS Releases based on Sys V R3, "make tower32"
476 # ? for NCR Tower 32, OS Releases based on Sys V R3 with gcc "make tower32g"
477 # ? for NCR System 3000, AT&T UNIX System V R4 2.0, "make sys5r4sxna"
478 # ? for NCR System 3000, AT&T UNIX System V R4 2.0 with Wollongong TCP/IP,
479 #     "make sys5r4net2" or "make sys5r4net2c".
480 #      Some header files might be misplaced; try this:
481 #       ln /usr/include/netinet/in.h /usr/include/sys/in.h
482 #       ln /usr/include/arpa/inet.h /usr/include/sys/inet.h
483 #       ln /usr/include/sys/termiox.h /usr/include/termiox.h
484 # ? for NCR System 3000, NCR UNIX 02.02.01, same as above.
485 # + for NCR MP-RAS System V R4 V2.03 or 3.02, "make mpras" or "make mprastcpc"
486 # + for NetBSD through 1.4.x on any architecture, "make netbsd"
487 # + for NetBSD 1.5.0 and later, "make netbsd15"
488 # + for NeXT with NeXTSTEP 1.0 through 3.2, "make next" (on a NeXT)
489 # + for NeXT with NeXTSTEP 3.3, "make next33"
490 # ? for NeXT with OPENSTEP/Mach 4.1, "make nextquadfat".
491 # + for NeXT with OPENSTEP/Mach 4.2, "make openstep42".
492 # ? for NeXTSTEP/486, "make next" (on a PC)
493 # ? for NeXTSTEP portable binary (runs on Intel or Motorola), "make nextfat"
494 # ? for NeXTSTEP portable binary (Intel, Motorola, HP PA-RISC, or SPARC),
495 #     "make nextquadfat"
496 # ? for Nixdorf Targon/31, "make t31tos40x"
497 # ? for Norsk Data Uniline 88/17 with SV/88 R3.2, "make sv88r32"
498 #   for Novell UnixWare - see UnixWare
499 # ? for OSF/1 (vanilla, from OS/F), "make posix"
500 # ? for OkiStation 7300 Series, "make sys5r4sxtcp"
501 # ? for Olivetti LSX-3020 with X/OS R.2.3, "make xos23" or "make xos23c"
502 # + for OpenBSD, "make openbsd" (also see secure targets listed below).
503 # ? for OPENSTEP/Mach 4.1, "make nextquadfat" (NeXT, Intel, PA-RISC, SPARC)
504 # + for OPENSTEP/Mach 4.2, "make openstep42" (tested on NeXT)
505 # ? for Perkin-Elmer (Concurrent) 3200 series, "make sys5".
506 # ? for Perkin-Elmer (Concurrent) 3200 series with <dirent.h>, "make ccop1"
507 # ? for Perkin-Elmer/Concurrent 3200 with Xelos R02, "make ccop1"
508 # ? for PFU Compact A Series SX/A TISP V10/E50 (Japan), "make sxae50"
509 # ? for Plexus, "make sys3"
510 # + for Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1,
511 #     "ucb make pyramid" or for HDB UUCP, "ucb make pyramid-hdb" or:
512 # + for Pyramid MIServer S or ES Series, DataCenter/OSx, "make pyrdcosx"
513 # + for Pyramid MIS-S MIPS R3000, DataCenter OSx System V R4, "make pyrdcosx"
514 # + for POSIX on anything, "make posix" (but adjustments might be necessary).
515 # ? for Prime 8000 MIPS, SVR3, "make mips" or "make mipstcpc"
516 # - for QNX 2.x (sorry we don't have a version of C-Kermit for QNX 2.x)
517 # ? for QNX 4.0 or 4.1, 16-bit, on 286 PC, Watcom C 8.5, "make qnx16_41"
518 # + for QNX 4.21 - 4.22A (286+), and 4.23 (386+), or higher, 16-bit,
519 #     Watcom C 9.5x or higher, "make qnx16"
520 # + for QNX 4.21-4.25, 32-bit, 386 or above, Watcom C 10.6, "make qnx32"
521 #     NOTE: ("make qnx" == "make qnx32")
522 # ? for QNX Neutrino 2+, "make qnx_nto2+" (crosscompiled on QNX4 with Watcom C)
523 # + for QNX 6 = Neutrino 2.xx, "make qnx6"
524 # ? for Ridge 32 (ROS3.2), "make ridge32"
525 # ? for Samsung MagicStation, "make sys5r4"
526 # ? for SCO Xenix 2.2.1 with development system 2.2 on 8086/8 "make sco86"
527 # ? for SCO Xenix/286 2.2.1 with development system 2.2 on 80286, "make sco286"
528 #     NOTE: reportedly this makefile is too long for SCO Xenix/286 make, but it
529 #     works with "makeL", or if some of the other make entries are edited out.
530 # ? for SCO Xenix/386 2.2.2, "make sco386"
531 # ? for SCO Xenix/386 2.3.x, "make sco3r2"
532 # ? for SCO Xenix/386 SCO 2.3.3 or 2.3.4 with gcc 1.37 or later,
533 #     "make sco386gcc" or (to add curses) "make sco386gccc".
534 # ? for SCO Xenix/386 or UNIX/386 with Excelan TCP/IP, "make sco3r2net"
535 #     or (to add curses support) "make sco3r2netc" or "sco386netc"
536 # + for SCO XENIX 2.3.4, "make sco234" or "make sco234c" to add curses.
537 # + for SCO XENIX 2.3.4 with SCO TCP/IP & curses, "make sco234netc".
538 # ? for SCO Xenix 2.3.x with Racal-InterLan TCP/IP, "make sco3r2netri"
539 #   for other UNIX varieties with Racal Interlan TCP/IP, read sco3r2netri entry
540 # ? for SCO Xenix 2.3.x with SCO (Lachman) TCP/IP, "make sco3r2lai"
541 #     or (to add curses) "make sco3r2laic"
542 #   for SCO UNIX...  ALSO READ COMMENTS in the SCO UNIX entries for more info!
543 # ? for SCO UNIX/386 3.2.0 or 3.2.1, "make sco3r2" or "make sco3r2x"
544 # ? for SCO UNIX/386 3.2.2, "make sco3r22" or "make sco3r22gcc"
545 #     or "make sco3r22c"
546 # ? for SCO UNIX/386 3.2.2 with SCO TCP/IP, "make sco3r22net"
547 #     or "make sco3r22netc" (curses)
548 # ? for SCO ODT 1.1, "make sco3r22net" or "make sco3r22netc" (curses)
549 # + for SCO UNIX/386 3.2 V4.x, no network support, "make sco32v4"
550 # +   or "make sco32v4ns" (this one uses no select() or sockets library)
551 # + for SCO UNIX/386 3.2 V4.x with TCP/IP, "make sco32v4net"
552 #     (also sco32v4gcc, sco32v4netgcc)
553 # + for SCO UNIX/386 3.2 V5.0 - see SCO OpenServer.
554 # + for SCO UNIX 3.2v4.x with TCP/IP, <dirent.h> for Extended Acer File
555 #     System (EAFS), curses, ANSI C compilation, "make sco32v4net"
556 # +   or (to use select()-based CONNECT module) "make sco32v4netx".
557 # + for SCO UNIX 3.2v4.2, "make sco-odt30" (includes TCP/IP).
558 # + for SCO MPX 3.0 - The SCO UNIX binary runs on the corresponding MPX system.
559 #
560 # NOTE: Also see below for other entries that are variations on these.
561 # Also be sure to read the comments accompanying each SCO entry.
562 # Also see Unixware section.
563 #
564 # + for SCO ODT 2.0, "make sco32v4net"
565 # + for SCO ODT 3.0, "make sco-odt30"
566 # + for SCO OpenServer 5.0 (OSR5), "make sco32v500"
567 # + for SCO OpenServer 5.0 (OSR5) with networking, "make sco32v500net"
568 # + for SCO OpenServer 5.0 (OSR5), gcc, "make sco32v500gcc"
569 # + for SCO OpenServer 5.0 (OSR5), gcc, with networking, "make sco32v500netgcc"
570 # + for SCO OpenServer 5.0 (OSR5), as above, ELF, "make sco32v500netgccelf"
571 # + for SCO OpenServer 5.0.2, use "make sco32v502xxx" entries as above.
572 # + for SCO OpenServer 5.0.4, use "make sco32v504xxx" entries as above.
573 # + for SCO OpenServer 5.0.5, use "make sco32v505xxx" entries as above.
574 #     Use the sco32v505udkxxx entries if you have the UDK rather than /bin/cc.
575 # + for SCO OpenServer 5.0.6, use "make sco32v506xxx" entries as above.
576 # + for SCO OpenServer 5.0.6a,use "make sco32v506axxx" entries as above.
577 # + for SCO OpenServer 5.0.7, use "make sco32v507", "make sco32v507net"
578 # ? for SCO (Univel) UnixWare 1.x, "make unixware" or "make unixwarenetc".
579 #     If there are problems with this in C-K 7+ see notes at unixware entry.
580 # + for SCO UnixWare 2.0.x, "make uw20"
581 # + for SCO UnixWare 2.1.0, "make uw21"
582 # + for SCO UnixWare 2.1.3, "make uw213"
583 # + for SCO UnixWare 7, "make uw7"
584 # + for SCO UnixWare 7 with IKSD support, "make uw7iksd" or "make uw7iksdudk"
585 # + for SCO UnixWare 7 with OpenSSL, "make uw7ssl"
586 # + for SCO (Caldera) Open UNIX 8, "make ou8"
587 # + for Sharp Zaurus SL5500 PDA, "make zsl5500".
588 # ? for Sequent with DYNIX/ptx 1.2.1, "make dynixptx12"
589 # ? for Sequent with DYNIX/ptx 1.3 or 1.4 with TCP/IP, "make dynixptx13"
590 # ? for Sequent with DYNIX/ptx 2.0 or 2.1 with TCP/IP, "make dynixptx20"
591 #     or "dynixptx20c"
592 # + for Sequent with DYNIX/ptx 2.1.6 on i486, "dynixptx216c"
593 # ? for Sequent with DYNIX/ptx V4.1.3 with TCP/IP, "make dynixptx41c"
594 # + for Sequent with DYNIX/ptx V4.4.2 with TCP/IP, "make dynixptx44"
595 # ? for Sequent Balance 8000 or B8 with DYNIX 3.0.xx, "make dynix3"
596 #    or "make dynix3noacu"
597 # ? for Sequent Symmetry S81 with DYNIX 3.0.xx, "make dynix3"
598 # ? for Sequent DYNIX 3.1.xx, "make dynix31" or "make dynix31c"
599 # + for Siemens/Nixdorf SINIX-L Intel V5.41, "make sinix541i"
600 # + for Siemens/Nixdorf SINIX-N MIPS V5.42, "make sinix542"
601 # + for Siemens/Nixdorf SINIX-P MIPS V5.42 with gcc, "make sinix542g"
602 # + for Siemens/Nixdorf SINIX-Z Intel V5.42, "make sinix542i"
603 # + for Siemens/Nixdorf Reliant UNIX V5.43, "make sni543"
604 # + for Siemens/Nixdorf Reliant UNIX V5.44, "make sni544"
605 # ? for Silicon Graphics Iris System V IRIX 3.2 or earlier, "make iris"
606 # ? for Silicon Graphics Sys V R3 with IRIX 3.3 or later, "make sys5r3"
607 # ? for Silicon Graphics Iris Indigo with IRIX 4.0 or 5.0, "make irix40" or
608 #     (to include Yellow Pages and Curses) "make irix40ypc"
609 # ? for Silicon Graphics Iris Indigo or Elan with IRIX 4.0.x with microcode
610 #     optimization and -O4, "make irix40u" or "irix40uc" (and read notes
611 #     accompanying these entries).
612 # + for Silicon Graphics IRIX 5.1, "make irix51" or "irix51x" (no optimize)
613 # + for Silicon Graphics IRIX 5.2, "make irix52"
614 # + for Silicon Graphics IRIX 5.3, "make irix53" or "irix53x" (no optimize)
615 # + for Silicon Graphics IRIX 6.0, "make irix60".
616 # + for Silicon Graphics IRIX 6.2, "make irix62".
617 # + for Silicon Graphics IRIX 6.3, "make irix63".
618 # + for Silicon Graphics IRIX 6.4, "make irix64" or "make irix64gcc".
619 # + for Silicon Graphics (SGI) IRIX 6.5, "make irix65" or "make irix65mips2"
620 # ? for Solaris 2.0-2.3 on SPARC or Intel, SunPro CC, "make solaris2x",
621 # ?   or to add SunLink X.25 8.0x support, "make solaris2x25".
622 # + for Solaris 2.4 built with gcc, "make solaris24g".
623 # + for Solaris 2.0-2.3 on SPARC or Intel, GNU CC, "make solaris2xg".
624 # + for Solaris 2.4 with X.25, "make solaris24x25".
625 # + for Solaris 2.5 on SPARC or Intel, SunPro CC, "make solaris25".
626 # +   or to add SunLink X.25 8.0x support, "make solaris25x25".
627 # + for Solaris 2.5 on SPARC or Intel, GNU CC, "make solaris25g".
628 # + for Solaris 2.6 on SPARC or Intel, "make solaris26".
629 # + for Solaris 7 on SPARC or Intel, SunPro CC, "make solaris7".
630 # + for Solaris 7 on SPARC or Intel, GNU CC, "make solaris7g".
631 # + for Solaris 8 on SPARC or Intel, SunPro CC, "make solaris8".
632 # + for Solaris 8 on SPARC or Intel, GNU CC, "make solaris8g".
633 # + for Solaris 9 on SPARC (or Intel?), 32-bit, SunPro CC, "make solaris9".
634 # + for Solaris 9 on SPARC (or Intel?), 32-bit, GNU CC, "make solaris9g".
635 # + for Solaris 9 on SPARC (or Intel?), 64-bit, GNU CC, "make solaris9g64".
636 # + for Solbourne 4/500 with OS/MP 4 "make sunos4"
637 # + for Solbourne 4/500 with OS/MP 4.1 "make sunos41" or "make sunos41c"
638 # ? for SONY NEWS with NEWS-OS 4.0.1C, "make sonynews"
639 # ? for SONY NEWS with NEWS-OS 4.1.2C, "make sonynews"
640 # ? for Sperry/UNISYS 5000/20, UTS V 5.2 3R1, "make sys5"
641 # ? for Sperry/UNISYS 5000/30/35/50/55, UTS V 5.2 2.01, "make unisys5r2"
642 # ? for Sperry/UNISYS 5000/80 with System V R3, "make sys5r3"
643 # ? for Sperry/UNISYS 5000/95 with System V R3, "make sys5r3"
644 #     For UNISYS SVR3 it might be necessary to "make sys5r3 KFLAGS=-UDYNAMIC"
645 # ? for Stardent 1520, "make sys5r3"
646 # ? for Stratus FTX 2.x, try "make ftx" or else "make sys5r4" or "sys5r4sx"
647 # + for Stratus FTX 3.x, PA-RISC 1.0 or 2.0, "make ftx" or "make ftxtcp"
648 # ? for Sun with Sun UNIX 3.5 and gcc, "make sunos3gcc"
649 # ? for Sun with pre-4.0 SunOS versions, "make bsd" (or appropriate variant)
650 # ? for Sun with SunOS 4.0, BSD environment, "make sunos4"
651 # ? for Sun with SunOS 4.0, BSD, with SunLink X.25, make sunos4x25
652 # + for Sun with SunOS 4.1 or 4.1.1, BSD environment, "make sunos41"
653 #     or "make sunos41c" (curses) or "make sunos41gcc" (compile with gcc)
654 # + for Sun with SunOS 4.1.x, BSD, with SunLink X.25 7.00 or earlier,
655 #     "make sunos41x25" or "make sunos41x25c" (curses)
656 # + for Sun with SunOS 4.1, 4.1.1, AT&T Sys V R3 environment, "make sunos41s5"
657 # + for Sun with SunOS 4.1.2, "make sunos41" or any of its variations.
658 #     NOTE:  All SunOS 4.x systems -- Shared libraries are used by default.
659 #       If this causes problems, add -Bstatic to CFLAGS.
660 #     NOTE2: When building C-Kermit under SunOS for the BSD universe,
661 #       but /usr/5bin/cc is ahead of /usr/ucb/cc in your PATH, add
662 #       "CC=/usr/ucb/cc CC2=/usr/ucb/cc" to the make entry.
663 #     NOTE3: If an executable built on one type of Sun hardware does not work
664 #       on another type, rebuild the program from source on the target machine.
665 #   for Sun with Solaris 1.x use SunOS 4.1 entries.
666 #   for Sun with Solaris 2.0 and higher use Solaris entries.
667 # + for Sun SPARC with Linux, "make linux"
668 # ? for Sun SPARC with OPENSTEP/Mach 4.1, "make nextquadfat"
669 # ? for Sun SPARC with OPENSTEP/Mach 4.2, "make openstep42"
670 # - for Tandy 16/6000 with Xenix 3.0, "make trs16" (C-Kermit 7.0 is too big)
671 # ? for Tektronix 6130/4132/43xx (e.g.4301) with UTek OS, "make utek"
672 #     or (for models without hardware flow control), "make uteknohwfc"
673 # ? for Tektronix XD88 series with UTekV OS, "make utekvr3"
674 # ? for Tri Star Flash Cache with Esix SVR3.2, "make sys5r3"
675 # + for Tru-64 UNIX 4.0E, "make tru64-40e"
676 # + for Tru-64 UNIX 4.0F, "make tru64-40f"
677 # + for Tru-64 UNIX 4.0G, "make tru64-40g"
678 # + for Tru-64 UNIX 5.0A, "make tru64-50a"
679 # + for Tru-64 UNIX 5.1A, "make tru64-51a"
680 # ? for Unistar, "make sys5"
681 # ? for Unisys S/4040 68040 CTIX SVR3.2 6.4.1, "make ctix" or "make sys5r3"
682 # ? for Unisys U5000 UNIX SVR3 6.x, "make sys5r3" or "make sys5r3c"
683 # ? for Unisys U6000 UNIX SVR4 1.x, "make sys5r4nx" or "make sys5r4nxnetc"
684 #   for Unisys ... (also see Sperry)
685 #   for Univel - see UnixWare
686 #   for Unixware - see SCO
687 # ? for Valid Scaldstar, "make valid"
688 # ? for Whitechapel MG01 Genix 1.3, "make white"
689 # ? for Zilog ZEUS 3.21, "make zilog"
690 #
691 # The result should be a runnable program called "wermit" in the current
692 # directory.  After satisfactory testing, you can rename wermit to "kermit"
693 # and put it where users can find it.
694 #
695 # To remove intermediate and object files, "make clean".
696 # If your C compiler produces files with an extension other than "o",
697 # then "make clean EXT=u", "make clean EXT=s", or whatever.
698 #
699 # To run lint on the source files, "make lintsun", "make lintbsd",
700 # "make lints5", as appropriate.
701 #
702 # ******************************
703 # SECURE TARGETS
704 #
705 # Beginning with C-Kermit 7.0, secure targets are included, as are the
706 # source modules (ckuat*.[ch], ck_*.[ch]) needed to build them.  Secure
707 # target names are like the regular names, but with security features
708 # indicated by plus (+) signs.  The features are:
709 #
710 # krb4     MIT Kerberos IV
711 # krb5     MIT Kerberos V
712 # openssl  OpenSSL (SSL/TLS)
713 # zlib     ZLIB compression for SSL/TLS
714 # srp      Stanford Secure Remote Password
715 # pam      PAM (pluggable authentication module)
716 # shadow   Shadow Password File
717 #
718 # You can build these targets if you have the Kermit source files and the
719 # required libraries (Kerberos, OpenSSL, SRP, etc) and header files.  See:
720 #   http://www.columbia.edu/kermit/security.html
721 # for specific details regarding supported versions.
722 #
723 # NOTE: OpenSSL 0.9.6 and earlier are not compatible with 0.9.7 and later.
724 # C-Kermit code is designed for 0.9.6.  To build with 0.9.7 you must add
725 # -DOPENSSL_097 to avoid missing symbols in the DES library and to use the
726 # entry points that were renamed to avoid conflict with Kerberos 4.
727 #
728 # In OpenSSL builds add -ldl if you get unresolved references for
729 # dlopen, dlclose, dlsym, and/or dlerror.
730 #
731 # The following symbols are used to specify library and header file locations
732 # Redefine them to the values used on your system by:
733 # . editing this file
734 # . defining the values on the command line
735 # . defining the values in the environment and use the -e option
736 #
737 prefix  = /usr/local
738 srproot = $(prefix)
739 sslroot = $(prefix)
740 manroot = $(prefix)
741
742 K4LIB=-L/usr/kerberos/lib
743 K4INC=-I/usr/kerberos/include
744 K5LIB=-L/usr/kerberos/lib
745 K5INC=-I/usr/kerberos/include
746 SRPLIB=-L$(srproot)/lib
747 SRPINC=-I$(srproot)/include
748 SSLLIB=-L$(sslroot)/ssl/lib
749 SSLINC=-I$(sslroot)/ssl/include
750 #
751 # aix41+krb5+krb4:                    IBM AIX 4.1 with Kerberos IV and V
752 # aix43gcc+krb5+krb4:                 IBM AIX 4.3 built with gcc, ditto
753 # aix43gcc+krb5+krb4+openssl:         Ditto, plus OpenSSL (SSL/TLS)
754 # aix43gcc+openssl:                   IBM AIX 4.3 with OpenSSL
755 # freebsd44+srp+openssl               FreeBSD 4.4 with SRP and OpenSSL
756 # freebsd50+openssl                   FreeBSD 5.0 with OpenSSL
757 # hpux1100o+openssl:                  HP-UX 11.xx with OpenSSL
758 # hpux1000gcc+openssl:                HP-UX 10.xx with OpenSSL (build with gcc)
759 # hpux1100gcc+openssl:                HP-UX 11.xx with OpenSSL (build with gcc)
760 # irix6x+krb5:                        IRIX 6.x with Kerberos V
761 # irix65+krb5:                        etc etc...
762 # linux+krb5:
763 # linux+krb5+krb4:
764 # linux+srp:
765 # linux+srp+pam:
766 # linux+srp+gmp:
767 # linux+srp+gmp+no-des:
768 # linux+srp+gmp-export:
769 # linux+srp+gmp+pam:
770 # linux+shadow+pam:
771 # linux+openssl:
772 # linux+openssl+shadow:
773 # linux+openssl+zlib+shadow+pam:
774 # linux+srp+openssl:
775 # linux+krb5+krb4+srp:
776 # linux+krb5+krb4+srp+openssl:
777 # linux+krb5+krb4+openssl:
778 # linux+krb5+krb4+openssl+shadow:
779 # linux+krb5+krb4+openssl+zlib+shadow:
780 # linux+krb5+krb4+srp-export:
781 # linux+krb5+krb4+srp+pam:
782 # linux+krb5+krb4+srp+openssl+pam-debug:
783 # linux+krb5+krb4+srp+openssl+pam:
784 # linux+krb5+krb4+srp+openssl+zlib+pam:
785 # linux+krb5+krb4+openssl+shadow+pam:
786 # linux+krb5+openssl+zlib+shadow+pam:
787 # openbsd30+ssl (includes OpenSSL):
788 # redhat71, redhat72, redhat73, redhat80, redhat9
789 #  (Krb5, OpenSSL, Showdow, PAM, Zlib)
790 # sco32v500net+ssl:
791 # sco32v505net+ssl:
792 # solaris2x+krb4:
793 # solaris2xg+krb4:
794 # solaris2xg+openssl+pam+shadow:
795 # solaris2xg+openssl+zlib+pam+shadow:
796 # solaris2xg+krb5+krb4+openssl+shadow:
797 # solaris25+krb4:
798 # solaris25g+krb4:
799 # solaris26g+openssl:
800 # solaris8g+openssl+zlib+pam+shadow:
801 # solaris8g+krb4:
802 # solaris9g+openssl+zlib+pam+shadow:
803 # solaris9g+openssl+shadow+pam+zlib
804 # sunos41gcc+krb4:                    SunOS 4.1 built with gcc with Kerberos IV
805 # sunos41gcc+openssl:                 SunOS 4.1 built with gcc with OpenSSL
806 # sunos41gcc+krb4+openssl:            ...with Kerberos IV and OpenSSL
807 # sunos41gcc+krb4+openssl+zlib:       ditto, plus ZLIB compression
808 # sunos41gcc+krb4+srp+openssl+zlib:   ditto, plus SRP
809 # sunos41gcc+srp+openssl+zlib:
810 # uw7ssl
811 #
812 ##############################################################################
813 #
814 # NOTES FOR V7 AND 2.X BSD (BASED ON VERSION 4E OF C-KERMIT, 1987):
815 #
816 # For Unix Version 7, several variables must be defined to the values
817 # associated with your system.  BOOTNAME=/edition7 is the kernel image on
818 # okstate's Perkin-Elmer 3230.  Others will probably be /unix.  PROCNAME=proc
819 # is the name of the structure assigned to each process on okstate's system.
820 # This may be "_proc" or some other variation.  See <sys/proc.h> for more
821 # info on your systems name conventions.  NPROCNAME=nproc is the name of a
822 # kernel variable that tells how many "proc" structures there are.  Again
823 # this may be different on your system, but nproc will probably be somewhere.
824 # The variable NPTYPE is the type of the nproc variable -- int, short, etc.
825 # which can probably be gleaned from <sys/param.h>.  The definition of DIRECT
826 # is a little more complicated.  If nlist() returns, for "proc" only, the
827 # address of the array, then you should define DIRECT as it is below.  If
828 # however, nlist() returns the address of a pointer to the array, then you
829 # should give DIRECT a null definition (DIRECT= ).  The extern declaration in
830 # <sys/proc.h> should clarify this for you.  If it is "extern struct proc
831 # *proc", then you should NOT define DIRECT.  If it is "extern struct proc
832 # proc[]", then you should probably define DIRECT as it is below.  See
833 # ckuv7.hlp for further information.
834 #
835 # For 2.9 BSD, the makefile may use pcc rather than cc for compiles; that's
836 # what the CC and CC2 definitions are for (the current version of the
837 # makefile uses cc for both; this was tested in version 4E of C-Kermit and
838 # worked OK on the DEC Pro 380, but all bets are off for version 5A).  2.9
839 # support basically follows the 4.1 path.  Some 2.9 systems use "dir.h" for
840 # the directory header file, others will need to change this to "ndir.h".
841 #
842 # The v7 and 2.9bsd versions assume I&D space on a PDP-11.  When building
843 # C-Kermit for v7 on a PDP-11, you should probably add the -i option to the
844 # link flags.  Without I&D space, overlays will be necessary (if available),
845 # or code segment mapping (a`la Pro/Venix) if that's available.
846 #
847 # C-Kermit 5A (and 6.0?) can be built for 2.10 and 2.11BSD, using overlays,
848 # but a separate makefile is used because this one is too big.
849 #
850 ##############################################################################
851 #
852 # V7-specific variables.
853 # These are set up for Perkin-Elmer 3230 V7 Unix:
854 #
855 PROC=proc
856 DIRECT=
857 NPROC=nproc
858 NPTYPE=int
859 BOOTFILE=/edition7
860 #
861 # ( For old Tandy TRS-80 Model 16A or 6000 V7-based Xenix, use PROC=_proc,
862 #   DIRECT=-DDIRECT, NPROC=_Nproc, NPTYPE=short, BOOTFILE=/xenix )
863 #
864 ###########################################################################
865 #
866 #  Compile and Link variables:
867 #
868 #  EXT is the extension (file type) for object files, normally o.
869 #  See MINIX entry for what to do if another filetype must be used.
870 #
871 EXT=o
872 #LNKFLAGS=
873 SHAREDLIB=
874 CC= cc
875 CC2= cc
876 MAKE= make
877 SHELL=/bin/sh
878
879 ###########################################################################
880 # SAMPLE INSTALLATION SCRIPT
881 #
882 # Modify to suit your own computer's file organization and permissions.  If
883 # you don't have write access to the destination directories, "make install"
884 # fails.  In most cases, a real installation also requires you to chown /
885 # chgrp the Kermit binary for the UUCP lockfile and/or tty devices, and
886 # perhaps also to chmod +s the corresponding permission fields.
887 #
888 # Default binary, man, and doc directories are supplied below.  You can
889 # override them in your 'make' command.  Examples:
890 #
891 #   make install                                   # Accept defaults.
892 #   make "INFODIR=/usr/share/lib/kermit" install   # Override INFODIR default.
893 #
894 # You can also build and install in one step, e.g.:
895 #
896 #   make solaris8 install
897 #
898 # If you use the 'install' target to install C-Kermit, it creates an
899 # UNINSTALL script that can be used to uninstall it.
900 #
901 WERMIT = makewhat
902 BINARY = wermit
903 DESTDIR =
904 BINDIR = $(prefix)/bin
905 MANDIR = $(manroot)/man/man1
906 MANEXT = 1
907 SRCDIR =
908 INFODIR =
909 CERTDIR =
910
911 TEXTFILES = COPYING.TXT ckcbwr.txt ckubwr.txt ckuins.txt ckccfg.txt \
912                 ckcplm.txt ckermit.ini ckermod.ini ckermit70.txt ckermit80.txt
913
914 ALL = $(WERMIT)
915
916 all: $(ALL)
917
918 .c.o:
919         $(CC) $(CFLAGS) -DKTARGET=\"$(KTARGET)\" -c $<
920
921 #Clean up intermediate and object files
922 clean:
923         @echo 'Removing object files...'
924         -rm -f ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
925 ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckcpro.$(EXT) ckcfns.$(EXT) \
926 ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) \
927 ckufio.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) ckwart.$(EXT) ckuusx.$(EXT) \
928 ckuusy.$(EXT) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckusig.$(EXT) \
929 ckucns.$(EXT) ckcmdb.$(EXT) ckuath.$(EXT) ckctel.$(EXT) ckclib.$(EXT) \
930 ckcuni.$(EXT) ck_crp.$(EXT) ck_ssl.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
931 ckcpro.c wart
932
933 # Install C-Kermit after building -- IMPORTANT: Read the instructions above
934 # (SAMPLE INSTALLATION SCRIPT).  For SSL/TLS versions, ca_certs.pem file
935 # should be installed in the appropriate place for your OpenSSL library, e.g.:
936 #
937 #   cp ca_certs.pem /usr/local/ssl/
938 #   cp ca_certs.pem /usr/share/ssl/
939 #
940 # To make sure 'man' notices the new source file and doesn't keep
941 # showing the old formatted version, remove the old formatted version,
942 # something like this:
943 #               rm -f $(MANDIR)/../cat$(MANEXT)/kermit.$(MANEXT)
944 # or this (which requires CATDIR to be defined):
945 #               rm -f $(CATDIR)/kermit.$(MANEXT)
946 #
947 # As of C-Kermit 8.0.205 this target also builds an UNINSTALL script, and
948 # so it might be too long for some old Bourne shells, in which case you can
949 # use a different shell:
950 #
951 #   make SHELL=ksh install
952 #   make SHELL=/bin/posix/sh install
953 #
954 install:
955         @echo Installing C-Kermit version $(CKVER)...;\
956         rm -f UNINSTALL;\
957         exec 3>./UNINSTALL;\
958         echo "# C-Kermit UNINSTALL script" >&3;\
959         echo "# `date`\n" >&3;\
960         echo "CKVER=$(CKVER)" >&3;\
961         echo "PrN Uninstalling C-Kermit version $(CKVER)..." >&3;\
962         echo DESTDIR=$(DESTDIR);\
963         if test -n "$(DESTDIR)"; then\
964                 if test -d $(DESTDIR); then\
965                         echo  "$(DESTDIR) exists...\n";\
966                 else\
967                         echo "Creating $(DESTDIR)...";\
968                         DESTDIR=`echo $(DESTDIR) | sed 's!/*$$!!'`;\
969                         mkdir $$DESTDIR  || exit 1;\
970                 fi;\
971                 chmod 755 $(DESTDIR) || exit 1;\
972         fi;\
973         echo BINARY=$(BINARY);\
974         if test -f $(BINARY); then\
975                 ls -l $(BINARY);\
976         else\
977                 echo "?$(BINARY) not found";\
978                 exit 1;\
979         fi;\
980         if test -z "$(DESTDIR)$(BINDIR)"; then\
981                 echo "Binary directory not specified";\
982                 exit 1;\
983         fi;\
984         if test -d $(DESTDIR)$(BINDIR); then\
985                 echo  "$(DESTDIR)$(BINDIR) exists...";\
986         else\
987                 echo "Creating $(DESTDIR)$(BINDIR)/...";\
988                 mkdir     $(DESTDIR)$(BINDIR) || exit 1;\
989                 chmod 755 $(DESTDIR)$(BINDIR);\
990         fi;\
991         rm -f $(DESTDIR)$(BINDIR)/kermit;\
992         cp $(BINARY) $(DESTDIR)$(BINDIR)/kermit || exit 1;\
993         chmod 755    $(DESTDIR)$(BINDIR)/kermit || exit 1;\
994         rm -f        $(DESTDIR)$(BINDIR)/kermit-sshsub;\
995         ln -s        $(DESTDIR)$(BINDIR)/kermit\
996                      $(DESTDIR)$(BINDIR)/kermit-sshsub || exit 1;\
997         echo 'set flag=f\nPrC Removing binaries' >&3;\
998         echo "RmF $(DESTDIR)$(BINDIR)/kermit-sshsub" >&3;\
999         echo "RmF $(DESTDIR)$(BINDIR)/kermit" >&3;\
1000         if test -f ckermit.ini; then\
1001                 echo "#!$(BINDIR)/kermit" >\
1002                         $(DESTDIR)$(BINDIR)/_tmp.ini;\
1003                 cat ckermit.ini >> $(DESTDIR)$(BINDIR)/_tmp.ini;\
1004                 mv $(DESTDIR)$(BINDIR)/_tmp.ini\
1005                    $(DESTDIR)$(BINDIR)/ckermit.ini;\
1006                 chmod 755 $(DESTDIR)$(BINDIR)/ckermit.ini;\
1007                 echo "RmF $(DESTDIR)$(BINDIR)/ckermit.ini" >&3;\
1008         fi;\
1009         echo;\
1010         echo 'EfM' >&3;\
1011         echo "Kermit binary installed:";\
1012         ls -l $(DESTDIR)$(BINDIR)/kermit\
1013               $(DESTDIR)$(BINDIR)/kermit-sshsub\
1014               $(DESTDIR)$(BINDIR)/ckermit.ini;\
1015         echo;\
1016         echo " WARNING: If C-Kermit is to be used for dialing out,";\
1017         echo " you must change its owner and group and permissions";\
1018         echo " to match the 'cu' program.  See the ckuins.txt file";\
1019         echo " for details.";\
1020         echo;\
1021         echo MANDIR=$(MANDIR);\
1022         if test -n "$(DESTDIR)$(MANDIR)"; then\
1023                 if test -d $(DESTDIR)$(MANDIR); then\
1024                         echo  "$(DESTDIR)$(MANDIR) exists...";\
1025                 else\
1026                         echo "Creating $(DESTDIR)$(MANDIR)...";\
1027                         mkdir $(DESTDIR)$(MANDIR) || exit 1;\
1028                         chmod 755 $(DESTDIR)$(MANDIR) || exit 1;\
1029                 fi;\
1030                 echo "Installing man page...";\
1031                 rm -f $(DESTDIR)$(MANDIR)/kermit.$(MANEXT);\
1032                 cp    ckuker.nr $(DESTDIR)$(MANDIR)/kermit.$(MANEXT) || exit 1;\
1033                 chmod 644       $(DESTDIR)$(MANDIR)/kermit.$(MANEXT) || exit 1;\
1034                 echo 'set flag=f\nPrC Removing man pages' >&3;\
1035                 echo "RmF $(DESTDIR)$(MANDIR)/kermit.$(MANEXT)" >&3;\
1036                 echo 'EfM' >&3;\
1037                 echo;\
1038         else\
1039                 echo "Not installing man page!\n";\
1040         fi;\
1041         echo CERTDIR=$(CERTDIR);\
1042         if test -n "$(CERTDIR)"; then\
1043                 if test -f ca_certs.pem; then\
1044                         if test -d $(CERTDIR); then\
1045                                 echo  "$(CERTDIR) exists...";\
1046                         else\
1047                                 echo "Creating $(CERTDIR)...";\
1048                                 mkdir $(CERTDIR) || exit 1;\
1049                                 chmod 755 $(CERTDIR) || exit 1;\
1050                         fi;\
1051                         echo "Installing certificates file...";\
1052                         cp ca_certs.pem $(CERTDIR) || exit 1;\
1053                         echo 'set flag=f' >&3;\
1054                         echo 'PrC Removing certificates file' >&3;\
1055                         echo "RmF $(CERTDIR)/ca_certs.pem" >&3;\
1056                         echo 'EfM' >&3;\
1057                         echo;\
1058                 fi;\
1059         else\
1060                 echo "Not installing certificates file!\n";\
1061         fi;\
1062         echo SRCDIR=$(DESTDIR)$(SRCDIR);\
1063         if test -n "$(SRCDIR)"; then\
1064                 echo "Installing source files...";\
1065                 if test -d $(DESTDIR)$(SRCDIR); then\
1066                         echo  "$(DESTDIR)$(SRCDIR) exists...";\
1067                 else\
1068                         echo "Creating $(DESTDIR)$(SRCDIR)/...";\
1069                         mkdir     $(DESTDIR)$(SRCDIR) || exit 1;\
1070                         chmod 755 $(DESTDIR)$(SRCDIR);\
1071                 fi;\
1072                 echo "Copying source files to $(DESTDIR)$(SRCDIR)...";\
1073                 echo 'set flag=f\nPrC Removing source files' >&3;\
1074                 for TextFile in COPYING.TXT ck[cuw_]*.[cwh] makefile; do\
1075                         cp $$TextFile $(DESTDIR)$(SRCDIR)/ && echo ".\c";\
1076                         echo "RmF $(DESTDIR)$(SRCDIR)/$$TextFile" >&3;\
1077                 done; echo;\
1078                 echo 'EfM' >&3;\
1079                 ( cd $(DESTDIR)$(SRCDIR)/ &&\
1080                 ls -l COPYING.TXT ck[cuw_]*.[cwh] makefile );echo;\
1081         else\
1082                 echo "Not installing source code!\n";\
1083         fi;\
1084         echo INFODIR=$(DESTDIR)$(INFODIR);\
1085         if test -n "$(INFODIR)"; then\
1086                 echo "Installing info files...";\
1087                 if test -d $(DESTDIR)$(INFODIR); then\
1088                         echo  "$(DESTDIR)$(INFODIR) exists...";\
1089                 else\
1090                         echo "Creating $(DESTDIR)$(INFODIR)/...";\
1091                         mkdir     $(DESTDIR)$(INFODIR) || exit 1;\
1092                         chmod 755 $(DESTDIR)$(INFODIR);\
1093                 fi;\
1094                 echo "Copying text files to $(DESTDIR)$(INFODIR)...";\
1095                 echo 'set flag=f\nPrC Removing text files' >&3;\
1096                 FileCopyList='';\
1097                 for TextFile in $(TEXTFILES); do\
1098                         test -f $$TextFile || continue;\
1099                         cp $$TextFile $(DESTDIR)$(INFODIR) && echo ".\c" &&\
1100                         FileCopyList="$$FileCopyList $$TextFile";\
1101                         echo "RmF $(DESTDIR)$(INFODIR)/$$TextFile" >&3;\
1102                 done; echo;\
1103                 echo 'EfM' >&3;\
1104                 ( cd $(DESTDIR)$(INFODIR)/ && chmod  644   $$FileCopyList );\
1105                 ( cd $(DESTDIR)$(INFODIR)/ && pwd && ls -l $$FileCopyList );\
1106         else\
1107                 echo "Not installing text files!\n";\
1108         fi;\
1109         echo "set flag=d\nPrN Removing empty dirs..." >&3;\
1110         echo "RmD $(DESTDIR)$(BINDIR)" >&3;\
1111         echo "RmD $(DESTDIR)$(SRCDIR)" >&3;\
1112         echo "RmD $(DESTDIR)$(INFODIR)" >&3;\
1113         echo "RmD $(CERTDIR)" >&3;\
1114         echo "RmD $(MANDIR)" >&3;\
1115         echo "RmD $(DESTDIR)" >&3;\
1116         echo "EfM" >&3;\
1117         echo "PrN C-Kermit version $(CKVER) is uninstalled!" >&3;\
1118         echo C-Kermit version $(CKVER) installed!
1119
1120 # UN-Install C-Kermit after building
1121 # Please to not remove the extra blanks before and after '{}' within the
1122 # functions. You would get syntax errors for some older Bourne shells! Best is 
1123 # you don't change or remove anything.
1124 #
1125 uninstall:
1126         @if test ! -f UNINSTALL; then\
1127                 echo "?C-Kermit UNINSTALL data file not found!";\
1128                 exit 1;\
1129         fi; \
1130         X=`grep '^CKVER='$(CKVER)'$$' ./UNINSTALL || :`;\
1131         if test -z "$$X"; then\
1132                 echo "?UNINSTALL file is not for C-Kermit version $(CKVER)";\
1133                 exit 2;\
1134         fi;\
1135         PrN () { echo "$$*"; };\
1136         PrC () { echo "$$* \c"; };\
1137         RmF () { test -f "$$1" && rm -f "$$1" && echo ".\c" && flag=F ; };\
1138         RmD () { \
1139         dir=$$1;\
1140         while test -d "$$dir"; do\
1141                 rmdir "$$dir" 2>&- || return && echo "$$dir" && flag=D;\
1142                 dir=`echo "$$dir" | sed 's!/[^/]*/*$$!!'`;\
1143         done; \
1144         };\
1145         EfM () { \
1146         case "$$flag" in\
1147                 f) echo "- Nothing to remove!";;\
1148                 d) echo "Nothing to remove!";;\
1149                 F) echo " done";;\
1150                 D) echo "done";;\
1151         esac; \
1152         };\
1153         while read Act Args; do\
1154                 case $$Act in\
1155                         EfM) EfM;;\
1156                         RmD) RmD $$Args;;\
1157                         RmF) RmF $$Args;;\
1158                         PrN) PrN $$Args;;\
1159                         PrC) PrC $$Args;;\
1160                         set) eval $$Args;;\
1161                 esac;\
1162         done < ./UNINSTALL
1163
1164 makewhat:
1165         @echo 'make what?  You must tell which platform to make C-Kermit for.'
1166         @echo Examples: make linux, make hpux1100, make aix43, make solaris8.
1167         @echo Please read the comments at the beginning of the makefile.
1168
1169 ###########################################################################
1170 #
1171 # Dependencies Section:
1172
1173 # Normal version
1174
1175 wermit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
1176                 ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
1177                 ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
1178                 ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
1179                 ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
1180                 ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
1181                 ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
1182         $(CC2) $(LNKFLAGS) -o wermit \
1183                 ckcmai.$(EXT) ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
1184                 ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
1185                 ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
1186                 ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
1187                 ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) ckucon.$(EXT) \
1188                 ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
1189                 ckusig.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
1190                 $(LIBS)
1191
1192 # Version with CONNECT module that uses select() instead of fork()
1193
1194 xermit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
1195                 ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
1196                 ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
1197                 ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
1198                 ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
1199                 ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
1200                 ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) ckuath.$(EXT) \
1201                 ck_crp.$(EXT) ck_ssl.$(EXT)
1202         $(CC2) $(LNKFLAGS) -o wermit \
1203                 ckcmai.$(EXT) ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
1204                 ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
1205                 ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
1206                 ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
1207                 ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) ckucns.$(EXT) \
1208                 ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckusig.$(EXT) \
1209                 ckctel.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
1210                 ckuath.$(EXT) ck_crp.$(EXT) ck_ssl.$(EXT) $(LIBS)
1211
1212 # Malloc Debugging version
1213
1214 mermit: ckcmdb.$(EXT) ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) \
1215                 ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
1216                 ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
1217                 ckcpro.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) \
1218                 ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
1219                 ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
1220                 ckusig.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
1221         $(CC2) $(LNKFLAGS) -o mermit ckcmdb.$(EXT) ckclib.$(EXT) ckcmai.$(EXT)\
1222                 ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
1223                 ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
1224                 ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
1225                 ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
1226                 ckuusr.$(EXT) ckucon.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
1227                 ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckcuni.$(EXT) \
1228                 ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
1229
1230 # Kerberized Version - Subject to USA export restrictions.
1231
1232 # NOTE: We don't use this any more -- As of 15 Feb 2003, the "xermit"
1233 # target is used for both secure and regular version.
1234
1235 krbmit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
1236                 ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
1237                 ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
1238                 ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
1239                 ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
1240                 ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
1241                 ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
1242                 ckcftp.$(EXT) ck_ssl.$(EXT)
1243         $(CC2) $(LNKFLAGS) -o krbmit ckcmai.$(EXT) ckclib.$(EXT) \
1244                 ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
1245                 ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
1246                 ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
1247                 ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
1248                 ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
1249                 ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
1250                 ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
1251                 ck_ssl.$(EXT) $(LIBS)
1252
1253 krbmit-debug:   ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) \
1254                 ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
1255                 ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
1256                 ckcpro.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) \
1257                 ckuxla.$(EXT) ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
1258                 ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
1259                 ckusig.$(EXT) ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) \
1260                 ckupty.$(EXT) ck_ssl.$(EXT) ckcmdb.$(EXT) ckcftp.$(EXT)
1261         $(CC2) $(LNKFLAGS) -o krbmit ckcmdb.$(EXT) ckcmai.$(EXT) \
1262                 ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) \
1263                 ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) \
1264                 ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) \
1265                 ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) \
1266                 ckuusy.$(EXT) ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) \
1267                 ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
1268                 ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
1269                 ckcftp.$(EXT) ck_ssl.$(EXT) $(LIBS)
1270
1271 # SRP(TM) Version - Subject to USA export restrictions.
1272
1273 srpmit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
1274                 ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
1275                 ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
1276                 ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
1277                 ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
1278                 ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
1279                 ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
1280                 ckcftp.$(EXT) ck_ssl.$(EXT)
1281         $(CC2) $(LNKFLAGS) -o srpmit ckcmai.$(EXT) ckclib.$(EXT) \
1282                 ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
1283                 ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
1284                 ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
1285                 ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
1286                 ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
1287                 ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
1288                 ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ck_ssl.$(EXT) \
1289                 ckcftp.$(EXT) $(LIBS)
1290
1291 # Kerberized Version - Not subject to USA export restrictions.
1292
1293 krbmit-export:  ckcmai.$(EXT) \
1294                 ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
1295                 ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
1296                 ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
1297                 ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
1298                 ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
1299                 ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
1300                 ckuath.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
1301         $(CC2) $(LNKFLAGS) -o krbmit-export ckcmai.$(EXT) ckclib.$(EXT) \
1302                 ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
1303                 ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
1304                 ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
1305                 ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
1306                 ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
1307                 ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
1308                 ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
1309
1310 # SRP(TM) Version - Not subject to USA export restrictions.
1311
1312 srpmit-export:  ckcmai.$(EXT) \
1313                 ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
1314                 ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
1315                 ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
1316                 ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
1317                 ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
1318                 ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
1319                 ckuath.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
1320         $(CC2) $(LNKFLAGS) -o srpmit-export ckcmai.$(EXT) ckclib.$(EXT) \
1321                 ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
1322                 ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
1323                 ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
1324                 ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
1325                 ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
1326                 ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
1327                 ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
1328
1329 ###########################################################################
1330 # man page...
1331 #
1332 ckuker.nr:
1333         @echo This target is obsolete.
1334         @echo The ckuker.nr file no longer needs any preprocessing.
1335
1336 ###########################################################################
1337 # Dependencies for each module...
1338 #
1339 ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h ckcsig.h \
1340                 ckuusr.h ckctel.h ckclib.h
1341
1342 ckclib.$(EXT): ckclib.c ckclib.h ckcdeb.h ckcasc.h ckcsym.h
1343
1344 ckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckclib.h
1345
1346 ckcpro.c: ckcpro.w wart ckcdeb.h ckcsym.h ckcasc.h ckcker.h ckcnet.h ckctel.h \
1347          ckclib.h
1348         ./wart ckcpro.w ckcpro.c
1349
1350 ckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckcuni.h \
1351                 ckuxla.h ckclib.h ckcnet.h
1352
1353 ckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
1354                 ckuxla.h ckctel.h ckclib.h ckcnet.h ckcuni.h
1355
1356 ckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
1357                 ckuxla.h ckclib.h ckcuni.h
1358
1359 ckuxla.$(EXT): ckuxla.c ckcker.h ckcsym.h ckcdeb.h ckcxla.h ckuxla.h ckclib.h \
1360                  ckcuni.h
1361
1362 ckcuni.$(EXT): ckcuni.c ckcdeb.h ckcker.h ckucmd.h ckcuni.h ckcxla.h ckuxla.h
1363
1364 ckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcsym.h ckcdeb.h ckcxla.h \
1365                 ckuxla.h ckcasc.h ckcnet.h ckctel.h ckclib.h ckcuni.h
1366
1367 ckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
1368                 ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
1369
1370 ckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
1371                 ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
1372
1373 ckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
1374                 ckcasc.h ckcnet.h ckuver.h ckcsym.h ckctel.h ckclib.h ckcuni.h
1375
1376 ckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
1377                  ckcsym.h ckctel.h ckclib.h ckcxla.h ckuxla.h ckcuni.h
1378
1379 ckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
1380                  ckcsym.h ckctel.h ckclib.h
1381
1382 ckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
1383                 ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
1384
1385 ckuusx.$(EXT): ckuusx.c ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcsym.h \
1386                 ckcsig.h ckcnet.h ckctel.h ckclib.h ckcxla.h ckuxla.h ckcuni.h
1387
1388 ckuusy.$(EXT): ckuusy.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
1389                  ckclib.h
1390
1391 ckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h ckcsym.h ckctel.h ckclib.h
1392
1393 ckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h ckcsym.h ckclib.h \
1394                 ckcxla.h ckuxla.h ckcuni.h
1395
1396 ckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h ckcsym.h ckctel.h ckclib.h
1397
1398 ckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
1399                  ckclib.h
1400
1401 ckucns.$(EXT): ckucns.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
1402                  ckclib.h ckcxla.h ckuxla.h ckcuni.h
1403
1404 ckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h ckcsym.h ckcsig.h ckctel.h \
1405                  ckclib.h
1406
1407 ckctel.$(EXT): ckcsym.h ckcdeb.h ckcker.h ckcnet.h ckctel.h ckclib.h
1408
1409 wart: ckwart.$(EXT)
1410         $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT) $(LIBS)
1411
1412 ckcmdb.$(EXT): ckcmdb.c ckcdeb.h ckcsym.h ckclib.h
1413
1414 ckwart.$(EXT): ckwart.c
1415
1416 ckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h ckcsym.h ckcsig.h \
1417                 ckcnet.h ckctel.h ckclib.h
1418
1419 ckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcsig.h \
1420                 ckcnet.h ckctel.h ckclib.h
1421
1422 ckusig.$(EXT): ckusig.c ckcasc.h ckcdeb.h ckcker.h ckcnet.h ckuusr.h \
1423                 ckcsig.h ckctel.h ckclib.h
1424
1425 ckcftp.$(EXT): ckcftp.c ckcdeb.h ckcasc.h ckcker.h ckucmd.h ckuusr.h \
1426                 ckcnet.h ckctel.h ckcxla.h ckuxla.h ckcuni.h
1427
1428 ckupty.$(EXT): ckupty.c ckupty.h ckcdeb.h
1429
1430 ckuath.$(EXT): ckuath.c ckcdeb.h ckucmd.h ckuath.h ckuat2.h ckctel.h \
1431                  ckclib.h ckcnet.h
1432
1433 ck_crp.$(EXT): ck_crp.c ckcdeb.h ckcnet.h ckuath.h ckclib.h
1434
1435 ck_ssl.$(EXT): ck_ssl.c ckcdeb.h ckucmd.h ckuath.h ckuat2.h ckctel.h \
1436                  ckclib.h ck_ssl.h
1437
1438 ###########################################################################
1439 #
1440 # Entries to make C-Kermit for specific systems.
1441 #
1442 # Put the ones that need short makefiles first.
1443
1444 #Apollo Aegis 9.x.  Includes TCP/IP support.
1445 #You can also add processor-dependent optimization switches like -M570.
1446 aegis:
1447         @echo Making C-Kermit $(CKVER) for Apollo Aegis 9.x...
1448         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
1449         "CFLAGS= -DBSD4 -DTCPSOCKET -DNOCSETS -DCK_CURSES -O $(KFLAGS)" \
1450         "LIBS = -lcurses -ltermcap"
1451
1452 #Apple Mac II, A/UX pre-3.0
1453 #Warning, if "send *" doesn't work, try the auxufs makefile entry below.
1454 aux:
1455         @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
1456         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
1457         "CFLAGS = -DAUX -DTCPSOCKET $(KFLAGS) -i -O" "LNKFLAGS = -i"
1458
1459 #Apple Mac II, A/UX pre-3.0, compiled with gcc
1460 auxgcc:
1461         @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
1462         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
1463         "CFLAGS = -DAUX -DTCPSOCKET -traditional $(KFLAGS) -i -O" \
1464         "LNKFLAGS = " "CC = gcc" "CC2 = gcc"
1465
1466 #Apple Mac II, A/UX, pre-3.0, but with ufs file volumes, uses <dirent.h>.
1467 auxufs:
1468         @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
1469         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
1470         "CFLAGS = -DAUX -DTCPSOCKET -DDIRENT $(KFLAGS) -i -O" "LNKFLAGS = -i"
1471
1472 #Apple Mac II, A/UX 3.0, compiled with gcc
1473 aux3gcc:
1474         @echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
1475         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
1476         "CFLAGS = -DAUX -DHDBUUCP -DLFDEVNO -DTCPSOCKET -DDIRENT $(KFLAGS)" \
1477         "LNKFLAGS = -s" "LIBS = $(LIBS)" \
1478         "CC=gcc -pipe -traditional" "CC2=gcc -pipe -traditional"
1479
1480 #Apple Mac II, A/UX 3.0, compiled with gcc, uses curses
1481 aux3cgcc:
1482         @echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
1483         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) aux3gcc \
1484         KTARGET=$${KTARGET:-$(@)} \
1485         "KFLAGS=$(KFLAGS) -DCK_CURSES" "LIBS = -lcurses $(LIBS)"
1486
1487 # Tenon MachTen, tested on Apple Powerbook with MachTen 2.1.1.D.
1488 # NOTE: This doesn't do anything about UUCP.  It only works if /usr/spool/uucp
1489 # has permission of 777, and dialout device is world read/writeable.
1490 machten:
1491         @echo Making C-Kermit $(CKVER) for MachTen...
1492         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
1493         "CFLAGS= -DBSD43 -DTCPSOCKET -DSIG_V -DNDGPWNAM -DCK_CURSES -O \
1494         $(KFLAGS)"  "LIBS=-lcurses -ltermcap"
1495
1496 #Bell Labs Research UNIX V10
1497 #Can't add TCP/IP because there is no sockets library.  It would have to
1498 #be done using streams, but there is no code in C-Kermit for that.
1499 #Remove -DNOJC if desired (if your system has csh, ksh, or bash).
1500 bellv10:
1501         @echo Making C-Kermit $(CKVER) for Bell Labs Research UNIX V10...
1502         $(MAKE) wermit KTARGET=$${KTARGET-$(@)} \
1503         "CFLAGS= -DBELLV10 -DBSD4 -DNDIR -DNOJC -DNOSYSIOCTLH -DNOSETREU \
1504         -DNOCSETS -MINIDIAL $(KFLAGS)"
1505
1506 # WARNING: The early BSD entries do not build in version 7.0 with the stock
1507 # BSD compiler: "Too many defines".  Unless you can rebuild cpp to have more
1508 # space for defines, these builds must be accomplished by:
1509 # copying the /usr/include tree to someplace else, preprocessing there with cc
1510 # -E -I./include or whatever (plus all the same -D's, adding any necessary
1511 # -U/-D to override the architecture)), renaming the the resulting files back
1512 # to their original names, bringing them back to the original BSD system, and
1513 # running the make target there.  This technique was used for 4.2 and 4.3 BSD
1514 # on a VAX in C-Kermit 7.0 (later, cpp on that machine was rebuilt to allow
1515 # more symbols, so the C-Kermit 8.0 build proceeds normally).
1516
1517 #Berkeley Unix 4.1
1518 bsd41:
1519         @echo Making C-Kermit $(CKVER) for 4.1BSD...
1520         $(MAKE) wermit KTARGET=$${KTARGET-$(@)} \
1521         "CFLAGS= -DBSD41" "LIBS = -ljobs"
1522
1523 #Berkeley 4.2, 4.3, also Ultrix-32 1.x, 2.x, 3.x, many others
1524 # Add -O, -s, etc, if they work.
1525 # If you have a version of BSD but signal() is void rather than int,
1526 # "make bsd KFLAGS=-DSIG_V".
1527 bsd42:
1528         @echo Making C-Kermit $(CKVER) for 4.2BSD...
1529         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
1530         "CFLAGS= -DBSD4 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
1531         -DCK_CURSES -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK -DBSD42HACK \
1532         $(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
1533
1534 bsd:
1535         $(MAKE) CC=$(CC) CC2=$(CC2) bsd42 KTARGET=$${KTARGET-$(@)}
1536
1537 #Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP
1538 bsdhdb:
1539         @echo Making C-Kermit $(CKVER) for 4.2BSD with HDB UUCP...
1540         $(MAKE) CC=$(CC) CC2=$(CC2) bsd KTARGET=$${KTARGET-$(@)} \
1541         "KFLAGS= -DHDBUUCP $(KFLAGS)"
1542
1543 #Berkeley Unix 4.3 with acucntrl program, curses, TCP/IP included.
1544 bsd43:
1545         @echo Making C-Kermit $(CKVER) for 4.3BSD...
1546         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
1547         "CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
1548         -DCK_CURSES -DACUCNTRL -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK \
1549         -DBSD42HACK $(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
1550
1551 #4.3BSD, curses excluded
1552 bsd43nc:
1553         @echo Making C-Kermit $(CKVER) for 4.3BSD...
1554         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
1555         "CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH \
1556         -DACUCNTRL -DSYSTIMEBH -DNOIKSD -DNOPUTENV -DNOANSI -DBIGBUFOK \
1557         -DBSD42HACK $(KFLAGS)" "LIBS=$(LIBS)"
1558
1559 #4.3BSD, TCP/IP excluded.
1560 bsd43nonet:
1561         @echo Making C-Kermit $(CKVER) for 4.3BSD + curses...
1562         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
1563         "CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
1564         -DCK_CURSES -DACUCNTRL -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK \
1565         -DBSD42HACK -DNONET $(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
1566
1567 #Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
1568 #but without acucntrl program
1569 bsdlck:
1570         @echo Making C-Kermit $(CKVER) for 4.2BSD, /usr/spool/uucp/LCK/...
1571         $(MAKE) CC=$(CC) CC2=$(CC2) bsd KTARGET=$${KTARGET-$(@)} \
1572         "KFLAGS= -DLCKDIR $(KFLAGS)"
1573
1574 #Berkeley UNIX 4.4-Lite, 4.4-Encumbered, Net/2, etc (Post-Reno),
1575 #with TCP/IP networking.  This was the basis for FreeBSD, NetBSD, OpenBSD,
1576 #BSDI, BSD/OS, and Mac OS X (each of which has its own set of targets that
1577 #are newer than this one).
1578 #
1579 #NOTE: This is not a pure POSIX configuration.  Using -DPOSIX instead of
1580 # -DBSD44 prevents any kind of directory-reading (for wildcard expansion),
1581 #and disallows use of ENOTCONN symbol for detecting broken network
1582 #connections, and disallows RTS/CTS flow control, and would also require
1583 #definition of the appropriate UUCP lockfile convention.
1584 #Do not add -DCK_POSIX_SIG without reading <signal.h> first!  For example,
1585 #sigsetjmp(), etc, tend to be defined but not implemented.
1586 #
1587 #NOTE: originally crypt was in libc - later it was unbundled.
1588 #Remove the LIBS clause to build on an early 4.4BSD platform.
1589 #
1590 bsd44:
1591         @echo Making C-Kermit $(CKVER) for 4.4BSD...
1592         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1593         "CFLAGS= -DBSD44 -DTCPSOCKET $(KFLAGS) -O" "LIBS=-lcrypt"
1594
1595 #Berkeley UNIX 4.4, as above, but with curses for fullscreen display
1596 #Please read notes for bsd44 entry just above.
1597 # NOTE: This one dumped core on the real 4.4BSD development system at
1598 # UC Berkeley (an HP-9000/300), so the no-curses version was used
1599 # for that one, which was unplugged years ago.
1600 bsd44c:
1601         @echo Making C-Kermit $(CKVER) for 4.4BSD with curses...
1602         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1603         "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET $(KFLAGS) -O" \
1604         "LIBS= -lcurses -ltermcap -lcrypt $(LIBS)"
1605
1606 #For FreeBSD 1.x.
1607 freebsd1:
1608         @echo 'Making C-Kermit $(CKVER) for FreeBSD...'
1609         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1610         "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -funsigned-char \
1611         -DFNFLOAT -DNOHTERMCAP -DNOREALPATH -DNOSYSCONF $(KFLAGS) -O -pipe" \
1612         "LIBS= -lcurses -ltermcap -lm $(LIBS)"
1613
1614 #FreeBSD 2.x with ncurses
1615 freebsd2:
1616         @echo 'Making C-Kermit $(CKVER) for FreeBSD 2.x with ncurses...'
1617         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1618         "CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -DUSE_STRERROR \
1619         -DTPUTSARGTYPE=int -DTPUTSARG1CONST -DFREEBSD2 -funsigned-char \
1620         -DFNFLOAT $(KFLAGS) -O -pipe" \
1621         "LIBS= -lncurses -ltermlib -lcrypt -lm $(LIBS)"
1622
1623 #For FreeBSD 2.x -- Uses curses rather than ncurses
1624 freebsd2c:
1625         @echo 'Making C-Kermit $(CKVER) for FreeBSD 2.x with curses...'
1626         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1627         "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DUSE_STRERROR \
1628         -DTPUTSARGTYPE=int -DTPUTSARG1CONST -DFREEBSD2 -DFNFLOAT \
1629         -funsigned-char $(KFLAGS) -O -pipe" \
1630         "LIBS= -lcurses -ltermlib -lcrypt -lm $(LIBS)"
1631
1632 #FreeBSD 3.x with ncurses and uu_lock()
1633 #(Note: uu_lock() goes back to 2.2.2, but not necessarily 2.0)
1634 freebsd3:
1635         @echo 'Making C-Kermit $(CKVER) for FreeBSD 3.x with ncurses...'
1636         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1637         "CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -funsigned-char \
1638         -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD3 -DUSE_UU_LOCK -DFNFLOAT \
1639         $(KFLAGS) -O -pipe" \
1640         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1641
1642 #As above but with curses rather than ncurses.
1643 freebsd3c:
1644         @echo 'Making C-Kermit $(CKVER) for FreeBSD 3.x with curses...'
1645         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1646         "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DUSE_UU_LOCK \
1647         -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD3 $(KFLAGS) -DFNFLOAT \
1648         -funsigned-char -pipe -O" \
1649         "LIBS= -lcurses -lcrypt -lutil -lm $(LIBS)"
1650
1651 #FreeBSD 4.0 with ncurses and uu_lock().  Note - there is no curses in 4.0.
1652 #ncurses 5.0 is broken requiring us to work around with setbuf().
1653 freebsd4:
1654         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.x with ncurses...'
1655         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1656         "CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -DFNFLOAT \
1657         -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD4 \
1658         -DNONOSETBUF -DUSE_UU_LOCK $(KFLAGS) -O -pipe" \
1659         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1660
1661 #FreeBSD 4.1, as above but without the NONOSETBUF hack and with CK_NEWTERM.
1662 #This works with ncurses 5.1.
1663 freebsd41:
1664         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.1 with ncurses...'
1665         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1666         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1667         -DFREEBSD4 -DFREEBSD41 -DUSE_UU_LOCK -DFNFLOAT \
1668         -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1669         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1670
1671 #Default FreeBSD make for C-Kermit 8.0...
1672 freebsd:
1673         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
1674         KTARGET=$${KTARGET-$(@)} freebsd45
1675
1676 #FreeBSD 4.2, like 4.1.
1677 freebsd42:
1678         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.2...'
1679         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1680         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1681         -DFREEBSD4 -DFREEBSD41 -DFREEBSD42 -DUSE_UU_LOCK -DFNFLOAT \
1682         -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1683         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1684
1685 #FreeBSD 4.3, like 4.2.
1686 freebsd43:
1687         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.3...'
1688         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1689         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1690         -DFREEBSD4 -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DUSE_UU_LOCK \
1691         -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR $(KFLAGS) \
1692         -O -pipe" "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1693
1694 #FreeBSD 4.4, like 4.3.
1695 freebsd44:
1696         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.4...'
1697         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1698         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1699         -DFREEBSD4 -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 \
1700         -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1701         -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1702         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1703
1704 #FreeBSD 4.5, like 4.3 and 4.4.
1705 freebsd45:
1706         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.5...'
1707         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1708         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1709         -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1710         -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
1711         -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1712         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1713
1714 #FreeBSD 4.6, like 4.5
1715 freebsd46:
1716         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.6...'
1717         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1718         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1719         -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1720         -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
1721         -DFREEBSD46 -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1722         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1723
1724 #FreeBSD 4.7, like 4.6
1725 freebsd47:
1726         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.7...'
1727         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1728         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1729         -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1730         -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
1731         -DFREEBSD46 -DFREEBSD47 -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1732         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1733
1734 #FreeBSD 4.8, like 4.7
1735 freebsd48:
1736         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.7...'
1737         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1738         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1739         -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1740         -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
1741         -DFREEBSD46 -DFREEBSD47 -DFREEBSD48 \
1742         -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1743         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1744
1745 #FreeBSD 4.9
1746 freebsd49:
1747         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.7...'
1748         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1749         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1750         -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1751         -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
1752         -DFREEBSD46 -DFREEBSD47 -DFREEBSD48 -DFREEBSD49 \
1753         -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1754         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1755
1756 #FreeBSD 5.0, like 4.6
1757 freebsd50:
1758         @echo 'Making C-Kermit $(CKVER) for FreeBSD 5.0 with ncurses...'
1759         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1760         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1761         -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1762         -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
1763         -DFREEBSD46 -DFREEBSD50 -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1764         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1765
1766 #FreeBSD 5.1
1767 freebsd51:
1768         @echo 'Making C-Kermit $(CKVER) for FreeBSD 5.0 with ncurses...'
1769         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1770         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1771         -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1772         -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
1773         -DFREEBSD46 -DFREEBSD50 -DFREEBSD51 \
1774         -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1775         "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
1776
1777 #Secure builds for FreeBSD...  gcc required.
1778
1779 freebsd44+srp+openssl:
1780         @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.3 with SRP,SSL...'
1781         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
1782         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1783         -DFREEBSD4 -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 \
1784         -DCK_AUTHENTICATION -DCK_SRP \
1785         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
1786         -DCK_CURSES -DTCPSOCKET  \
1787         $(SRPINC) $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
1788         "LIBS = $(SRPLIB) $(SSLLIB) \
1789         -lncurses -ltermcap -lsrp -lssl -lkrypto -lcrypto \
1790         -lcrypt "
1791
1792 # The following fragmentary FreeBSD+SLL target was suggested, but it's not
1793 # clear which version of FreeBSD it applies to.
1794 #
1795 # ALL_TARGET=   xermit
1796 # MAKE_ARGS=    KTARGET=freebsd \
1797 #               CFLAGS="${CFLAGS} -DBSD44 -DCK_NCURSES -DCK_NEWTERM \
1798 #               -DTCPSOCKET -DNOCOTFMC -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT \
1799 #               -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR -DCKHTTP \
1800 #               -DCK_SSL -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_DES" \
1801 #               LIBS="-lssl -lcrypto -ldes -lncurses -lcrypt -lutil -lm"
1802
1803 #FreeBSD 5.0 with OpenSSL 0.9.7.
1804 freebsd50+openssl:
1805         @echo 'Making C-Kermit $(CKVER) for FreeBSD 5.0, ncurses, openssl'
1806         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1807         "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
1808         -DCK_AUTHENTICATION -DCK_SSL $(SSLINC) -DZLIB \
1809         -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
1810         -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
1811         -DFREEBSD46 -DFREEBSD50 -DUSE_STRERROR $(KFLAGS) -O -pipe" \
1812         "LIBS= -lncurses -lcrypt -lssl -lcrypto -lutil -lm $(SSLLIB) $(LIBS)"
1813
1814 #NetBSD - all versions - with curses, not ncurses.
1815 #Some builds seem to need KFLAGS=-DTPUTSFNTYPE=int, others don't.
1816 #(Only to get rid of a warning -- the binaries are identical.)
1817 netbsd:
1818         @echo Making C-Kermit $(CKVER) for NetBSD with curses...
1819         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1820         "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR -DTPUTSISVOID \
1821         -DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int -DFNFLOAT $(KFLAGS) -O" \
1822         "LIBS= -lcurses -lcrypt -lm $(LIBS)"
1823
1824 #NetBSD 1.5.x in which the return type of the function pointer that is the
1825 #third argument of tputs() was changed from void to int...  The regular NetBSD
1826 #target builds OK here but this one eliminates the (harmless) warning.
1827 netbsd15:
1828         @echo Making C-Kermit $(CKVER) for NetBSD with curses...
1829         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1830         "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR -DNETBSD15 \
1831         -DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int -DFNFLOAT $(KFLAGS) -O" \
1832         "LIBS= -lcurses -lcrypt -lm $(LIBS)"
1833
1834 #NetBSD 1.6 - like 1.5.x but with vanity banner saying 1.6.
1835 netbsd16:
1836         @echo Making C-Kermit $(CKVER) for NetBSD with curses...
1837         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1838         "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR \
1839         -DNETBSD15 -DNETBSD16 \
1840         -DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int -DFNFLOAT $(KFLAGS) -O" \
1841         "LIBS= -lcurses -lcrypt -lm $(LIBS)"
1842
1843 #NetBSD with ncurses requested explicitly rather than curses-which-is-ncurses
1844 netbsdn:
1845         @echo Making C-Kermit $(CKVER) for NetBSD with ncurses...
1846         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1847         "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DCK_DTRCD \
1848         -DCK_DTRCTS -DFNFLOAT -DUSE_STRERROR -DTPUTSISVOID -DTPUTSARGTYPE=int \
1849         $(KFLAGS) -O" \
1850         "LIBS= -L/usr/pkg/lib -lncurses -lcrypt -lm $(LIBS)"
1851
1852 #OpenBSD - All versions.
1853 #Uses ncurses as its curses so use -ltermlib, not -ltermcap
1854 #But it doesn't use uu_lock() which was introduced in OpenBSD 2.3.
1855 #For that use the next entry.
1856 #Add -DMAINTYPE=int if you get complaints about main: return type is not int.
1857 openbsdold:
1858         @echo Making C-Kermit $(CKVER) for OpenBSD...
1859         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1860         "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
1861         -DFNFLOAT -DNDSYSERRLIST $(KFLAGS) -O" "LIBS= -lcurses -ltermlib -lm"
1862
1863 #OpenBSD 2.3 or later
1864 #Add -DMAINTYPE=int if you get complaints about main: return type is not int.
1865 #For C-Kermit 8.0 (Christian Weisgerber):
1866 # -ltermlib removed (presumably because -lcurses==ncurses already includes it)
1867 # -DUSE_UU_LOCK and -lutil added for uu_lock()
1868 # -DNDSYSERRLIST changed to -DUSE_STRERROR
1869 #If this gives you trouble use the previous entry.
1870 openbsd:
1871         @echo Making C-Kermit $(CKVER) for OpenBSD 2.3 or later...
1872         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1873         "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
1874         -DUSE_UU_LOCK -DFNFLOAT -DUSE_STRERROR $(KFLAGS) -O" \
1875         "LIBS= -lcurses -lutil -lm"
1876
1877 #OpenBSD 3.0 or later includes OpenSSL
1878 #Add -DMAINTYPE=int if you get complaints about main: return type is not int.
1879 #For C-Kermit 8.0 (Christian Weisgerber):
1880 # -ltermlib removed (presumably because -lcurses==ncurses already includes it)
1881 # -DUSE_UU_LOCK and -lutil added for uu_lock()
1882 # -DNDSYSERRLIST changed to -DUSE_STRERROR
1883 #If this gives you trouble use the previous entry.
1884 openbsd30+ssl:
1885         @echo Making C-Kermit $(CKVER) for OpenBSD 3.0 or later...
1886         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1887         "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
1888         -DUSE_UU_LOCK -DFNFLOAT -DUSE_STRERROR -DCK_AUTHENTICATION \
1889         -DCK_SSL $(KFLAGS) -O" \
1890         "LIBS= -lcurses -lutil -lm -lssl -lcrypto"
1891
1892 # make 386bsd 0.0new, posix
1893 # for  386bsd 0.1.24, change /usr/include/termios.h to #define NCCS if
1894 #  _POSIX_SOURCE is #defined. (source: lewine, posix prgmrs guide, o`reilly)
1895 #NOTE: Lock directory is /var/spool/lock.  Formerly, it was /var/spool/uucp,
1896 #but reportedly <wjones@halcyon.com> that was due to a typo in 'man tip'.
1897 386bsd:
1898         @echo 'Making C-Kermit $(CKVER) for jolix 386BSD 0.0new and 0.1.24...'
1899         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1900         "CFLAGS= -DPOSIX -DSETREUID -DPIDSTRING -DUSLEEP \
1901         -D_386BSD -DCK_CURSES -DTCPSOCKET \
1902         -DLOCK_DIR=\\\"/var/spool/lock\\\" \
1903         $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
1904
1905 #Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP but no curses.
1906 macosx10:
1907         @echo Making C-Kermit $(CKVER) for `uname -s`...
1908         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1909         "CFLAGS= -DMACOSX10 -DTCPSOCKET -DUSE_STRERROR -O $(KFLAGS)"
1910
1911 #Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP and curses.
1912 #Note: curses must be obtained separately.  See next entry for ncurses.
1913 #Add "LIBS = -lcurses -ltermcap" if necessary (but reportedly it is not).
1914 macosx10c:
1915         @echo Making C-Kermit $(CKVER) for `uname -s` + curses...
1916         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1917         "CFLAGS= -DMACOSX10 -DCK_CURSES -DTPUTSFNTYPE=void -DTPUTSISVOID \
1918         -DTCPSOCKET -DUSE_STRERROR -O $(KFLAGS)"
1919
1920 #Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP and ncurses.
1921 #Note: ncurses must be obtained separately.
1922 #In the event of trouble with this one try the next one.
1923 macosx10nc:
1924         @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
1925         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1926         "CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR -O \
1927         $(KFLAGS)" "LIBS= -lncurses $(LIBS)"
1928
1929 #Mac OS X 10.2 (Jaguar) ncurses.
1930 macosx102nc:
1931         @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
1932         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1933         "CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR -O \
1934         $(KFLAGS) " "LIBS= -lncurses $(LIBS)"
1935
1936 #The problem here is that if curses.h also exists, it conflicts with
1937 #ncurses.h and and we have fatal errors.  If this happens to you, then
1938 #try this entry.
1939 macosx10ncx:
1940         @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
1941         @rm -f ./curses.h; touch ./curses.h
1942         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1943         "CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR \
1944         -I. -O $(KFLAGS) " \
1945         "LIBS= -lncurses $(LIBS)"
1946         @rm -f ./curses.h
1947
1948 #Mac OS X 10.3 (Panther) - Assumes ncurses is installed.
1949 macosx103: 
1950         @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
1951         $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
1952         "CFLAGS= -DMACOSX10 -DMACOSX103 -DCK_NCURSES -DTCPSOCKET \
1953         -DUSE_STRERROR -DUSE_NAMESER_COMPAT -O \
1954         $(KFLAGS) " "LIBS= -lncurses -lresolv $(LIBS)"
1955
1956 macosx103nc:
1957         $(MAKE) MAKE=$(MAKE) CC=$(CC) CC2=$(CC2) macosx103
1958
1959 #Acorn RISCiX, based on ...
1960 #Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
1961 #but without acucntrl program
1962 riscix:
1963         @echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
1964         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
1965                 "CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
1966                 -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
1967                 -DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
1968                 -DDFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL \
1969                 -DNOANSI -w -O2 -fomit-frame-pointer" \
1970                 "LIBS= -lcurses -ltermcap " \
1971                 "CC= /usr/ucb/cc" \
1972                 "CC2= /usr/ucb/cc"
1973
1974 #Acorn RISCiX, as above, but using gcc
1975 riscix-gcc:
1976         @echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
1977         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
1978                 "CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
1979                 -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
1980                 -DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
1981                 -DDFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL \
1982                 -DNOANSI -w -O2 -fomit-frame-pointer" \
1983                 "LIBS= -lcurses -ltermcap " \
1984                 "CC= gcc -mbsd" \
1985                 "CC2= gcc -mbsd"
1986
1987 #Convergent CTIX 6.4.1
1988 ctix:
1989         @echo 'Making C-Kermit $(CKVER) for Convergent CTIX 6.4.1'
1990         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
1991         "CFLAGS= -DSVR3 -DDIRENT -DTCPSOCKET -DHDBUUCP -DCK_CURSES \
1992         -DNONAWS -DNOLEARN $(KFLAGS) -XO" \
1993         "LNKFLAGS=-s" "LIBS=-lsocket -lcurses -lc_s"
1994         mcs -d wermit
1995
1996 # The following makefile entry should work for any Harris Night Hawk system
1997 # (either 88k or 68k based) running release 6.1 or later of the CX/UX
1998 # operating system. This is a POSIX and ANSI-C compliant system which also
1999 # supports BSD networking. (Earlier CX/UX releases will probably work with
2000 # sys5r3, but this has not been verified).
2001 #
2002 cx_ux:
2003         @echo Making C-Kermit $(CKVER) for Harris Night Hawk CX/UX 6.1 or later
2004         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
2005         "CFLAGS=-DPOSIX -DTCPSOCKET -DHDBUUCP -DPID_T=pid_t -DWAIT_T=int \
2006         -Dd_ino=d_fileno -DUID_T=uid_t -DGID_T=gid_t $(KFLAGS) -Xa \
2007         -O3 -g" "LNKFLAGS=-O3"
2008
2009 #Intergraph Clipper, CLIX, job control, HDB UUCP.
2010 clix:
2011         @echo 'Making C-Kermit $(CKVER) for Intergraph CLIX...'
2012         $(MAKE) wermit "CC=acc" "CC2=acc" KTARGET=$${KTARGET:-$(@)} \
2013         "CFLAGS= -w -DSVR3 -DCLIX -DDIRENT -DHDBUUCP -DNOSYSLOG -DUSE_MEMCPY \
2014         -DNOGETUSERSHELL -DNOREALPATH -DNOLEARN $(KFLAGS) -O" \
2015         "LNKFLAGS=" "LIBS= -lbsd"
2016
2017 #As above + TCP/IP...
2018 clixnet:
2019         @echo 'Making networked C-Kermit $(CKVER) for Intergraph CLIX...'
2020         $(MAKE) wermit "CC=acc" "CC2=acc" KTARGET=$${KTARGET:-$(@)} \
2021         "CFLAGS= -w -DSVR3 -DCLIX -DDIRENT -DHDBUUCP -DNOSYSLOG -DUSE_MEMCPY \
2022         -DTCPSOCKET -DNOGETUSERSHELL -DNOLEARN -DNOREALPATH $(KFLAGS) -O" \
2023         "LNKFLAGS=" "LIBS= -lbsd"
2024
2025 #Mark Williams Coherent 286 or 386 on IBM PC family.
2026 #There is a 64K limit on program size, so this is a command-line only version.
2027 coherent:
2028         $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DNOICP -DNOSETKEY -DNOLEARN \
2029         -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG -DNOXMIT \
2030         -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DSELECT_H $(KFLAGS) -VSUVAR" \
2031         -DNOFLOAT KTARGET=$${KTARGET:-$(@)} wermit
2032
2033 #Mark Williams Coherent 386 on IBM PC family.
2034 #This will make a "minimum interactive" version - no scripts,
2035 #no character sets, no help, no dial, no debug/transaction logging, no
2036 #transmit, msend, mail, type, etc.
2037 coherentmi:
2038         $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DNOSETKEY -DNOLEARN \
2039         -DNOSHOW -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG \
2040         -DNOXMIT -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DNOSERVER -DNOUUCP \
2041         -DNOSPL -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ -DNOFLOAT \
2042         -DNOCMDL $(KFLAGS) -VSUVAR -DSELECT_H" KTARGET=$${KTARGET:-$(@)} \
2043         wermit
2044
2045 #Mark Williams Coherent 386 on IBM PC/AT family.
2046 coherentmax:
2047         $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DSELECT_H -DNOLEARN \
2048         -DNOFLOAT -DNOSYSIOCTLH $(KFLAGS) -VSUVAR" "LNKFLAGS = -O -s" \
2049         KTARGET=$${KTARGET:-$(@)} wermit
2050
2051 #Mark Williams Coherent 386 4.2.  Includes curses but not TCP/IP.
2052 #Requires updates to the 4.2.10 compiler; the regular compiler fails to
2053 #to handle "complex expressions".  NOFLOAT is so it can work on old PCs
2054 #without floating-point hardware.
2055 coherent42:
2056         $(MAKE) "CFLAGS = -T500000 -DNOFLOAT -DCOHERENT -DNOANSI -DSELECT \
2057         -DNOSYSLOG -DDIRENT -DCK_CURSES -DCK_NEWTERM -DCK_WREFRESH -VSUVAR \
2058         -DDCLGETCWD -DNOSYSIOCTLH -DNOINITGROUPS -DNOSYMLINK -DSELECT_H \
2059         -DDCLGETCWD -O $(KFLAGS)" \
2060         "LNKFLAGS = -O -s" KTARGET=$${KTARGET:-$(@)} \
2061         "LIBS  = -lsocket -lcurses" wermit
2062
2063 #DEC Ultrix 2.x
2064 # Add -O, -DDYNAMIC, -s, etc, if they work.
2065 ultrix2x:
2066         @echo Making C-Kermit $(CKVER) for Ultrix 2.x ...
2067         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2068         "CFLAGS= -DBSD4 -DTCPSOCKET -DDU2 -DNOGETUSERSHELL $(KFLAGS)"
2069
2070 du2:
2071         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix2x
2072
2073 #DEC Ultrix 3.0 and 3.1
2074 ultrix30:
2075         @echo Making C-Kermit $(CKVER) for Ultrix 3.0...
2076         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2077         "CFLAGS= -DBSD4 -DTCPSOCKET -DDIRENT -DSIG_V -DNOGETUSERSHELL \
2078         -DULTRIX3 -DCK_CURSES $(KFLAGS) -O" "LIBS= -lcurses -ltermcap"
2079
2080 du3:
2081         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix30
2082
2083 ultrix3x:
2084         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix30
2085
2086 #DEC Ultrix 4.0 or 4.1 on DECstation, VAXstation, VAX, etc.
2087 ultrix40:
2088         @echo Making C-Kermit $(CKVER) for Ultrix 4.0 or 4.1...
2089         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2090         "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDU4 -DNOGETUSERSHELL \
2091         $(KFLAGS) -Olimit 1450" "LNKFLAGS = -s"
2092
2093 #DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
2094 #Like ultrix40, except now C compiler supports -O2 optimization.
2095 ultrix42:
2096         @echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
2097         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2098         "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL $(KFLAGS) \
2099         -O2 -Olimit 1750" "LNKFLAGS = -s"
2100
2101 du42:
2102         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix42
2103
2104 #DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
2105 #Like du42, but with curses support added and a couple features.
2106 ultrix42c:
2107         @echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
2108         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2109         "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
2110         -DCK_CURSES -DNOIKSD $(KFLAGS)-G6 -O2 -Olimit 3000 " \
2111         "LNKFLAGS = -s" "LIBS= -lcurses -ltermcap"
2112
2113 ultrix43:
2114         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
2115         "KFLAGS=-DULTRIX43 $(KFLAGS)" KTARGET=$${KTARGET-$(@)} ultrix42c
2116
2117 ultrix43notcp:
2118         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
2119         "KFLAGS=-DULTRIX43 -DNONET $(KFLAGS)" \
2120         KTARGET=$${KTARGET-$(@)} ultrix42c
2121
2122 # NOTE: need -DNODEBUG on MIPS to avoid relocation errors at link time.
2123 # Actually now (8.0) that we have discovered the -G option maybe debugging
2124 # can be put back.
2125 ultrix44:
2126         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
2127         "KFLAGS=-DULTRIX44 -G7 -DNODEBUG -DNETPTY -DNO_DEVTTY $(KFLAGS)" \
2128         KTARGET=$${KTARGET-$(@)} ultrix42c
2129
2130 ultrix45:
2131         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
2132         "KFLAGS=-DULTRIX45 $(KFLAGS)-DNETPTY -DNO_DEVTTY $(KFLAGS)" \
2133         KTARGET=$${KTARGET-$(@)} ultrix42c
2134
2135 du42c:
2136         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
2137         KTARGET=$${KTARGET-$(@)} ultrix42c
2138
2139 #DEC Ultrix 4.3A or later on DECsystem and DECstation 5000/50, /150 or /260
2140 #with MIPS R4x00 processor.  The "-mips3" switch generates R4000-specific
2141 #code, which is faster and more compact, but *won't* run on earlier
2142 #DECsystems and DECstations.
2143 ultrix43-mips3:
2144         @echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
2145         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2146         "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
2147         $(KFLAGS) -O2 -Olimit 1750 -mips3" "LNKFLAGS = -s -mips3"
2148
2149 du43-mips3:
2150         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) ultrix43-mips3
2151
2152 #DEC Ultrix 4.3A or later on MIPS R4x000 based systems.
2153 #Like ultrix43-mips3 but with curses support added
2154 ultrix43c-mips3:
2155         @echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
2156         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2157         "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL -DCK_CURSES \
2158         $(KFLAGS) -O2 -Olimit 3000 -mips3" "LNKFLAGS = -s -mips3" \
2159         "LIBS= -lcurses -ltermcap"
2160
2161 du43c-mips3:
2162         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
2163         KTARGET=$${KTARGET-$(@)} ultrix43c-mips3
2164
2165 #DEC Ultrix 4.4 on DECstation 5000/50 or /150 with R4000 MIPS processor,
2166 #or 5000/260 with R4400.  The "-mips3" switch generates R4000-specific code,
2167 #which is faster and more compact but *won't* run on earlier DECstations.
2168 ultrix44-mips3:
2169         @echo Making C-Kermit $(CKVER) for Ultrix 4.4, R4000 cpu ...
2170         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2171         "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
2172         $(KFLAGS) -O2 -Olimit 1450 -mips3" "LNKFLAGS = -s -mips3"
2173
2174 du44-mips3:
2175         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
2176         KTARGET=$${KTARGET-$(@)} ultrix44c-mips3
2177
2178 #DEC Ultrix 4.2 on DECstation, VAXstation, VAX, etc, System V R4 environment
2179 ultrix42s5r4:
2180         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4 on Ultrix...'
2181         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2182         "CFLAGS = -O2 -Olimit 1500 -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
2183         -DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
2184
2185 #OSF/1
2186 osf:
2187         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2188         "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
2189         -DCK_CURSES -DCK_RTSCTS -DFNFLOAT $(KFLAGS)" \
2190         "LNKFLAGS = -s" "LIBS = -lbsd -lcurses -ltermcap -lm"
2191
2192 #DEC OSF/1 V1.0-1.3 on DECstation, VAX, Alpha, or PC.
2193 dec-osf:
2194         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2195         "CFLAGS= -DBSD4 -DOSF -DOSF13 -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
2196         -DNOREALPATH -DNOIKSD -DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DNODEBUG \
2197         -DNOUNICODE $(KFLAGS)" \
2198         "LNKFLAGS = -non_shared" "LIBS = -lbsd -lcurses -ltermcap -lm"
2199
2200 # This one causes "relocation out-of-range" errors in the linker.
2201 old-dec-osf:
2202         @echo Making C-Kermit $(CKVER) for DEC OSF/1 V1.x...
2203         @echo If you are building for DEC OSF/1 2.0, please use dec-osf20.
2204         @echo Remove or adjust -O2 and/or -Olimit if they cause trouble.
2205         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2206         "KFLAGS= -O2 -Olimit 2400 $(KFLAGS)"
2207
2208 #DEC OSF/1 2.0 on Alpha and probably nowhere else.
2209 #The only difference from OSF/1 is that optimization is omitted.
2210 #The optimized version gets strange runtime errors, like the PAUSE command
2211 #not working.  Add "-unsigned" to make all chars unsigned.
2212 dec-osf20:
2213         @echo Making C-Kermit $(CKVER) for DEC OSF/1 V2.0...
2214         @echo Optimization omitted because it causes runtime errors.
2215         @echo See comments in makefile.
2216         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2217         "KFLAGS= -DOSF20 $(KFLAGS)"
2218
2219 dec-osf30:
2220         @echo Making C-Kermit $(CKVER) for DEC OSF/1 V3.0...
2221         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2222         "KFLAGS= -DOSF30 -O2 -Olimit 2400 $(KFLAGS)"
2223
2224 #Digital UNIX 3.2
2225 # Must compile ckuus[6x].c separately without optimization otherwise
2226 # the optimizer dumps core - keep CFLAGS here in sync with those from osf.
2227 du32:
2228         @echo Making C-Kermit $(CKVER) for Digital UNIX 3.2...
2229         $(MAKE) CC=$(CC) CC2=$(CC2) ckuus6.$(EXT) \
2230         "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
2231         -DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DOSF32 -DHDBUUCP $(KFLAGS)"
2232         $(MAKE) CC=$(CC) CC2=$(CC2) ckuusx.$(EXT) \
2233         "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
2234         -DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DOSF32 -DHDBUUCP $(KFLAGS)"
2235         $(MAKE) CC=$(CC) CC2=$(CC2) osf \
2236         "KFLAGS= -DOSF32 -DHDBUUCP -O2 -Olimit 3200 $(KFLAGS)"
2237
2238 dec-osf32:
2239         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) du32 \
2240         KTARGET=$${KTARGET:-$(@)}
2241
2242 #Digital UNIX 4.0 through 4.0D (use tru64 targets for 4.0E and above)...
2243 du40:
2244         @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0...
2245         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2246         "KFLAGS= -DOSF40 -DHDBUUCP -DFNFLOAT \
2247         -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
2248
2249 du40gcc:
2250         @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0 with gcc ...
2251         $(MAKE) osf CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
2252         "KFLAGS= -DOSF40 -DHDBUUCP $(KFLAGS)"
2253
2254 #Tru64 Unix 4.0E
2255 tru64-40e:
2256         @echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0E...
2257         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2258         "KFLAGS= -DOSF40 -DOSF40E -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
2259         -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
2260
2261 tru64-40f:
2262         @echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0F...
2263         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2264         "KFLAGS= -DOSF40 -DOSF40F -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
2265         -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
2266
2267 tru64-40g:
2268         @echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0G...
2269         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2270         "KFLAGS= -DOSF40 -DOSF40G -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
2271         -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
2272
2273 tru64-50a:
2274         @echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.0A...
2275         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2276         "KFLAGS= -DTRU64 -DOSF50 -DHDBUUCP \
2277         -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
2278
2279 tru64-51a:
2280         @echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.1A...
2281         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2282         "KFLAGS= -DTRU64 -DOSF50 -DOSF51A -DHDBUUCP \
2283         -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
2284
2285 tru64-51b:
2286         @echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.1A...
2287         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2288         "KFLAGS= -DTRU64 -DOSF50 -DOSF51A -DOSF51B -DHDBUUCP \
2289         -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
2290
2291 du50:
2292         $(MAKE) CC=$(CC) CC2=$(CC2) tru64-50a KTARGET=$${KTARGET:-$(@)}
2293
2294 du40-ridiculous-checking:
2295         @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0.
2296         @echo Checking everything - assumes DECC...
2297         $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
2298         "KFLAGS= -DOSF40 -DHDBUUCP -w0 -warnprotos -check -portable \
2299         -unsigned -std1 -O3 -Olimit 1760 $(KFLAGS)"
2300
2301 #Sequent DYNIX/ptx 1.2.1
2302 dynixptx12:
2303         @echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.2.1...
2304         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
2305         "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DPTX -DNOGETUSERSHELL -DNOLEARN \
2306         -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t $(KFLAGS) -i -O" \
2307         "LNKFLAGS = -i"
2308
2309 #Sequent DYNIX/ptx 1.3 or 1.4
2310 dynixptx13:
2311         @echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.3 TCP/IP...
2312         $(MAKE) xermit "CFLAGS= -O KTARGET=$${KTARGET:-$(@)} \
2313         -DSVR3 -DDIRENT -DHDBUUCP -DPTX -DCK_POLL -DNOGETUSERSHELL \
2314         -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DTCPSOCKET $(KFLAGS) -i" \
2315         "LNKFLAGS = -i" "LIBS = -lsocket -linet -lnsl"
2316
2317 #Sequent DYNIX/ptx 2.0, ANSI C compilation
2318 #Should work on any hardware platform when DYNIX/ptx runs, including
2319 #386, 486, Pentium.
2320 dynixptx20:
2321         @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
2322         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2323         "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET \
2324         -DWAIT_T=int -DPTX -DNOGETUSERSHELL $(KFLAGS) -O" \
2325         "LIBS = -lsocket -linet -lnsl"
2326
2327 #Sequent DYNIX/ptx 2.0, ANSI C compilation, with curses
2328 dynixptx20c:
2329         @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
2330         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2331         "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET -DWAIT_T=int -DPTX -DCK_CURSES \
2332         -DCK_NEWTERM -DNOGETUSERSHELL $(KFLAGS) -O" \
2333         "LIBS = -lsocket -linet -lnsl -lcurses -ltermcap"
2334
2335 #Sequent DYNIX/ptx 2.1.6, 80486, ANSI C compilation, with curses:
2336 # -Xa -- use ANSI compiler.
2337 # -Wc,-pw -- suppress portability warnings.
2338 # -Wc,-i386 -- 80386 cpu.
2339 # -Wc,-i486 -- 80486 cpu.
2340 # -Wc,-P5 -- Pentium (default).
2341 # -Wc,-O3 -- highest optimization.
2342 # -Wa,-N17061 -- increase symbol table from default of 15013 for ckcuni.c.
2343 # Early versions of DYNIX/ptx 2.1.x may need -DCK_POLL instead of -DSELECT.
2344 # Add "$&" after the colon in the "xermit" target for parallel makes.
2345 dynixptx216c:
2346         @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.1.6'
2347         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2348         "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
2349         -DSELECT -DCK_REDIR -DCK_NAWS -DCK_WREFRESH -DSW_ACC_ID \
2350         -DTCP_NODELAY=1 -DTRMBUFL=2048 -DBIGBUFOK -DHADDRLIST \
2351         -DPTX  -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL -DNOREALPATH \
2352         $(KFLAGS) -Xa -Wc,-pw -Wc,-i486 -Wc,-O3 -Wa,-N17061" \
2353         "LIBS = -lXbsd -lseq -lsocket -linet -lnsl -lmalloc -lm -lcurses" \
2354         "LNKFLAGS = -s"
2355
2356 #Sequent DYNIX/ptx 2.1.6, gcc 2.7.2.2, with curses:
2357 dynixptx216cgcc:
2358         @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.1.6 gcc'
2359         $(MAKE) xermit "CC = gcc" "CC2 = gcc" KTARGET=$${KTARGET:-$(@)} \
2360         "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
2361         -DSELECT -DCK_REDIR -DCK_NAWS -DCK_WREFRESH -DSW_ACC_ID \
2362         -DTCP_NODELAY=1 -DTRMBUFL=2048 -DBIGBUFOK -DHADDRLIST \
2363         -DPTX  -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL -DNOREALPATH \
2364         $(KFLAGS) -O3 -pipe -funsigned-char" \
2365         "LIBS = -lXbsd -lseq -lsocket -linet -lnsl -lmalloc -lm -lcurses" \
2366         "LNKFLAGS = -s"
2367
2368 #Sequent DYNIX/ptx 4.0, ANSI C compilation, with curses
2369 dynixptx41c:
2370         @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.0...'
2371         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2372         "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET \
2373         -DWAIT_T=int -DPTX -DPTX4 -DCK_CURSES -DCK_NEWTERM \
2374         -DNOGETUSERSHELL $(KFLAGS) -O" \
2375         "LIBS = -lsocket -lnsl -lcurses -ltermcap"
2376
2377 #Sequent DYNIX/ptx 4.4, ANSI C compilation, with curses
2378 dynixptx44:
2379         @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.4...'
2380         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2381         "CFLAGS= -DPTX -DPTX4 -DPOSIX -DHDBUUCP -DTCPSOCKET -DWAIT_T=int \
2382         -DCK_CURSES -DCK_NEWTERM -DBIGBUFOK -DSELECT -DNOGETUSERSHELL \
2383         $(KFLAGS) -O" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
2384
2385 #Sequent DYNIX 3.0.x
2386 dynix3:
2387         @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
2388         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2389         "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -O \
2390         -DPWUID_T=int -DGID_T=int $(KFLAGS)"
2391
2392 #Sequent DYNIX 3.0.x, no ACUCNTRL
2393 dynix3noacu:
2394         @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
2395         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2396         "CFLAGS= -DBSD43 -DLCKDIR -DTCPSOCKET -O \
2397         -DUID_T=int -DGID_T=int $(KFLAGS)"
2398
2399 #Sequent DYNIX 3.1.x
2400 dynix31:
2401         @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.x...
2402         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2403         "CFLAGS= -O -DDCLPOPEN -DLCKDIR -DBSD4 -DTCPSOCKET $(KFLAGS)"
2404
2405 #Sequent DYNIX 3.1.2, as above but with curses, to be compiled by gcc 2.3.3.
2406 dynix31c:
2407         @echo 'Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.2, curses...'
2408         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2409         "CFLAGS= -O2 -DDCLPOPEN -DACUCNTRL \
2410         -DBSD43 -DTCPSOCKET -DCK_CURSES -DUID_T=int \
2411         $(KFLAGS)" "LIBS= -lcurses -ltermcap"
2412
2413 #Convex C1 with Berkeley Unix
2414 convex:
2415         @echo Making C-Kermit $(CKVER) for Convex C1 / BSD...
2416         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
2417         "CFLAGS= -DBSD4 -DNOLEARN $(KFLAGS) -Dmsleep=mnap"
2418
2419 #Convex C210 with Convex/OS 8
2420 convex8:
2421         @echo Making C-Kermit $(CKVER) for Convex C210 with OS 8
2422         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2423         "CFLAGS= -DBSD4 -DTCPSOCKET -DNODEBUG -DDIRENT -DNOFILEH \
2424         $(KFLAGS) -DSIG_V -Dmsleep=mnap"
2425
2426 #Convex C2 with Convex OS 9.1 (should also work with 8.1 or later)
2427 #with ANSI C compiler, uses BSD 4.3 uucp lockfile convention.
2428 convex9:
2429         @echo Making C-Kermit $(CKVER) for Convex C210 with OS 9.1
2430         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2431         "CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
2432         -D__STDC__ -DLCKDIR -Dmsleep=mnap -O -ext -tm c1 $(KFLAGS)" \
2433         "LNKFLAGS = -ext"
2434
2435 #Convex C2 with Convex OS 10.1 or later
2436 #with gcc 2.x C compiler
2437 convex10gcc:
2438         @echo Making C-Kermit $(CKVER) for Convex C2 with OS 10.1 using gcc
2439         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2440         "CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
2441         -D__STDC__  -Dmsleep=mnap -O2 $(KFLAGS)" CC=gcc CC2=gcc
2442
2443 #Cray X-MP or Y-MP UNICOS 6.x or 7.x.
2444 #NOTE: NPROC tells how many parallel makes to run.  If your Cray has multiple
2445 #processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
2446 cray:
2447         @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 6.x or 7.0...
2448         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
2449         "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
2450
2451 #Cray X-MP or Y-MP UNICOS 8.0 Alpha.
2452 cray8:
2453         @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 8.0 Alpha...
2454         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
2455         "CFLAGS= -DSVR4 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
2456
2457 #Cray X-MP or Y-MP UNICOS 9.0.
2458 #This one was executed successfully for C-Kermit 8.0.209.
2459 #Earlier versions of Unicos will probably need the same flags.
2460 cray9:
2461         @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 9.0...
2462         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
2463         "CFLAGS= -DSVR4 -DDIRENT -DHDBUUCP -DNOLFDEVNO \
2464         -DTCPSOCKET $(KFLAGS) -O1"
2465
2466 #Cray-2 or Cray 3-CSOS
2467 #NOTE: NPROC tells how many parallel makes to run.  If your Cray has multiple
2468 #processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
2469 craycsos:
2470         @echo 'Making C-Kermit $(CKVER) for Cray-2/3 CSOS
2471         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
2472         "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET \
2473         $(KFLAGS) -DCK_ANSIC -DCK_CURSES" "LIBS=-lnet"
2474
2475 #NeXTSTEP 1.0 through 3.2.
2476 #Includes fullscreen file transfer display (curses) and TCP/IP support.
2477 #Uses shared library to make executable program about 80K smaller.
2478 #Remove "LIBS = -lsys_s" if this causes trouble.
2479 next:
2480         @echo Making C-Kermit $(CKVER) for NeXTSTEP...
2481         @echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
2482         @echo 'add KFGLAGS=-DNOREDIRECT to your make command.'
2483         $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
2484         "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
2485         -pipe -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
2486
2487 nextc:
2488         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
2489         KTARGET=$${KTARGET:-$(@)}
2490
2491 nextg:
2492         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
2493         KFLAGS=-Wall KTARGET=$${KTARGET:-$(@)}
2494
2495 nextgc:
2496         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
2497         KFLAGS=-Wall KTARGET=$${KTARGET:-$(@)}
2498
2499 #NeXTSTEP 3.3.
2500 #Includes fullscreen file transfer display and TCP/IP.
2501 next33:
2502         @echo Making C-Kermit $(CKVER) for NeXTSTEP 3.3...
2503         $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
2504         "CFLAGS= -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
2505         -pipe -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
2506
2507 #OPENSTEP 4.2 for Sparc, m680x0, HP PA-RISC, and Intel.
2508 #Includes fullscreen file transfer display and TCP/IP.
2509 #ckcpro.c compiled without optimization because it crashes the compiler.
2510 openstep42:
2511         @echo Making C-Kermit $(CKVER) for OPENSTEP 4.2...
2512         $(MAKE) ckcpro.$(EXT) \
2513         "CFLAGS= -DOPENSTEP42 -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV \
2514         -DFNFLOAT -pipe -DCK_CURSES $(KFLAGS) -w"
2515         $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
2516         "CFLAGS= -DOPENSTEP42 -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV \
2517         -DFNFLOAT -pipe -DCK_CURSES $(KFLAGS) -O -w" \
2518         "LIBS = -lsys_s -lcurses -ltermcap"
2519
2520 #NeXT with malloc debugger
2521 nextmd:
2522         @echo Making C-Kermit $(CKVER) for NeXT with malloc debugging...
2523         $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
2524         "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
2525         -DCK_CURSES $(KFLAGS) -O -w -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
2526         "LIBS = -lsys_s -lcurses -ltermcap"
2527
2528 #Build for NeXTSTEP with "fat" binaries (MABs) that run on both Motorola
2529 #and Intel platforms.
2530 nextfat:
2531         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
2532         next KTARGET=$${KTARGET:-$(@)} \
2533         "KFLAGS=-Wall -arch m68k -arch i386" "LNKFLAGS = -arch m68k -arch i386"
2534
2535 #NeXTSTEP on Intel Platforms.
2536 next486:
2537         @echo Making C-Kermit $(CKVER) for NeXTSTEP on Intel Platforms...
2538         @echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
2539         @echo 'add KFGLAGS=D-DNOREDIRECT to your make command.'
2540         $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
2541         "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
2542         -DNODEBUG -O3 -fno-omit-frame-pointer -fschedule-insns2 -pipe \
2543         -DCK_CURSES $(KFLAGS) -w" "LIBS = -lsys_s -lcurses -ltermcap"
2544
2545 #Single binary that runs on NeXT 68030 and 68040, Intel, HP, and Sparc,
2546 #as well as on OpenStep/Mach.
2547 nextquadfat:
2548         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
2549         KTARGET=$${KTARGET:-$(@)} \
2550         "KFLAGS=-Wall -arch m68k -arch i386 -arch hppa -arch sparc" \
2551         "LNKFLAGS = -arch m68k -arch i386 -arch hppa -arch sparc"
2552
2553 #BeBox
2554 beboxdr7:
2555         @echo 'Making C-Kermit $(CKVER) for the BeBox...'
2556         @echo 'Link step will fail with default Metroworks linker 64K limit.'
2557         @echo 'Code Warrior Gold required to link big programs.'
2558         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
2559         "CC=/boot/develop/tools/mwcc" "CC2=/boot/develop/tools/mwld" \
2560         "CFLAGS= -DBEBOX -DBE_DR_7 -DPOSIX -DNOUUCP -DNOLEARN $(KFLAGS) -O"
2561
2562 #BeBox BeOS DR7 only
2563 bebox:
2564         @echo 'Making C-Kermit $(CKVER) for BeBox...'
2565         @echo 'Link step will fail with default Metroworks linker 64K limit.'
2566         @echo 'Code Warrior Pro 3.0 for BeBox required to link big programs.'
2567         $(MAKE) wermit "CC=mwcc" "CC2=mwld" KTARGET=$${KTARGET:-$(@)} \
2568         "CFLAGS= -DBEBOX -DPOSIX -DNOLEARN -DNOUUCP $(KFLAGS) -O"
2569
2570 #BeOS 4.5
2571 #We have to use the wermit target because 'fd_set' is unknown.
2572 beos45:
2573         $(MAKE) wermit "CC=$(CC)" "CC2=$(CC2)" KTARGET=$${KTARGET:-$(@)} \
2574         "CFLAGS= -DBEOS -DBEOS45 -DPOSIX -DNOIKSD -DNOREALPATH -DSYSTIMEH \
2575         -DNOCOTFMC -DNOUUCP -DNOLEARN $(KFLAGS) -O" \
2576         "LIBS = $(LIBS)"
2577
2578 #BeOS 4.5
2579 beos45net:
2580         $(MAKE) CC=$(CC) CC2=$(CC2) beos45 \
2581         "KFLAGS=-DTCPSOCKET -DNO_DNS_SRV $(KFLAGS)" "LIBS=-lnet -lnetapi"
2582
2583 #Plan 9 from Bell Labs
2584 plan9:
2585         @echo 'C-Kermit for Plan 9 from Bell Labs - calling ckpker.mk...'
2586         make -f ckpker.mk
2587
2588 #POSIX
2589 posix:
2590         @echo 'Making C-Kermit $(CKVER) for pure POSIX...'
2591         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
2592         "CFLAGS= -DPOSIX -DNOUUCP -DNOLEARN $(KFLAGS) -O"
2593
2594 # PowerMAX OS (SVR4) from Concurrent (tested on PowerMAX 5.1)
2595 powermax:
2596         @echo 'Making C-Kermit $(CKVER) for Concurrent PowerMAX OS...'
2597         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2598         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DPOWERMAX \
2599         -DNETPTY -DHAVE_STREAMS -DHAVE_GRANTPT -DHAVE_PTSNAME -DPUSH_PTEM \
2600         -DPUSH_LDTERM -DPUSH_TTCOMPAT \
2601         -DSTERMIOX -DTCPSOCKET -DCK_CURSES $(KFLAGS)" \
2602         "LIBS= -lsocket -lnsl -lresolv -lcurses -lgen -lc -lucbc"
2603
2604 #Berkeley Software Design Inc. BSDI
2605 # Substitute "LIBS= -lnewcurses -ltermcap" if desired.
2606 bsdi:
2607         @echo 'Making C-Kermit $(CKVER) for BSDI ...'
2608         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2609         "CFLAGS= -DBSD44 -DSETREUID -DSW_ACC_ID -DBIGBUFOK -DFIXCRTSCTS \
2610         -DTCPSOCKET -DCK_CURSES -DFNFLOAT $(KFLAGS) -O" \
2611         "LIBS= -lcurses -ltermcap -lm"
2612
2613 #Berkeley Software Design Inc. BSDI - has higher serial speeds than 1.x.
2614 bsdi2:
2615         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
2616         KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DBSDI2 $(KFLAGS)"
2617
2618 bsdi3:
2619         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
2620         KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DBSDI2 -DBSDI3 $(KFLAGS)"
2621
2622 bsdi4:
2623         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
2624         KTARGET=$${KTARGET:-$(@)} \
2625         "KFLAGS=-DBSDI2 -DBSDI3 -DBSDI4 -DTPUTSFNTYPE=void -DTPUTSISVOID \
2626         -m486 $(KFLAGS)"
2627
2628 # (old name for the above)
2629 bsdiposix:
2630         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi
2631
2632
2633 #Build a BSDI 4.x binary that also runs under FreeBSD (Terry Kennedy).
2634 #But watch out for details like serial-port locking.
2635 bsdix:
2636         $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
2637         KTARGET=$${KTARGET:-$(@)} \
2638         "KFLAGS=-DBSDI2 -DBSDI3 -DBSDI4 -DTPUTSFNTYPE=void -DTPUTSISVOID \
2639         -m486 $(KFLAGS)" "LNKFLAGS=-static -Wl,-m,i386bsdi -Wl,-e,_start"
2640
2641 #Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1
2642 pyramid:
2643         @echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
2644         ucb $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2645         "CFLAGS= -DBSD43 -DTCPSOCKET -DPYRAMID -O $(KFLAGS)" "LNKFLAGS = -s"
2646
2647 #Pyramid Dual Port OSx using HoneyDanBer UUCP, curses and TCP
2648 pyramid-hdb:
2649         @echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
2650         ucb $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2651         "CFLAGS= -DBSD43 -DTCPSOCKET -DHBDUUCP -DCK_CURSES -O $(KFLAGS)" \
2652         "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
2653
2654 #Pyramid DC/OSx (UNIX System V R4).
2655 #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
2656 #are not misplaced in sys (rather than netinet and arpa, respectively).
2657 #Uses ANSI C.
2658 #NOTE: Remove -O and Olimit:2500 from CFLAGS if TELNET connections do not work.
2659 pyrdcosx:
2660         @echo 'Making C-Kermit $(CKVER) for Pyramid DC/OSx...'
2661         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2662         "CFLAGS = -Xa -O -DSVR4 -DDIRENT -DHDBUUCP -DSELECT -DNOGETUSERSHELL \
2663         -DCK_CURSES -DSTERMIOX -DTCPSOCKET -DPYRAMID -K Olimit:3100 \
2664         -DNO_DNS_SRV $(KFLAGS)" "LIBS= -lcurses -lsocket -lnsl" "LNKFLAGS = -s"
2665
2666 #IBM's AIX 3.0 on IBM 370 mainframe, tested on AIX F44 thru F50.
2667 aix370:
2668         @echo Making C-Kermit $(CKVER) for IBM System/370 AIX 3.0...
2669         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2670         "CFLAGS= -DAIX370 -DTCPSOCKET -DLCKDIR -DDIRENT $(KFLAGS)" \
2671         "LIBS = -lbsd"
2672
2673 #IBM's AIX/ESA 2.1 (OSF/1) on IBM mainframe
2674 aixesa:
2675         @echo Making C-Kermit $(CKVER) for IBM AIX/ESA...
2676         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2677         "CFLAGS= -DAIXESA -DTCPSOCKET $(KFLAGS) -O"
2678
2679 #IBM PS/2 with AIX 1.0 thru 1.3.
2680 #  Reports indicate that -O switch must be omitted.
2681 #  It is also possible that "make bsd" will work (reports welcome).
2682 #  One report said "make LIBS=-lbsd bsd" did the trick.
2683 #  NOTLOG is to get around a 'tlog' symbol defined in one of the headers.
2684 ps2aix:
2685         @echo 'Making C-Kermit $(CKVER) for IBM AIX 1.x PS/2...'
2686         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
2687         "CFLAGS = -DATTSV -DNOREALPATH -DPS2AIX10 -DSIG_V \
2688         -DNOUNICODE -DNOTLOG -DNOLEARN $(KFLAGS) -i" \
2689         "LNKFLAGS = -i"
2690
2691 ps2aixnetc:
2692         @echo 'Making C-Kermit $(CKVER) for IBM AIX 1.x PS/2...'
2693         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
2694         "CFLAGS = -DATTSV -DNOREALPATH -DPS2AIX10 -DTCPSOCKET -DCK_CURSES \
2695         -DSIG_V -DNOUNICODE -DNOTLOG -DNOLEARN $(KFLAGS) -i" \
2696         "LIBS = -lcurses" "LNKFLAGS = -i"
2697
2698 ps2aix3:
2699         $(MAKE) ps2aix KTARGET=$${KTARGET:-$(@)}
2700
2701 #IBM RT PC with AIX 2.2.1, valid as of C-Kermit 8.0.
2702 #NOTLOG because of a conflict in <sys/termio.h>.
2703 #This one has unique and strange lockfiles.
2704 #  -O removed on purpose (8.0).
2705 #  In case of "compiler error: symbol table full", increase the -Nn number.
2706 #  In case of "compiler error: Constant pool too big", boost the -Np number.
2707 #  Add -DNOPUTENV if putenv() causes trouble.
2708 #  Put -DNOIKSD back if IKSD-related problems occur.
2709 rtaix:
2710         @echo 'Making C-Kermit $(CKVER) for IBM RT PC, AIX 2.2.1...'
2711         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2712         "CFLAGS = -DATTSV -DRTAIX -DHDBUUCP -DDIRENT -DNOTLOG -DTCPSOCKET \
2713         -DNOGETUSERSHELL -DCLSOPN -DNOREALPATH -DNOUNICODE -DBSD_INCLUDES \
2714         -DUSE_LSTAT -DFNFLOAT -Nn2500 -Np1000 -Wq,-SJ2 -a -w $(KFLAGS)" \
2715         "LIBS = -lm $(LIBS)" "LNKFLAGS = -s"
2716
2717 #IBM RT PC with AIX 2.2.1 + curses
2718 rtaixc:
2719         $(MAKE) rtaix CC=$(CC) CC2=$(CC2) "KFLAGS=-DCK_CURSES" "LIBS=-lcurses"
2720
2721 #IBM RT PC with AIX (ACIS) 2.2.1 (BSD 4.3)
2722 # Add -O, -DDYNAMIC, -s, etc, if they work.
2723 rtacis:
2724         @echo Making C-Kermit $(CKVER) for RT PC with ACIS 2.2.1 = BSD 4.3...
2725         $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
2726         "CFLAGS= -DBSD4 -DTCPSOCKET -DNOREALPATH -DNOIKSD -DNOPUTENV \
2727         $(KFLAGS) -U__STDC__" "LNKFLAGS = -s"
2728
2729 #IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000.
2730 rs6000:
2731         @echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
2732         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2733         "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DCK_ANSIC \
2734         -DCK_POLL -DCLSOPN -DSELECT_H -DNOTTYLOCK -O $(KFLAGS)" \
2735         "LNKFLAGS = -s"
2736
2737 #IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000, with curses.
2738 rs6000c:
2739         @echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
2740         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2741         "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DCK_ANSIC \
2742         -DCK_POLL -DCLSOPN -DCK_CURSES -DSELECT_H -DNOTTYLOCK -DNOREALPATH \
2743         -O $(KFLAGS)" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -s"
2744
2745 aix30:
2746         $(MAKE) rs6000 CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)}
2747
2748 aix31:
2749         $(MAKE) rs6000 CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)}
2750
2751 #IBM AIX 3.2 for RISC System/6000.
2752 #In case of "subprogram too complex" warnings, add "-qmaxmem=16000" to CFLAGS.
2753 rs6aix32:
2754         @echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000...
2755         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2756         "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DCK_ANSIC -DNOREALPATH \
2757         -DSELECT_H -DCLSOPN -DNOTTYLOCK -O $(KFLAGS)" "LNKFLAGS = -s"
2758
2759 #IBM AIX 3.2 for RISC System/6000.
2760 rs6aix32c:
2761         @echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000, TCP+curses...
2762         @echo In case of Subprogram Too Complex warnings,
2763         @echo add -qmaxmem=16000 to CFLAGS.
2764         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2765         "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DCK_ANSIC -DNOREALPATH \
2766         -DCLSOPN -DCK_CURSES -DSELECT_H -DNOTTYLOCK -O $(KFLAGS)" \
2767         "LNKFLAGS = -s" "LIBS=-lcurses"
2768
2769 aix32:
2770         $(MAKE) rs6aix32c KTARGET=$${KTARGET:-$(@)}
2771
2772 #IBM AIX 4.1, 4.1.x on RISC System/6000 or Power Series.
2773 #Generates common binary for all platforms if using xlc (IBM C compiler).
2774 #When using gcc, add -mcpu=common to generate common binary.
2775 #Note that this one needs CK_NEWTERM.
2776 # Add -bbigtoc in case ld fails with TOC overflow.
2777 aix41:
2778         @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
2779         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2780         "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
2781         -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
2782         -DNOGETUSERSHELL -qmaxmem=16000 -O $(KFLAGS)" \
2783         "LNKFLAGS = -s" "LIBS=-lcurses"
2784
2785 #Ditto but with gcc.
2786 #Remove "CC=gcc CC2=gcc" if you have gcc installed as cc.
2787 aix41g:
2788         @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
2789         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC=gcc" "CC2=gcc" \
2790         "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
2791         -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
2792         -DNOGETUSERSHELL -O $(KFLAGS)" \
2793         "LNKFLAGS = -s -Xlinker -bbigtoc" "LIBS=-lcurses"
2794
2795 # Add -bbigtoc in case ld fails with TOC overflow.
2796 aix41+krb5+krb4:
2797         @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
2798         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2799         "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
2800         -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
2801         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
2802         -DCK_ENCRYPTION -DCK_DES $(K5INC) $(K5INC)/krb5  \
2803         -DNOGETUSERSHELL -qmaxmem=16000 -O $(KFLAGS)" \
2804         "LNKFLAGS = -s" \
2805         "LIBS = $(K5LIB) -lcurses -lkrb4 -ldes425 -lkrb5 \
2806         -lcom_err -lk5crypto -lgssapi_krb5"
2807
2808 #Old name for "aix41".
2809 rs6aix41c:
2810         $(MAKE) aix41 KTARGET=$${KTARGET:-$(@)}
2811
2812 #IBM AIX 4.1, 4.1.x, or 4.2 on RISC System/6000 or Power Series,
2813 # with X.25 support
2814 #Generates common binary for all platforms if using xlc (IBM C compiler).
2815 #When using gcc, add -mcpu=common to generate common binary.
2816 # Add -bbigtoc in case ld fails with TOC overflow.
2817 aix41x25:
2818         @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
2819         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2820         "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
2821         -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
2822         -DIBMX25 -DDEBUG -DNOGETUSERSHELL -qmaxmem=16000 -g $(KFLAGS)" \
2823         "LNKFLAGS = -g -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg"
2824         -@echo "\e]0;kermit done\a\c"
2825
2826 #As above but without -g in LNKFLAGS.
2827 # Add -bbigtoc in case ld fails with TOC overflow.
2828 aix41x25o:
2829         @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
2830         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2831         "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
2832         -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
2833         -DIBMX25 -DNODEBUG -DNOGETUSERSHELL -qmaxmem=16000 $(KFLAGS)" \
2834         "LNKFLAGS = -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg"
2835         -@echo "\e]0;kermit done\a\c"
2836
2837 #AIX 4.2 -- Must have CK_NEWTERM or echoing is lost after curses.
2838 # Add -bbigtoc in case ld fails with TOC overflow.
2839 aix42:
2840         @echo Making C-Kermit $(CKVER) for IBM AIX 4.2 or higher...
2841         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2842         "CFLAGS= -DAIXRS -DAIX41 -DAIX42 -DSVR4 -DSTERMIOX -DTCPSOCKET \
2843         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DFNFLOAT \
2844         -DSELECT -DSELECT_H -DNOGETUSERSHELL -qmaxmem=16000 -O $(KFLAGS)" \
2845         "LNKFLAGS = -s" "LIBS=-lcurses -lm"
2846
2847 #AIX 4.3 -- Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
2848 # -bbigtoc needed on some systems but not others to avoid TOC overflow.
2849 # "man ld" says -bbigtoc makes program run slower.
2850 aix43:
2851         @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher...
2852         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2853         "CFLAGS= -DAIXRS -DAIX41 -DAIX43 -DSVR4 -DSTERMIOX -DTCPSOCKET \
2854         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2855         -DFNFLOAT -DNOGETUSERSHELL -qmaxmem=16000 -bbigtoc -O $(KFLAGS)" \
2856         "LNKFLAGS = -s" "LIBS=-lcurses -lm"
2857
2858 #AIX 4.3 with IBM X.25.
2859 aix43x25:
2860         @echo "Making C-Kermit $(CKVER) for IBM AIX 4.3 with X.25..."
2861         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
2862         "CFLAGS= -DAIXRS -DAIX41 -DAIX43 -DSVR4 -DSTERMIOX -DTCPSOCKET \
2863         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2864         -DFNFLOAT -DNOGETUSERSHELL -DIBMX25 \
2865         -qmaxmem=16000 -bbigtoc -O $(KFLAGS)" \
2866         "LNKFLAGS = -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg -lm"
2867
2868 #AIX 4.3 -- Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
2869 # -mminimal-toc needed on some systems but not others to avoid TOC overflow.
2870 # "man ld" says -bbigtoc makes program run slower.
2871 aix43g:
2872         @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
2873         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
2874         "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
2875         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2876         -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
2877         "LIBS=-lcurses -lm"
2878
2879 aix43gcc:
2880         $(MAKE) aix43g
2881
2882 # None of the following aix43gcc attempts work on a gcc-only AIX 4.3.3 box.
2883 # It just plain can't find the math routines (fmod, pow, exp, sqrt, log10,...)
2884 # Which is odd because nm /usr/lib/libC.a finds them...
2885
2886 #in case aix43gcc can't find its math library...
2887 aix43gccx:
2888         @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
2889         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
2890         "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
2891         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2892         -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
2893         "LIBS= -L/usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.1.0/2.95.2 \
2894         -lcurses -bloadmap -bnoquiet"
2895
2896 #in case aix43gccx can't find its math library...
2897 aix43gccy:
2898         @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
2899         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
2900         "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
2901         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2902         -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
2903         "LIBS= -lcurses -bloadmap -bnoquiet"
2904
2905 #in case aix43gccx can't find its math library...
2906 aix43gccz:
2907         @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
2908         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
2909         "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
2910         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2911         -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
2912         "LIBS= -L. -lcurses -bloadmap -bnoquiet"
2913
2914
2915 #AIX 4.3 with MIT Kerberos 5 and Kerberos 4 compatibility mode
2916 # Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
2917 # -mminimal-toc needed on some systems but not others to avoid TOC overflow.
2918 # "man ld" says -bbigtoc makes program run slower.
2919 aix43gcc+krb5+krb4:
2920         @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher w/Kerberos...
2921         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
2922         "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
2923         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2924         -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL \
2925         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
2926         -DCK_ENCRYPTION -DCK_DES -funsigned-char $(K5INC) $(K5INC)/krb5 \
2927         $(KFLAGS)" \
2928         "LIBS=$(K5LIB) -lcurses -lm -lkrb4 -ldes425 -lkrb5 \
2929         -lcom_err -lk5crypto -lcrypt -lgssapi_krb5"
2930
2931 #AIX 4.3 with MIT Kerberos 5, Kerberos 4 compatibility mode and OpenSSL
2932 # Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
2933 # -mminimal-toc needed on some systems but not others to avoid TOC overflow.
2934 # "man ld" says -bbigtoc makes program run slower.
2935 aix43gcc+krb5+krb4+openssl:
2936         @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher w/Kerberos...
2937         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
2938         "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
2939         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2940         -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL \
2941         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
2942         -DCK_ENCRYPTION -DCK_DES -DCK_CAST -DLIBDES -DCK_SSL \
2943         -funsigned-char $(K5INC) $(K5INC)/krb5 $(SSLINC) $(KFLAGS)" \
2944         "LIBS=$(K5LIB) $(SSLLIB) -lssl -lcrypto \
2945         -lcurses -lm -lkrb4 -ldes425 -lkrb5 -lcom_err -lk5crypto -lcrypt \
2946         -lgssapi_krb5"
2947
2948 aix43gcc+openssl:
2949         @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher w/OpenSSL...
2950         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
2951         "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
2952         -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
2953         -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL \
2954         -DCK_AUTHENTICATION -DCK_SSL -funsigned-char $(SSLINC) $(KFLAGS)" \
2955         "LIBS=$(SSLLIB) -lssl -lcrypto -lcurses -lm -lcrypt"
2956
2957 aix44:
2958         $(MAKE) aix42 "KFLAGS=-DAIX44 -qmaxmem=20000 $(KFLAGS)" \
2959         KTARGET=$${KTARGET:-$(@)}
2960
2961 aix45:
2962         $(MAKE) aix42 "KFLAGS=-DAIX45 -qmaxmem=20000 $(KFLAGS)" \
2963         KTARGET=$${KTARGET:-$(@)}
2964
2965 aix50:
2966         $(MAKE) aix42 "KFLAGS=-DAIX50 -qmaxmem=20000 $(KFLAGS)" \
2967         KTARGET=$${KTARGET:-$(@)}
2968
2969 aix51:
2970         $(MAKE) aix42 "KFLAGS=-DAIX51 -qmaxmem=20000 $(KFLAGS)" \
2971         KTARGET=$${KTARGET:-$(@)}
2972
2973 aix52:
2974         $(MAKE) aix42 "KFLAGS=-DAIX52 -qmaxmem=20000 $(KFLAGS)" \
2975         KTARGET=$${KTARGET:-$(@)}
2976
2977 aix53:
2978         $(MAKE) aix42 "KFLAGS=-DAIX53 -qmaxmem=20000 $(KFLAGS)" \
2979         KTARGET=$${KTARGET:-$(@)}
2980
2981 aix44gcc:
2982         $(MAKE) aix43g "KFLAGS=-DAIX44 $(KFLAGS)" \
2983         KTARGET=$${KTARGET:-$(@)}
2984
2985 aix45gcc:
2986         $(MAKE) aix43g "KFLAGS=-DAIX45 $(KFLAGS)" \
2987         KTARGET=$${KTARGET:-$(@)}
2988
2989 aix50gcc:
2990         $(MAKE) aix43g "KFLAGS=-DAIX50 $(KFLAGS)" \
2991         KTARGET=$${KTARGET:-$(@)}
2992
2993 aix51gcc:
2994         $(MAKE) aix43g "KFLAGS=-DAIX51 $(KFLAGS)" \
2995         KTARGET=$${KTARGET:-$(@)}
2996
2997 aix52gcc:
2998         $(MAKE) aix43g "KFLAGS=-DAIX52 $(KFLAGS)" \
2999         KTARGET=$${KTARGET:-$(@)}
3000
3001 aix53gcc:
3002         $(MAKE) aix43g "KFLAGS=-DAIX53 $(KFLAGS)" \
3003         KTARGET=$${KTARGET:-$(@)}
3004
3005 #Bull DPX/2 with BOS/X, like AIX/RS6000
3006 bulldpx2:
3007         @echo Making C-Kermit $(CKVER) for Bull DPX/2 with BOS/X...
3008         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3009         "CFLAGS= -DSVR3 -DDIRENT -DCK_ANSIC -DCKTYP_H=<sys/types.h> \
3010         -DCK_POLL -DNOGETUSERSHELL -DCLSOPN -DNOLEARN -O $(KFLAGS)" \
3011         "LNKFLAGS = -s"
3012
3013 #Sun UNIX 3.5 with gcc 2.3.3.
3014 sunos3gcc:
3015         @echo Making C-Kermit $(CKVER) for Sun UNIX 3.5 and gcc...
3016         $(MAKE) xermit CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
3017         CFLAGS="-g -O -DBSD4 -DTCPSOCKET $(KFLAGS)"
3018
3019 #SunOS version 4.0, BSD environment, has saved original euid feature.
3020 # Add "CC=/usr/ucb/cc CC2=/usr/ucb/cc" if necessary.
3021 # Note: Including Unicode crashes the assembler in ckcuni.c.
3022 sunos4:
3023         @echo Making C-Kermit $(CKVER) for SunOS 4.0, BSD environment...
3024         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3025         "CFLAGS= -O -DSUNOS4 -DFNFLOAT -DNOUNICODE $(KFLAGS)" \
3026         "LIBS=-lm"
3027
3028 #As above, but with SunLink X.25 support
3029 sunos4x25:
3030         @echo SunLink X.25 support
3031         $(MAKE) "MAKE=$(MAKE)" sunos4 KTARGET=$${KTARGET:-$(@)} \
3032         "KFLAGS=$(KFLAGS) -DFNFLOAT -DSUNX25" \
3033         "LIBS=-lm"
3034
3035 #SUN OS version 4.1 - 4.1.3, BSD environment, has saved original euid feature.
3036 #Uses Honey DanBer UUCP.  Requires presence of /usr/spool/locks directory.
3037 # /var/spool/ should be a symbolic link to  /usr/spool/.
3038 # ... or 'make xermit "CC= /usr/ucb/cc " \'
3039 # Note: "xermit" means use the select() version of the CONNECT module.
3040 sunos41:
3041         @echo Making C-Kermit $(CKVER) for SunOS 4.1 / BSD...
3042         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3043         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNOUNICODE $(KFLAGS)" \
3044         "LIBS= $(LIBS) -lresolv -lm"
3045
3046 #As above, but compiled with gcc.  Gives 24-32K size reduction
3047 #with gcc 2.1 or 2.2.2.  CAUTION: make sure "fixincludes" has been run on
3048 #the include files, so gcc's are in sync with the regular Sun ones!
3049 #This includes the curses library for fullscreen file transfer display.
3050 #NDGPWNAM needed for GCC 2.5.6, not needed for 2.4.0, but it's uncertain
3051 #whether it will do any harm for 2.4.0 compilation -- if so, remove it.
3052 sunos41gcc:
3053         @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
3054         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3055         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3056         -funsigned-char $(KFLAGS)" "LIBS= -lcurses -ltermcap -lresolv -lm"
3057
3058 # As above, but without -funsigned-char so I can see the warnings that
3059 # everybody else will get when they use ANSI compilers that don't have this
3060 # option (gsc = gcc signed char).
3061 sunos41gsc:
3062         @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
3063         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3064         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3065         $(KFLAGS)" "LIBS= -lcurses -ltermcap -lresolv -lm"
3066
3067 #As above but with ckucon.c rather than ckucns.c (for testing only)
3068 sunos41gccfork:
3069         @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
3070         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3071         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3072         -DNOLEARN -funsigned-char $(KFLAGS)" \
3073         "LIBS= -lcurses -ltermcap -lresolv -lm"
3074
3075 #as above but configured for Kerberos IV
3076 sunos41gcc+krb4:
3077         @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, krb4...
3078         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3079         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3080         -DTCPSOCKET -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB4 \
3081         -DCK_ENCRYPTION -DCK_DES -DCK_CAST -DBIGBUFOK -funsigned-char \
3082         $(K4INC) $(KFLAGS)" \
3083         "LIBS= $(K4LIB) -lcurses -ltermcap -lresolv -lm -lkrb -ldes"
3084
3085 #as above but configured for SSL/TLS
3086 sunos41gcc+openssl:
3087         @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, ssl...
3088         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3089         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3090         -DCK_AUTHENTICATION -funsigned-char \
3091         -DCK_SSL -DTCPSOCKET -DBIGBUFOK $(SSLINC) $(KFLAGS)" \
3092         "LIBS= $(SSLLIB) -lcurses -ltermcap -lresolv -lm -lssl -lcrypto"
3093
3094 #as above but configured for Kerberos IV and SSL/TLS
3095 sunos41gcc+krb4+openssl:
3096         @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, krb4...
3097         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3098         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3099         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 -DCK_ENCRYPTION -DCK_DES \
3100         -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
3101         $(K4INC) $(SSLINC) $(KFLAGS)" \
3102         "LIBS= $(K4LIB) $(SSLLIB) \
3103         -lcurses -ltermcap -lresolv -lm -lkrb -lssl -lcrypto"
3104
3105 #as above but configured for Kerberos IV and ZLIB enabled SSL/TLS
3106 sunos41gcc+krb4+openssl+zlib:
3107         @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, krb4...
3108         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3109         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3110         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 -DCK_ENCRYPTION -DCK_DES \
3111         -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
3112         -DZLIB $(K4INC) $(SSLINC) \
3113         $(KFLAGS)" \
3114         "LIBS= $(K4LIB) $(SSLLIB) \
3115         -lcurses -ltermcap -lresolv -lm -lkrb -lssl -lcrypto -lz"
3116
3117 #as above but configured for Kerberos IV and SRP and ZLIB enabled SSL/TLS
3118 sunos41gcc+krb4+srp+openssl+zlib:
3119         @echo "C-Kermit $(CKVER) SunOS 4.1: gcc,curses,krb4,srp,ssl,zlib..."
3120         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3121         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3122         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 -DCK_ENCRYPTION -DCK_DES \
3123         -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
3124         -DZLIB -DCK_SRP $(K4INC) $(SRPINC) $(SSLINC) $(KFLAGS)" \
3125         "LIBS= $(K4LIB) $(SRPLIB) $(SSLLIB) \
3126         -lcurses -ltermcap -lresolv -lm -lkrb -lkrypto \
3127         -lsrp -lssl -lcrypto -lz"
3128
3129 #as above but configured for Kerberos IV and SRP and ZLIB enabled SSL/TLS
3130 sunos41gcc+srp+openssl+zlib:
3131         @echo "C-Kermit $(CKVER) SunOS 4.1: gcc,curses,srp,ssl,zlib..."
3132         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3133         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
3134         -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_DES \
3135         -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
3136         -DZLIB -DCK_SRP $(SRPINC) $(SSLINC) \
3137         $(KFLAGS)" \
3138         "LIBS= $(SRPLIB) $(SSLLIB) \
3139         -lcurses -ltermcap -lresolv -lm -lkrypto -lsrp -lssl -lcrypto -lz "
3140
3141 #SUNOS 4.1 as sunos41 above, but also with curses support
3142 sunos41c:
3143         @echo Curses support
3144         $(MAKE) "MAKE=$(MAKE)" sunos41 KTARGET=$${KTARGET:-$(@)} \
3145         "KFLAGS=$(KFLAGS) -DCK_CURSES -DFNFLOAT " \
3146         "LIBS= -lcurses -ltermcap"
3147
3148 #As SunOS 4.1.x, gcc, configured as Internet Kermit Server.
3149 # . NOLOCAL removes capability to make connections
3150 # . TNCODE allows server-side Telnet negotiation.
3151 # . used to include -lpwent, why?
3152 # . used to include -L/usr/local/lib -lm, why?
3153 sunos41giks:
3154         @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc for IKS...
3155         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
3156         "CFLAGS= -O -DSUNOS41 -DNDGPWNAM -DFNFLOAT \
3157         -DNOLOCAL -DTCPSOCKET -DTNCODE -DNOPUSH $(KFLAGS)" \
3158         "LIBS= -lm -lresolv"
3159
3160 #SUNOS 4.1 with SunLink X.25 support
3161 sunos41x25:
3162         @echo SunLink X.25 support
3163         $(MAKE) "MAKE=$(MAKE)" wermit KTARGET=$${KTARGET:-$(@)} \
3164         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNOUNICODE -DFNFLOAT -DSUNX25 \
3165         -DNOLEARN $(KFLAGS)" "LIBS= $(LIBS) -lresolv -lm"
3166
3167 #SUNOS 4.1 with SunLink X.25 support and curses
3168 sunos41x25c:
3169         @echo SunLink X.25 support + curses
3170         $(MAKE) "MAKE=$(MAKE)" wermit KTARGET=$${KTARGET:-$(@)} \
3171         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNOUNICODE -DFNFLOAT -DSUNX25 \
3172         -DCK_CURSES -DNOLEARN $(KFLAGS)" \
3173         "LIBS= $(LIBS) -lcurses -ltermcap -lresolv -lm"
3174
3175 #SUN with Solaris 2.0 = SunOS 5.0.
3176 #Mostly the same as System V R4.  Don't use this with later Solaris versions.
3177 solaris20:
3178         @echo 'Making C-Kermit $(CKVER) for Sun with Solaris 2.0 and curses...'
3179         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3180         "CFLAGS = -O -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DSTERMIOX \
3181         -DTCPSOCKET -DCK_CURSES -DFNFLOAT -DCK_POLL $(KFLAGS)" \
3182         "LIBS= -lsocket -lnsl -lcurses -ltermlib -lm" "LNKFLAGS = -s"
3183
3184 #SUN with Solaris 2.0.
3185 #As above, but built with the gcc compiler from the Cygnus CD-ROM.
3186 solaris20g:
3187         @echo 'Making C-Kermit $(CKVER) for Sun Solaris 2.0, gcc, and curses..'
3188         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3189         "CFLAGS = -O -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DSTERMIOX \
3190         -DTCPSOCKET -DCK_CURSES -DCK_POLL -DFNFLOAT $(KFLAGS)" \
3191         "LIBS= -lsocket -lnsl -lcurses -ltermlib -lm" "LNKFLAGS = -s" \
3192         CC=/opt/cygnus-sol2-1.1/bin/gcc CC2=/opt/cygnus-sol2-1.1/bin/gcc
3193
3194 #SunOS 5.1 = Solaris 2.1.
3195 #NOTE: A C compiler is no longer bundled with SunOS 5.1, so to compile C
3196 #programs, you might have to change your PATH to include the directory
3197 #/usr/ccs/bin AFTER the directory containing the compiler.  SunPRO C is
3198 #installed by default in /opt/SUNWspro/bin.  So a sample PATH might be:
3199 #
3200 # /usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin:\
3201 # /usr/ucb:/usr/sbin:/sbin:.
3202 #
3203 # or:
3204 #
3205 # /usr/openwin/bin:/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin.
3206 #
3207 #NOTE 2: Compilation with the Apogee C compiler (apcc) might not work,
3208 #because it refuses to allow "-Usun".  Reportedly, newer releases of apcc
3209 #(such as 1.2.17) work OK, use: "make -e sunos51 CC=apcc CC2=apcc".
3210 solaris21:
3211         @echo 'Making C-Kermit $(CKVER) for SunOS 5.x....'
3212         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3213         "CFLAGS = -O -Usun -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DFNFLOAT \
3214         -DSELECT -DNODEBUG -DSTERMIOX $(KFLAGS)" "LIBS = -lm" "LNKFLAGS = -s"
3215
3216 #C-Kermit for Solaris 2.0-2.4 compiled with gcc, includes curses and TCP/IP.
3217 #Change -O2 to -O if -O2 gives trouble.
3218 #Remove -Usun if it causes trouble.
3219 #Your PATH should start with something like:
3220 #  /usr/local/gnu/bin:/usr/ccs/bin:
3221 #Produces a huge executable -- strip with /usr/ccs/bin/strip (not Gnu strip).
3222 #Also don't add "LNKFLAGS = -s" -- strip manually instead.
3223 #Also note: this can NOT be linked statically - Sun makes it impossible.
3224 #And for Solaris 2.4, you might have to replace:
3225 # /usr/local/lib/gcc-lib/i486-sun-solaris2/2.4.5/include/sys/stat.h
3226 #with /usr/include/sys/stat.h.
3227 solaris2xg:
3228         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc...'
3229         @echo 'Please read the comments that accompany the solaris2xg target.'
3230         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
3231         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
3232         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
3233         "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv $(LIBS)"
3234
3235 #ditto but no curses.
3236 solaris2xgnc:
3237         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc...'
3238         @echo 'Please read the comments that accompany the solaris2xg target.'
3239         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
3240         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
3241         -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
3242         "LIBS= -lsocket -lnsl -lm -lresolv $(LIBS)"
3243
3244 #and with Kerberos IV
3245 solaris2xg+krb4:
3246         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc, krb4...'
3247         @echo 'Please read the comments that accompany the solaris2xg target.'
3248         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
3249         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
3250         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
3251         -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB4 -DCK_ENCRYPTION \
3252         -DCK_DES -DCK_CAST -DBIGBUFOK $(K4INC) $(KFLAGS)" \
3253         "LIBS= $(K4LIB) -ltermlib -lsocket -lnsl -lm -lresolv -lkrb -ldes \
3254         $(LIBS)"
3255
3256 #and with OpenSSL,ZLIB,PAM,SHADOW
3257 solaris2xg+openssl+zlib+pam+shadow:
3258         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc, OpenSSL...'
3259         @echo 'Please read the comments that accompany the solaris2xg target.'
3260         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
3261         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
3262         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
3263         -DCK_AUTHENTICATION -DCK_SSL -DCK_PAM -DCK_SHADOW  -DZLIB \
3264         -DBIGBUFOK $(SSLINC) $(KFLAGS)" \
3265         "LIBS= $(SSLLIB) -ltermlib \
3266         -lsocket -lnsl -lm -lresolv -lssl -lcrypto -lpam -lz"
3267
3268 #Ditto but with GCC 3.1 in which you have to specify 32-bit with -m32.
3269 #In Solaris 9 (and maybe 8) you'll also need specifiy the Library path.
3270 #Reportedly this can't be done here, but only with:
3271 # crle -l /usr/lib:/usr/local/ssl/lib
3272 #prior to building.  Note: 64-bit not tested with SSL.
3273 #For no-crypto 64-bit builds see the solaris9g64 target.
3274 solaris2xg32+openssl+zlib+pam+shadow:
3275         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc, OpenSSL...'
3276         @echo 'Please read the comments that accompany the solaris2xg target.'
3277         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC="gcc -m32" CC2="gcc -m32" \
3278         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
3279         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
3280         -DCK_AUTHENTICATION -DCK_SSL -DCK_PAM -DCK_SHADOW  -DZLIB \
3281         -DBIGBUFOK $(SSLINC) $(KFLAGS)" \
3282         "LIBS= $(SSLLIB) -ltermlib \
3283         -lsocket -lnsl -lm -lresolv -lssl -lcrypto -lpam -lz"
3284
3285 #and with Krb5,Krb4,OpenSSL,SHADOW
3286 solaris2xg+krb5+krb4+openssl+shadow:
3287         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc,k5,k4,ssl...'
3288         @echo 'Please read the comments that accompany the solaris2xg target.'
3289         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
3290         "CFLAGS = -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
3291         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
3292         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
3293         -DCK_ENCRYPTION -DCK_SSL -DCK_DES -DCK_CAST -DBIGBUFOK \
3294         $(K5INC) $(K5INC)/krb5 $(SSLINC) $(KFLAGS)" \
3295         "LIBS= $(K5LIB) $(SSLLIB) -ltermlib -lsocket -lnsl -lm -lresolv \
3296         -lkrb4 -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto \
3297         -ldes $(LIBS)"
3298
3299 #and with OpenSSL
3300 solaris2xg+openssl+pam+shadow:
3301         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc, OpenSSL...'
3302         @echo 'Please read the comments that accompany the solaris2xg target.'
3303         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
3304         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
3305         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
3306         -DCK_AUTHENTICATION -DCK_SSL -DCK_PAM -DCK_SHADOW \
3307         -DBIGBUFOK $(SSLINC) $(KFLAGS)" \
3308         "LIBS= $(SSLLIB) -ltermlib \
3309         -lsocket -lnsl -lm -lresolv -lssl -lcrypto -lpam"
3310
3311 solaris2xg+openssl+zlib+srp+pam+shadow: 
3312         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc, OpenSSL...'
3313         @echo 'Please read the comments that accompany the solaris2xg target.'
3314         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
3315         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
3316         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET -DBIGBUFOK \
3317         -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_DES -DLIBDES -DCK_CAST \
3318         -DCK_SSL -DCK_PAM -DCK_SHADOW -DZLIB -DCK_SRP $(SSLINC) $(KFLAGS)" \
3319         "LIBS= $(SSLLIB) -ltermlib -lsocket -lnsl -lm -lresolv -lsrp -lssl \
3320         -ldes -lkrypto -lcrypto -lpam -lz"
3321
3322 solaris22g:
3323         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DPOSIX_CRTSCTS $(KFLAGS)" solaris2xg \
3324         KTARGET=$${KTARGET:-$(@)}
3325
3326 solaris23g:
3327         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DPOSIX_CRTSCTS $(KFLAGS)" solaris2xg \
3328         KTARGET=$${KTARGET:-$(@)}
3329
3330 #Solaris 2.4 built with gcc
3331 solaris24g:
3332         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} \
3333         solaris2xg "KFLAGS=-DSOLARIS24 -DPOSIX_CRTSCTS $(KFLAGS)"
3334
3335 #Solaris 2.5 built with gcc
3336 solaris25g:
3337         $(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
3338         "KFLAGS=-funsigned-char -DSOLARIS25 $(KFLAGS)"
3339
3340 #Solaris 2.5 built with gcc and Kerberos IV
3341 solaris25g+krb4:
3342         $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb4 KTARGET=$${KTARGET:-$(@)} \
3343         "KFLAGS=-funsigned-char -DSOLARIS25 $(KFLAGS)"
3344
3345 #Solaris 2.5 built with gcc and Kerberos V/IV, SSL, ...
3346 solaris25g+krb5+krb4+openssl+shadow:
3347         $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb5+krb4+openssl+shadow \
3348         KTARGET=$${KTARGET:-$(@)} \
3349         "KFLAGS=-funsigned-char -DSOLARIS25 $(KFLAGS)"
3350
3351 #Solaris 2.6 with gcc
3352 solaris26g:
3353         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xg \
3354         "KFLAGS= -DSOLARIS26 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3355         "LIBS = -lpam"
3356
3357 #Solaris 2.6 with gcc and SSL
3358 solaris26g+openssl:
3359         $(MAKE) "MAKE=$(MAKE)"  solaris2xg+openssl+pam+shadow \
3360         KTARGET=$${KTARGET:-$(@)} "KFLAGS= -DSOLARIS26 $(KFLAGS)"
3361
3362 #Solaris 2.6 with gcc, no curses (e.g. because libtermlib is missing).
3363 solaris26gnc:
3364         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xgnc \
3365         "KFLAGS= -DSOLARIS26 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3366         "LIBS= -lpam"
3367
3368 #Solaris 7 with gcc (32-bit)
3369 solaris7g:
3370         $(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
3371         "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3372         "LIBS= -lpam"
3373
3374 #Solaris 7 with gcc + Kerberos IV (32-bit)
3375 solaris7g+krb4:
3376         $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb4 KTARGET=$${KTARGET:-$(@)} \
3377         "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3378         "LIBS= -lpam"
3379
3380 solaris7g+openssl+zlib+pam+shadow:
3381         $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+zlib+pam+shadow \
3382         KTARGET=$${KTARGET:-$(@)} \
3383         "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)"
3384
3385 #Solaris 7 with gcc + OpenSSL (32-bit)
3386 solaris7g+openssl+zlib+srp+pam+shadow:
3387         $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+zlib+srp+pam+shadow \
3388         KTARGET=$${KTARGET:-$(@)} \
3389         "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)"
3390
3391 #Solaris 8 with gcc (32-bit)
3392 solaris8g:
3393         $(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
3394         "KFLAGS=-DSOLARIS8 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3395         "LIBS= -lpam"
3396
3397 #Solaris 9 with gcc + OpenSSL + Shadow (32-bit)
3398 solaris9g+openssl+shadow+pam+zlib:
3399         $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+zlib+pam+shadow \
3400         KTARGET=$${KTARGET:-$(@)} \
3401         "KFLAGS=-DSOLARIS9 -DHDBUUCP -DDIRENT -DZLIB -DCK_PAM -DCK_SHADOW \
3402         -DLIBDES $(KFLAGS)" "LIBS= -lpam -ldes425 -lz $(LIBS)"
3403
3404 #Solaris 9 with gcc + OpenSSL + Kerberos 5 + Krb4 + Shadow (32-bit)
3405 solaris9g+krb5+krb4+openssl+shadow+pam+zlib:
3406         $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb5+krb4+openssl+shadow \
3407         KTARGET=$${KTARGET:-$(@)} \
3408         "KFLAGS=-DSOLARIS9 -DHDBUUCP -DDIRENT -DZLIB -DCK_PAM -DCK_SHADOW \
3409         -DLIBDES $(KFLAGS)" "LIBS= -lpam -ldes425 -lz $(LIBS)"
3410
3411 #Solaris 9 with gcc 3.1 (32-bit)
3412 solaris9g:
3413         @echo 'Making C-Kermit $(CKVER) for Solaris 9 with gcc'
3414         $(MAKE) "MAKE=$(MAKE)" CC="gcc -m32" CC2="gcc -m32" xermit \
3415         KTARGET=$${KTARGET:-$(@)} \
3416         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSOLARIS9 -DUSE_STRERROR \
3417         -DSTERMIOX -DSELECT -DFNFLOAT -DCK_PAM -DCK_SHADOW -funsigned-char \
3418         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
3419         "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv -lpam"
3420
3421 #Solaris 9 with gcc 3.1 (64-bit)
3422 #Peeking inside struct FILE at its members ist strengst verboten.
3423 solaris9g64:
3424         @echo 'Making C-Kermit $(CKVER) for Solaris 9 with gcc'
3425         $(MAKE) "MAKE=$(MAKE)" CC="gcc -m64" CC2="gcc -m64" xermit \
3426         KTARGET=$${KTARGET:-$(@)} \
3427         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS  -DSOLARIS9 -DNOARROWKEYS \
3428         -DSTERMIOX -DSELECT -DFNFLOAT -DUSE_STRERROR -DCK_PAM -DCK_SHADOW \
3429         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
3430         "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv -lpam"
3431
3432 # In OpenSSL builds add -ldl if you get unresolved references for
3433 # dlclose, dlsym, dlopen, dlerror.
3434
3435 #Solaris 8 with gcc + OpenSSL (32-bit)
3436 solaris8g+openssl+zlib+pam+shadow:
3437         $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+zlib+pam+shadow \
3438         KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DSOLARIS8 $(KFLAGS)"
3439
3440 #Solaris 9 with gcc 3.1 + OpenSSL (32-bit)
3441 solaris9g+openssl+zlib+pam+shadow:
3442         $(MAKE) "MAKE=$(MAKE)" solaris2xg32+openssl+zlib+pam+shadow \
3443         KTARGET=$${KTARGET:-$(@)} \
3444         "KFLAGS=-DSOLARIS9 -DUSE_STRERROR $(KFLAGS)"
3445
3446 #Solaris 8 with gcc + Kerberos IV (32-bit)
3447 solaris8g+krb4:
3448         $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb4 KTARGET=$${KTARGET:-$(@)} \
3449         "KFLAGS=-DSOLARIS8 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3450         "LIBS= -lpam"
3451
3452 #Solaris 2.0-2.4, gcc, SunLink X.25 added.
3453 #NOTE: Can't use xermit target with X.25.
3454 solaris2xgx25:
3455         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x + X.25 with GNU cc...'
3456         @echo 'Please read the comments that accompany the solaris2xg entry.'
3457         $(MAKE) wermit CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
3458         "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DSUNX25 \
3459         -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET -DFNFLOAT \
3460         -DNOLEARN $(KFLAGS)" \
3461         "LIBS= -ltermlib -lm -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
3462         -lsockx25 -lsocket -lnsl"
3463
3464 #Solaris 2.5, gcc, SunLink X.25 added.
3465 solaris25gx25:
3466         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xgx25 \
3467         "KFLAGS=-DSOLARIS25 $(KFLAGS)"
3468
3469 #Solaris 2.6, gcc, SunLink X.25 added.
3470 solaris26gx25:
3471         $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xgx25 \
3472         "KFLAGS=-DSOLARIS26 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3473         "LIBS= -lpam"
3474
3475 #Solaris 2.0 - 2.4, SunPro compiler, includes curses and TCP/IP.
3476 #When using SUNWspro CC 2.0.1 under Solaris 2.3, be sure all cc patches
3477 #are applied, otherwise corrupt or truncated object files can result.
3478 #To build, set your PATH as follows:
3479 #  /usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin:\
3480 #  /usr/ucb:/usr/sbin:/sbin:.
3481 # or (depending on where the compiler has been installed):
3482 #  /usr/openwin/bin:/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin.
3483 #For additional optimization try using "-fast -xO4 -xdepend".
3484 solaris2x:
3485         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with SunPro cc...'
3486         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3487         "CFLAGS = -O -Usun -i -DSVR4 -DDIRENT -DSOLARIS -DHDBUUCP -DFNFLOAT \
3488         -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
3489         "LNKFLAGS = -s" "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv"
3490
3491 #as above but configured for Kerberos IV
3492 solaris2x+krb4:
3493         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x, SunPro cc, krb4...'
3494         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3495         "CFLAGS = -O -Usun -i -DSVR4 -DDIRENT -DSOLARIS -DHDBUUCP -DFNFLOAT \
3496         -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX -DTCPSOCKET  \
3497         -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB4 \
3498         -DCK_ENCRYPTION -DCK_DES -DCK_CAST $(K4INC) $(KFLAGS)" \
3499         "LNKFLAGS = -s" \
3500         "LIBS= $(K4LIB) -ltermlib -lsocket -lnsl -lm -lresolv -lkrb -ldes"
3501
3502 solaris23:
3503         $(MAKE) "MAKE=$(MAKE)" solaris2x KTARGET=$${KTARGET:-$(@)} \
3504         "KFLAGS=$(KFLAGS)"
3505
3506 solaris24:
3507         $(MAKE) "MAKE=$(MAKE)" solaris2x KTARGET=$${KTARGET:-$(@)} \
3508         "KFLAGS=-DSOLARIS24 -DPOSIX_CRTSCTS $(KFLAGS)"
3509
3510 # template for Solaris 2.5 and above.
3511 solaris25x:
3512         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with SunPro cc...'
3513         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3514         "CFLAGS = -DFNFLOAT -O -Usun -i $(KFLAGS)" \
3515         "LNKFLAGS = -s" \
3516         "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv $(LIBS)"
3517
3518 #Solaris 2.5, SunPro compiler, curses, TCP/IP
3519 solaris25:
3520         $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
3521         "KFLAGS=-DSOLARIS25 $(KFLAGS)"
3522
3523 #Solaris 2.5, SunPro compiler, curses, TCP/IP, Kerberos IV
3524 solaris25+krb4:
3525         $(MAKE) "MAKE=$(MAKE)" solaris25x+krb4 KTARGET=$${KTARGET:-$(@)} \
3526         "KFLAGS=-DSOLARIS25 $(KFLAGS)"
3527
3528 #Solaris 2.6, SunPro compiler, curses, TCP/IP
3529 solaris26:
3530         $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
3531         "KFLAGS=-DSOLARIS26 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3532         "LIBS= -lpam"
3533
3534 #Solaris 7 (aka 2.7)
3535 solaris7:
3536         $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
3537         "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3538         "LIBS= -lpam"
3539
3540 #Solaris 8
3541 solaris8:
3542         $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
3543         "KFLAGS=-DSOLARIS8 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
3544         "LIBS= -lpam"
3545
3546 #Solaris 9
3547 solaris9:
3548         $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
3549         "KFLAGS=-DSOLARIS9 -DCK_PAM -DCK_SHADOW -DUSE_STRERROR $(KFLAGS)" \
3550         "LIBS= -lpam"
3551
3552 #Solaris 9 with malloc debugging
3553 solaris9md:
3554         $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
3555         "CFLAGS = -DFNFLOAT -O -Usun -i \
3556         -DSOLARIS9 -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG \
3557         -DCK_PAM -DCK_SHADOW -DUSE_STRERROR $(KFLAGS)" \
3558         "LIBS= -lpam -ltermlib -lsocket -lnsl -lm -lresolv"
3559
3560 #Solaris 2.0-2.3, SunPro compiler, with SunLink X.25 support.
3561 #This will only run if user has /opt/SUNWconn/lib/libsockx25.so.1
3562 #exists and can be dynamically linked.
3563 #NOTE: Do not change target to xermit -- it doesn't support X.25.
3564 solaris2x25:
3565         @echo 'Making C-Kermit $(CKVER) for Solaris 2.x+X.25 with SunPro cc...'
3566         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3567         "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DDIRENT \
3568         -DSUNX25 -DTCPSOCKET -DHDBUUCP -DFNFLOAT -DNOLEARN \
3569         -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX $(KFLAGS)" \
3570         "LNKFLAGS = -s" \
3571         "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
3572         -lsockx25 -lsocket -lnsl -lm -lresolv"
3573
3574 #Solaris 2.4, SunPro compiler, with SunLink X.25 support.
3575 #This will only run if user has /opt/SUNWconn/lib/libsockx25.so.1
3576 #exists and can be dynamically linked.
3577 solaris24x25:
3578         @echo 'Making C-Kermit $(CKVER) for Solaris 2.4+X.25 with SunPro cc...'
3579         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3580         "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DSOLARIS24 -DDIRENT -DNOLEARN \
3581         -DSUNX25 -DTCPSOCKET -DHDBUUCP -DFNFLOAT -DPOSIX_CRTSCTS \
3582         -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX $(KFLAGS)" \
3583         "LNKFLAGS = -s" \
3584         "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
3585         -lsockx25 -lsocket -lnsl -lm -lresolv"
3586
3587 #Solaris 2.5, SunPro compiler, with SunLink X.25 support.
3588 solaris25x25:
3589         @echo 'Making C-Kermit $(CKVER) for Solaris 2.5+X.25 with SunPro cc...'
3590         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3591         "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS25 -DDIRENT -DSUNX25 \
3592         -DTCPSOCKET -DHDBUUCP -DSELECT -DCK_CURSES \
3593         -DCK_NEWTERM -DSTERMIOX -DFNFLOAT -DPOSIX_CRTSCTS -DNOLEARN \
3594         -I/opt/SUNWconn/include $(KFLAGS)" \
3595         "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
3596         -lsockx25 -lsocket -lnsl -lm -lresolv"
3597
3598 #Solaris 2.6, SunPro compiler, with SunLink X.25 support.
3599 solaris26x25:
3600         @echo 'Making C-Kermit $(CKVER) for Solaris 2.6+X.25 with SunPro cc...'
3601         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3602         "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS26 -DDIRENT -DSUNX25 \
3603         -DTCPSOCKET -DHDBUUCP -DSELECT -DCK_CURSES -DCK_PAM -DCK_SHADOW \
3604         -DCK_NEWTERM -DSTERMIOX -DFNFLOAT -DPOSIX_CRTSCTS -DNOLEARN \
3605         -I/opt/SUNWconn/include $(KFLAGS)" \
3606         "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
3607         -lsockx25 -lsocket -lnsl -lm -lresolv -lpam"
3608
3609 #The following sunosxxx entries are for debugging and testing only.
3610
3611 sunos41x:
3612         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3613         "CFLAGS= -O -DSUNOS41 -DDIRENT -DNOTLOG -DNOMSEND \
3614         -DNOUUCP -DNOSIGWINCH -DNOREDIRECT -DNOPUSH -DNOCCTRAP \
3615         -DNOICP -DNOLOCAL $(KFLAGS)"
3616
3617 #SunOS 4.1.x, debugging with Pure Software, Inc., Purify 2 (commercial runtime
3618 #error-detection software for catching wild array references, etc).
3619 #Before running the resulting wermit, you'll also need to define and export
3620 #the following environment variables (as in this example):
3621 #PURIFYHOME=/usr/local/purify ; export PURIFYHOME
3622 #PURIFYCACHEDIR=/tmp ; export PURIFYCACHEDIR
3623 sunos41cp:
3624         @echo Making C-Kermit $(CKVER) for SunOS 4.1 / BSD / Curses / Purify...
3625         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3626         "CC2= purify -cache_dir=/usr/tmp cc" \
3627         "CFLAGS= -g -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
3628         -DSAVEDUID -DCK_CURSES $(KFLAGS)" \
3629         "LIBS= -lcurses -ltermcap"
3630
3631 #SunOS 4.1 with malloc debugger
3632 sunos41md:
3633         @echo Making C-Kermit $(CKVER) for SunOS 4.1 malloc debug...
3634         $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
3635         "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
3636         -DSAVEDUID $(KFLAGS) -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG"
3637
3638 sunos41gmd:
3639         @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
3640         $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} "CC= gcc " "CC2= gcc" \
3641         "CFLAGS= -g -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
3642         -DNDGPWNAM -DSAVEDUID -DCK_CURSES -DRLOGCODE \
3643         $(KFLAGS) -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
3644         "LIBS= -lcurses -ltermcap"
3645
3646 #SunOS version 4.1, gcc, profiling with gprof, no debugging.
3647 #To get profile, "make sunos41p" (on Sun), then "./wermit".  After running
3648 #wermit, "gprof ./wermit | lpr" (or whatever) to get execution profile.
3649 sunos41p:
3650         @echo Making C-Kermit $(CKVER) for SunOS 4.x with profiling...
3651         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc " "CC2= gcc" \
3652         "CFLAGS= -DSUNOS41 -DNODEBUG -DSAVEDUID -DDIRENT -DTCPSOCKET \
3653         -DNDGPWNAM $(KFLAGS) -pg" "LNKFLAGS = -pg"
3654
3655 #SunOS version 4.1 or later, BSD environment, minimum features.
3656 sunos41min:
3657         @echo Minimum interactive
3658         $(MAKE) "MAKE=$(MAKE)" sunos41 KTARGET=$${KTARGET:-$(@)} \
3659         "KFLAGS=-DNOSPL -DNOXMIT -DNOMSEND -DNOFRILLS -DNORETRY \
3660         -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS \
3661         -DNOSHOW -DNOSETKEY -DNOUUCP -DNORECALL -DNOREDIRECT \
3662         -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ \
3663         -DNONET -DCK_SMALL -DNOCKSPEED -DNOCKTIMERS -DNOLOGIN \
3664         -DNOCKXYZ -DNOKERBEROS -DNOMKDIR -DNOPATTERNS -DNOPERMS -DNOPIPESEND \
3665         -DNORECURSIVE -DNORENAME -DNORESEND -DNOSETKEY \
3666         -DNOTRIGGER -DNOTUNING $(KFLAGS)" "LNKFLAGS = -s"
3667
3668 #SunOS version 4.1, BSD environment, min size, command-line only...
3669 sunos41m:
3670         @echo Minimum size
3671         $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
3672         "KFLAGS=-DNOICP $(KFLAGS)"
3673
3674 #SunOS version 4.1, BSD environment, min size, cmd-line only, remote only...
3675 #
3676 sunos41mr:
3677         @echo Minimum size
3678         $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
3679         "KFLAGS=-DNOICP -DNOLOCAL $(KFLAGS)"
3680
3681 #SunOS version 4.1, BSD environment, min size, interactive...
3682 sunos41mi:
3683         @echo Minimum size
3684         $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
3685         "KFLAGS=-DNOCMDL $(KFLAGS)"
3686
3687 #SunOS version 4.1, BSD environment, min size, interactive, remote only...
3688 sunos41mir:
3689         @echo Minimum size
3690         $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
3691         "KFLAGS=-DNOCMDL -DNOLOCAL $(KFLAGS)"
3692
3693 #SunOS 4.1, System V R3 environment (-i option omitted).
3694 sunos41s5:
3695         @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
3696         @echo For testing purposes only - NOT for production use.
3697         @echo For a useable version, make sunos41 instead.
3698         $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
3699         KTARGET=$${KTARGET:-$(@)} \
3700         "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DNOLEARN -DCK_POLL $(KFLAGS) -O"
3701
3702 #As above, but with curses support
3703 sunos41s5c:
3704         @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
3705         @echo Curses included.
3706         @echo For testing purposes only - NOT for production use.
3707         @echo For a useable version, make sunos41 instead.
3708         $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
3709         KTARGET=$${KTARGET:-$(@)} \
3710         "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DNOLEARN \
3711         -DCK_POLL -DCK_CURSES -DCK_NEWTERM $(KFLAGS) -O" "LIBS= -lcurses"
3712
3713 #As above, but with curses support AND net support
3714 sunos41s5tcpc:
3715         @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
3716         @echo TCP/IP and curses included.  No debug log.
3717         @echo For testing purposes only - NOT for production use.
3718         @echo For a useable version, make sunos41 instead.
3719         $(MAKE) xermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
3720         KTARGET=$${KTARGET:-$(@)} \
3721         "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DCK_POLL \
3722         -DNODEBUG -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET $(KFLAGS) -O" \
3723         "LIBS= -lcurses -lresolv"
3724
3725 # (End of SunOS test entries...)
3726
3727 #Apollo with Domain SR10.0 or later, BSD environment
3728 #Reportedly, it might also help to add '-A,systype=bsd4.3' to CFLAGS.
3729 #Reportedly, there is also a problem with getc & putc macros that can
3730 #be handled by using '#ifdef apollo' somewhere to redefine them???
3731 #On the other hand, other reports indicate that it works fine as-is.
3732 #NOTE: This entry was previously like this:
3733 #       $(MAKE) wermit "CFLAGS= -DNOFILEH -DBSD4 $(KFLAGS) -Uaegis \
3734 #       -DTCPSOCKET -U__STDC__"
3735 #Reports (Dec 91) indicate SR10 has an ANSI-compliant C compiler,
3736 #in addition to an older one that claimed to be ANSI-compliant but wasn't.
3737 #The following make entry (plus checks that are made in ckcdeb.h) detect
3738 #which compiler is used and define the CK_ANSIC or NOANSI flags accordingly.
3739 sr10-bsd:
3740         @echo Making C-Kermit $(CKVER) for Apollo SR10.0 / BSD ...
3741         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3742         "CFLAGS= -O -DAPOLLOSR10 -DBSD43 -DTCPSOCKET -DCK_CURSES -DNOLEARN \
3743         -Uaegis $(KFLAGS)" "LIBS= -lcurses -ltermcap"
3744
3745 #Apollo with Domain SR10.0 or later, System V R3 environment.
3746 #Don't use the optimizer (-O), it causes problems at runtime.
3747 sr10-s5r3:
3748         @echo Making C-Kermit $(CKVER) for Apollo SR10.0 / Sys V R3 ...
3749         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3750         "CFLAGS= -DNOFILEH -DSVR3 -DAPOLLOSR10 -DNOLEARN $(KFLAGS) \
3751         -Uaegis -U__STDC__"
3752
3753 #Apollo Domain/IX (untested, try this if sr10-bsd doesn't work)
3754 # -DTCPSOCKET can probably be added here.
3755 apollobsd:
3756         @echo Making C-Kermit $(CKVER) for Apollo Domain/IX...
3757         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3758         "CC= /bin/cc " "CC2= /bin/cc " \
3759         "CFLAGS= -DNOFILEH -DBSD4 -DAPOLLOBSD -DNOLEARN $(KFLAGS) -Uaegis"
3760
3761 #Version 7 Unix (see comments near top of makefile)
3762 v7:
3763         @echo Making C-Kermit $(CKVER) for UNIX Version 7.
3764         @echo Read the makefile if you have trouble with this...
3765         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3766         "CFLAGS=-DV7 -DPROCNAME=\\\"$(PROC)\\\" \
3767         -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
3768         -DNPTYPE=$(NPTYPE) $(DIRECT) -DO_RDWR=2 -DO_NDELAY=0 -DO_SCCS_ID \
3769         -DNOLEARN $(KFLAGS)"
3770
3771 #AT&T UNIX System V R3, signal() is void rather than int.
3772 #Uses dirent.h and Honey DanBer UUCP.
3773 #Add the -i link option if necessary.
3774 #If you get errors like "ws_row undefined" in ckutio.c, add -DNONAWS.
3775 sys5r3:
3776         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
3777         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3778         "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DNOLEARN $(KFLAGS) -O" \
3779         "LNKFLAGS="
3780
3781 #As above, plus curses.
3782 sys5r3c:
3783         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3 + curses...'
3784         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3785         "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DCK_CURSES -DNONAWS -DNOLEARN \
3786         $(KFLAGS) -O" "LNKFLAGS=" "LIBS = -ltermlib"
3787
3788 #System V R3.2 for PCs built on Interactive UNIX SV/386 R4.x
3789 #but with all calls to dup2() disabled because generic SVR3 does not have dup2.
3790 # (The -linet library might not need to be in this one.)
3791 sys5r32is:
3792         @echo 'Making C-Kermit $(CKVER) for System V/386 R32
3793         $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
3794         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS -DNOREALPATH \
3795         -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES -DNONAWS \
3796         -DPOSIX_JC -DCK_REDIR -DCK_POLL -DDCLGETCWD -DNOFDZERO -DNOREDIRECT \
3797         -DNOZEXEC -DNOLEARN $(KFLAGS)" "LIBS=-lcurses -lc_s -linet"
3798
3799 #System V R3.2 for PCs built on Interactive UNIX SV/386 R4.x
3800 #but with all calls to dup2() disabled because generic SVR3 does not have dup2.
3801 #With TCP/IP added.
3802 sys5r32isnet:
3803         @echo 'Making C-Kermit $(CKVER) for System V/386 R32 + TCP/IP
3804         $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
3805         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS -DNOREALPATH \
3806         -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES -DNONAWS \
3807         -DPOSIX_JC -DCK_REDIR -DCK_POLL -DDCLGETCWD -DNOFDZERO -DNOREDIRECT \
3808         -DNOLEARN -DNOZEXEC -DTCPSOCKET $(KFLAGS)" "LIBS=-lcurses -lc_s -linet"
3809
3810 iclsys5r3:
3811         make sys5r3 KTARGET=$${KTARGET:-$(@)} KFLAGS=-DICLSVR3
3812
3813 #AT&T UNIX System V R3.  As above, but no ANSI prototyping.
3814 sys5r3na:
3815         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
3816         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3817         "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DNOANSI -DNOLEARN $(KFLAGS) -O" \
3818         "LNKFLAGS="
3819
3820 #AT&T UNIX System V R3, for 3B computers with Wollongong TCP/IP.
3821 sys5r3net3b:
3822         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX SVR3/3B/Wollongong...'
3823         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3824         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DWOLLONGONG -DNOLEARN $(KFLAGS) \
3825         -O" "LIBS= -lnet -lnsl_s" "LNKFLAGS ="
3826
3827 #AT&T UNIX System V R3, signal() is void rather than int.
3828 #Uses dirent.h and Honey DanBer uucp, has <termiox.h>.
3829 #Has <termiox.h> for RTS/CTS flow control.
3830 sys5r3tx:
3831         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
3832         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3833         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTERMIOX -DNOLEARN \
3834         $(KFLAGS) -i -O" "LNKFLAGS ="
3835
3836 #AT&T UNIX System V R3, signal() is void rather than int.
3837 #Uses dirent.h and Honey DanBer uucp, has <termiox.h>.
3838 #Has <sys/termiox.h> for RTS/CTS flow control.
3839 sys5r3sx:
3840         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
3841         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3842         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DSTERMIOX -DNOLEARN \
3843         $(KFLAGS) -i -O" "LNKFLAGS ="
3844
3845 #AT&T UNIX System V R4.
3846 #Has <termiox.h>.
3847 sys5r4:
3848         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
3849         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3850         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DTERMIOX -DNOLEARN $(KFLAGS)" \
3851         "LNKFLAGS = -s"
3852
3853 #AT&T UNIX System V R4 with Wollongong TCP/IP.
3854 #Has <termiox.h>.
3855 sys5r4net:
3856         @echo 'Making C-Kermit $(CKVER) for System V R4 + Wollongong TCP/IP...'
3857         @echo ' If sockets-library routines are missing at link time, then'
3858         @echo ' try the sys5r4net2 entry.'
3859         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3860         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOLEARN \
3861         -DTERMIOX -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
3862
3863 #As above, but needs libs included.
3864 sys5r4net2:
3865         @echo ' PLEASE READ ckuins.txt IF YOU GET MISSING HEADER FILES.'
3866         @echo ' (Search for WOLLONGONG...)'
3867         $(MAKE) sys5r4net KTARGET=$${KTARGET:-$(@)} "LIBS= -lsocket -lnsl"
3868
3869 #As above plus curses.
3870 sys5r4net2c:
3871         echo 'Making C-Kermit $(CKVER) for System V R4 + Wollongong TCP/IP...'
3872         @echo ' PLEASE READ ckuins.txt IF YOU GET MISSING HEADER FILES.'
3873         @echo ' (Search for WOLLONGONG...)'
3874         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3875         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOLEARN \
3876         -DTERMIOX -DWOLLONGONG -DCK_CURSES $(KFLAGS)" "LNKFLAGS = -s" \
3877         "LIBS= -lsocket -lnsl -lcurses"
3878
3879 #DELL UNIX System V R4.
3880 #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
3881 #are not misplaced in sys (rather than netinet and arpa, respectively).
3882 #Uses ANSI C constructs, advisory file locking on devices, etc.
3883 #Warning: -DSTERMIOX enables hardware flow control (RTS/CTS), but reportedly
3884 #this does not work with the normal drivers.  However, it might still work
3885 #on non-Dell systems, or even Dell systems with different drivers installed.
3886 dellsys5r4:
3887         @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
3888         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3889         "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DHDBUUCP \
3890         -DTCPSOCKET -DSTERMIOX -DCK_POLL $(KFLAGS)" \
3891         "LIBS= -lsocket -lnsl" "LNKFLAGS = -s"
3892
3893 #As above, curses support added...
3894 dellsys5r4c:
3895         @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
3896         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3897         "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DHDBUUCP \
3898         -DTCPSOCKET -DSTERMIOX -DCK_CURSES -DCK_POLL \
3899         $(KFLAGS)" "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
3900
3901 #Minimum interactive: As above, but with every conceivable option removed.
3902 dellsys5r4mi:
3903         @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
3904         @echo 'Minimum-size interactive'
3905         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3906         "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT \
3907         -UTCPSOCKET -DNOCMDL -DNOSPL -DNOXMIT -DCK_POLL \
3908         -DNOMSEND -DNOFRILLS -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
3909         -DNOSCRIPT -DNOCSETS -DNOSHOW -DNOSETKEY -DNOSERVER -DNOUUCP \
3910         -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ  \
3911         $(KFLAGS)" "LNKFLAGS = -s"
3912
3913 #Command-line only version.
3914 dellsys5r4m:
3915         @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
3916         @echo 'Command-line only'
3917         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3918         "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT \
3919         -UTCPSOCKET -DNOICP -DNOFRILLS -DNODIAL -DNODEBUG -DNOTLOG -DNOCSETS \
3920         -DNOSETKEY -DNOESCSEQ -DNOJC -DNOFDZERO -DCK_POLL \
3921         $(KFLAGS)" "LNKFLAGS = -s"
3922
3923 #AT&T UNIX System V R4.
3924 #Has <sys/termiox.h>.
3925 sys5r4sx:
3926         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
3927         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3928         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DSTERMIOX -DNOLEARN \
3929         $(KFLAGS)" "LNKFLAGS = -s" "LIBS=$(LIBS)"
3930
3931 #AT&T UNIX System V R4.
3932 #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
3933 #are not misplaced in sys (rather than netinet and arpa, respectively).
3934 #Uses ANSI C constructs, <sys/termiox.h>, etc etc.
3935 sys5r4sxtcp:
3936         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
3937         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3938         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
3939         -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
3940         "LIBS= -lsocket -lnsl $(LIBS)" "LNKFLAGS= -s"
3941
3942 #AT&T UNIX System V R4.
3943 #As above + curses.
3944 sys5r4sxtcpc:
3945         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
3946         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3947         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
3948         -DSTERMIOX  -DCK_CURSES -DTCPSOCKET $(KFLAGS)" \
3949         "LIBS= -lsocket -lnsl -lcurses -ltermcap $(LIBS)" "LNKFLAGS = -s"
3950
3951 #AT&T UNIX System V R4.  CONSENSYS SVR4.2-1.
3952 #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
3953 #are not misplaced in sys (rather than netinet and arpa, respectively).
3954 #Uses ANSI C constructs, <sys/termiox.h>, etc.
3955 # Fullscreen -DCK_CURSES added (with curses & termcap libs)
3956 # Submission by Robert Weiner/Programming Plus, rweiner@watsun.cc.columbia.edu
3957 sys5r4sxtcpf:
3958         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
3959         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3960         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
3961         -DSTERMIOX -DTCPSOCKET -DCK_CURSES $(KFLAGS)" \
3962         "LIBS= -lsocket -lnsl -L/usr/ccs/lib -lcurses -ltermcap" \
3963         "LIBS=$(LIBS)" "LNKFLAGS = -s"
3964
3965 #Smallest possible version for System V R4
3966 s5r4m:
3967         @echo Minimum size
3968         $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
3969         "KFLAGS=$(KFLAGS) -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
3970         -DNOSCRIPT -DNOCSETS -DNOICP -DNOMSEND -UTCPSOCKET" "LNKFLAGS = -s"
3971
3972 #Smallest possible interactive version of above
3973 s5r4mi:
3974         @echo Minimum interactive
3975         $(MAKE) "MAKE=$(MAKE)" sys5r4sx \
3976         "KFLAGS=-DNOSPL -DNOXMIT -DNOMSEND -DNOFRILLS -DNOSHOW \
3977         -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOSETKEY \
3978         -UTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
3979
3980 #AT&T UNIX System V R4, has <sys/termiox.h>
3981 #ANSI C function prototyping disabled.
3982 sys5r4sxna:
3983         @echo No ANSI C prototyping...
3984         $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
3985         "KFLAGS=$(KFLAGS) -DNOANSI"
3986
3987 #Stratus FTX.
3988 ftx:
3989         @echo 'Making C-Kermit $(CKVER) for Stratus FTX 3.x...'
3990         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
3991         "CFLAGS = -O -DSVR4 -DFTX -DDIRENT -DHDBUUCP -DSTERMIOX \
3992         -DNOGETUSERSHELL -DNOLEARN +DA1.1 $(KFLAGS)" \
3993         "LNKFLAGS = -s" "LIBS=$(LIBS)"
3994
3995 #Stratus FTX + TCP/IP.
3996 ftxtcp:
3997         @echo 'Making C-Kermit $(CKVER) for Stratus FTX 3.x...'
3998         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
3999         "CFLAGS = -O -DSVR4 -DFTX -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
4000         -DSTERMIOX -DTCPSOCKET -DNO_DNS_SRV +DA1.1 $(KFLAGS)" \
4001         "LIBS= -lsocket -lnsl $(LIBS)" "LNKFLAGS= -s"
4002
4003 #NCR MP-RAS 2.03 or 3.02
4004 mpras:
4005         @echo 'Making C-Kermit $(CKVER) for NCR MP-RAS...'
4006         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4007         "CFLAGS = -O -DSVR4 -DNCRMPRAS -DDIRENT -DHDBUUCP -DSTERMIOX \
4008         -DNOGETUSERSHELL -DUSE_FILE__CNT -DNOLEARN -DNO_DNS_SRV $(KFLAGS)" \
4009         "LNKFLAGS = -s" "LIBS=$(LIBS)"
4010
4011 #NCR MP-RAS 2.03 or 3.02 with TCP/IP and curses
4012 mprastcpc:
4013         @echo 'Making C-Kermit $(CKVER) for NCR MP-RAS + TCP/IP + curses...'
4014         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CFLAGS=-DTCPSOCKET \
4015         -DCK_CURSES -DSVR4 -DNCRMPRAS -DDIRENT -DHDBUUCP -DSTERMIOX -DNOLEARN \
4016         -DNOGETUSERSHELL -DNO_DNS_SRV DUSE_FILE__CNT -O $(KFLAGS)" \
4017         "LNKFLAGS = -s" "LIBS= -lsocket -lnsl -lcurses -ltermcap $(LIBS)"
4018
4019 #SINIX-L V5.41 - includes curses, tcp/ip - Use this one for i386.
4020 #This version of SINIX doesn't like fdopen() or popen().
4021 sinix541:
4022         @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf SINIX V5.41/i386'
4023         $(MAKE) ckcpro.$(EXT) "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP \
4024         -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DNO_DNS_SRV \
4025         -DSNI541 -DNOGETUSERSHELL -DNONETCMD -DNOPOPEN -kansi -W0 $(KFLAGS)"
4026         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4027         "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DNO_DNS_SRV -DNOPOPEN \
4028         -DFNFLOAT -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC \
4029         -DSNI541 -DNOGETUSERSHELL -DNONETCMD -kansi -W0 -O $(KFLAGS)" \
4030         "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" "LNKFLAGS = -s"
4031
4032 sinix541i:
4033         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sinix541
4034
4035 #SINIX V5.42 - includes curses, tcp/ip, everything - Use this one for MIPS.
4036 # As of C-Kermit 7.1, optimization removed -- takes (literally) forever.
4037 sinix542:
4038         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4039         "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DNO_DNS_SRV \
4040         -DFNFLOAT -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC \
4041         -DSNI542 -DNOGETUSERSHELL -kansi -W0 $(KFLAGS)" \
4042         "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" "LNKFLAGS = -s"
4043
4044 #SINIX V5.42 gcc - includes curses, tcp/ip, everything.
4045 #This one was used to build the Pyramid-architecture RM600 version
4046 #on SINIX-P 5.42 A10 with gcc but should work for SINIX 5.42 on any other
4047 #architecture with gcc.
4048 sinix542g:
4049         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC=gcc" "CC2=gcc" \
4050         "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DNO_DNS_SRV \
4051         -DFNFLOAT -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC \
4052         -DSNI542 -DNOGETUSERSHELL $(KFLAGS)" \
4053         "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" \
4054         "LNKFLAGS = -s"
4055
4056 #SINIX V5.42 - includes curses, tcp/ip, everything - Use this one for Intel.
4057 # (Note: SNI discontinued Intel support after 5.42.)
4058 sinix542i:
4059         @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf SINIX-Z V5.42...'
4060         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4061         "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DFNFLOAT -DSTERMIOX \
4062         -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DNO_DNS_SRV -kansi \
4063         -DSNI542 $(KFLAGS)" \
4064         "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" \
4065         "LNKFLAGS = -s"
4066
4067 #Siemens Nixdorf Reliant UNIX V5.43 - includes curses, tcp/ip, everything:
4068 # . gettimeofday() suddenly has only one arg instead of two (GTODONEARG).
4069 # . The syntax of the Olimit specifier changed.
4070 # . The name was changed from SINIX to Reliant UNIX in version 5.43C.
4071 sni543:
4072         @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf Reliant UNIX V5.43'
4073         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4074         "CFLAGS = -DSINIX -DSNI543 -DSVR4 -DDIRENT -DHDBUUCP \
4075         -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DGTODONEARG \
4076         -DNO_DNS_SRV -kansi -W0 -O -F Olimit,3100 $(KFLAGS)" \
4077         "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
4078
4079 #Siemens Nixdorf Reliant UNIX V5.44 - Like 5.43 but with different banner.
4080 sni544:
4081         @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf Reliant UNIX V5.44'
4082         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4083         "CFLAGS = -DSINIX -DSNI544 -DSVR4 -DDIRENT -DHDBUUCP \
4084         -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DGTODONEARG \
4085         -DNO_DNS_SRV -kansi -W0 -O -K Olimit,3100 $(KFLAGS)" \
4086         "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
4087
4088 #Commodore Amiga with AT&T UNIX System V R4 and TCP/IP support.
4089 #Has <sys/termiox.h>.
4090 svr4amiganet:
4091         @echo 'Making C-Kermit $(CKVER) for Amiga SVR4 + TCP/IP...'
4092         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC=gcc" "CC2=gcc" \
4093         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DSTERMIOX \
4094         -DTCPSOCKET -DCK_CURSES $(KFLAGS)" "LNKFLAGS = -s" \
4095         "LIBS = -lsocket -lnsl -ltermlib"
4096
4097 #SCO (Novell (Univel)) UnixWare 1.x or 2.0, no TCP/IP.
4098 #This assumes the Novell SDK 1.0, which has <sys/termiox.h>.
4099 #UnixWare users with the "Prime Time Freeware" CD-ROM SDK will probably have
4100 #to use the sys5r4 entry (no termiox.h file, so no hardware flow control).
4101 #Change -DSELECT to -DCK_POLL if -DSELECT causes problems.
4102 # NOTE: Unixware 1.x builds have not been tried in C-Kermit 7.0.
4103 unixware:
4104         $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
4105         "KFLAGS=-DOLD_UNIXWARE -DCK_NEWTERM -DSELECT -DNOGETUSERSHELL \
4106         -DNOSYSLOG $(KFLAGS)" "LIBS=-lcrypt"
4107
4108 #UnixWare 1.x or 2.0 with TCP/IP and curses.
4109 #fork()-based CONNECT - no high serial speeds.
4110 unixwarenetc:
4111         $(MAKE) "MAKE=$(MAKE)" sys5r4sxtcpc KTARGET=$${KTARGET:-$(@)} \
4112         "KFLAGS=-DOLD_UNIXWARE -DCK_NEWTERM -DSELECT -DNOGETUSERSHELL \
4113         -DNOSYSLOG $(KFLAGS)" "LIBS=-lcrypt -lresolv"
4114
4115 uw10:
4116         $(MAKE) unixwarenetc KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
4117
4118 #This is for Unixware 2.0.x only - use unixware21 for UW 2.1.x.
4119 #Has special library search and enables special kludge around library
4120 #foulup regarding vfork() (which Kermit doesn't use).  Forces POSIX-style
4121 #hangup.
4122 unixware20:
4123         @echo 'Making C-Kermit $(CKVER) for UnixWare 2.0.x...'
4124         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4125         "CFLAGS = -O -DOLD_UNIXWARE -DUNIXWARE2 -DSELECT -DSVR4 -DDIRENT \
4126         -DHDBUUCP -DBIGBUFOK -DNOGETUSERSHELL -DSTERMIOX  -DCK_CURSES \
4127         -DTCPSOCKET -DUW200 -DFNFLOAT -DCK_NEWTERM -DNOSYSLOG $(KFLAGS)" \
4128         "LIBS= -lsocket -lnsl -lcurses -ltermcap -lcrypt -lgen -lm -lresolv" \
4129         "LNKFLAGS = -s"
4130
4131 uw20:
4132         $(MAKE) unixware20 KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
4133
4134 #Adds big buffers ("large memory model") - otherwise the same as UnixWare 1.x.
4135 unixware21:
4136         @echo 'Making C-Kermit $(CKVER) for UnixWare 2.1.x...'
4137         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4138         "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
4139         -DNOSYSLOG -DSTERMIOX  -DCK_CURSES -DTCPSOCKET \
4140         -DCK_NEWTERM -DFNFLOAT -DUNIXWARE2 $(KFLAGS)" \
4141         "LIBS= -lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv \
4142         $(LIBS)" "LNKFLAGS = -s"
4143
4144 #Unixware 2.1.0
4145 uw21:
4146         $(MAKE) unixware21 KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
4147
4148 #Unixware 2.1.3
4149 uw213:
4150         $(MAKE) unixware21 KTARGET=$${KTARGET:-$(@)} \
4151         "KFLAGS=-DUSE_FILE__CNT $(KFLAGS)"
4152
4153 #Unixware 2.1 with IKSD support
4154 uw21iksd:
4155         $(MAKE) unixware21 KTARGET=$${KTARGET:-$(@)} \
4156         "KFLAGS=-DCK_SHADOW $(KFLAGS)" "LIBS= -lgen"
4157
4158 #UnixWare 7 with tc[gs]etspeed() high serial speeds & select()-based CONNECT
4159 #NOTE: This is the one we use.
4160 unixware7t:
4161         @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with POSIX i/o...'
4162         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4163         "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
4164         -DFNFLOAT -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
4165         -DUW7 -DUSETCSETSPEED -DCK_NEWTERM -DNOLSTAT -DDCLTIMEVAL \
4166         -DNEEDMDMDEFS $(KFLAGS)" \
4167         "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
4168         "LNKFLAGS = -s"
4169
4170 #UnixWare 7 - select()-based CONNECT - no POSIX i/o - no high serial speeds.
4171 #In other words, just like the UnixWare 1 and 2 builds.
4172 unixware7x:
4173         @echo 'Making C-Kermit $(CKVER) for UnixWare 7...'
4174         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4175         "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
4176         -DUW7 -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DNOLSTAT \
4177         -DFNFLOAT -DCK_NEWTERM $(KFLAGS)" \
4178         "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
4179         "LNKFLAGS = -s"
4180
4181 #UnixWare 7 with POSIX cfset[oi]speed() to allow high serial speeds.
4182 #(but the high speeds don't work)
4183 unixware7p:
4184         @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with POSIX i/o...'
4185         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4186         "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
4187         -DUW7 -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
4188         -DFNFLOAT -DCK_NEWTERM -DNOLSTAT $(KFLAGS)" \
4189         "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
4190         "LNKFLAGS = -s"
4191
4192 # UnixWare 7 built with gcc - This does not work at all...
4193 # Reportedly gcc 2.8.1 is broken on Unixware 7.  Try egcs?
4194 unixware7g:
4195         @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with gcc...'
4196         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4197         "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s -shlib"
4198         "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
4199         -DUW7 -DNOGETUSERSHELL -DSTERMIOX  -DCK_CURSES -DTCPSOCKET -DNOLSTAT \
4200         -DFNFLOAT -DCK_NEWTERM $(KFLAGS)" \
4201         "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
4202         "LNKFLAGS = -s"
4203
4204 unixware7:
4205         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" unixware7t \
4206         KTARGET=$${KTARGET:-$(@)}
4207
4208 uw7:
4209         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" unixware7t \
4210         KTARGET=$${KTARGET:-$(@)}
4211
4212 #SCO OpenUNIX 8.0
4213 ou8:
4214         @echo 'Making C-Kermit $(CKVER) for Open UNIX 8...'
4215         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DOU8 $(KFLAGS)" unixware7t \
4216         KTARGET=$${KTARGET:-$(@)}
4217
4218 #UnixWare 7 with OpenSSL
4219 uw7ssl:
4220         @echo 'Making C-Kermit $(CKVER) for UnixWare 7 and OpenSSL...'
4221         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4222         "CFLAGS = -O -DCK_AUTHENTICATION -DCK_SSL -DCK_SHADOW \
4223         -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
4224         -DFNFLOAT -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
4225         -DUW7 -DUSETCSETSPEED -DCK_NEWTERM -DNOLSTAT -DDCLTIMEVAL \
4226         $(SSLINC) $(KFLAGS)" \
4227         "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv \
4228         -lgen -lcudk70 $(SSLLIB) -lssl -lcrypto $(LIBS)" \
4229         "LNKFLAGS = -s"
4230
4231 #As above but includes Shadow password support needed for IKSD.
4232 uw7iksd:
4233         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DCK_SHADOW $(KFLAGS)" \
4234         KTARGET=$${KTARGET:-$(@)} "LIBS= -lgen" unixware7t
4235
4236 #As above but links with static API for realpath() so a binary built
4237 #with this target on UW7.1 will also work on 7.0.  Requires SCO UDK
4238 #rather than the stock compiler.
4239 uw7iksdudk:
4240         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DCK_SHADOW $(KFLAGS)" \
4241         KTARGET=$${KTARGET:-$(@)} "LIBS= -lgen -lcudk70" unixware7t
4242
4243 #ESIX SVR4.0.3 or 4.04 with TCP/IP support.
4244 #Has <sys/termiox.h>, ANSI C function prototyping disabled.
4245 #Add -m486 to CFLAGS if desired.
4246 esixr4:
4247         @echo 'Making C-Kermit $(CKVER) for ESIX SVR4 + TCP/IP...'
4248         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4249         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOANSI \
4250         -DSTERMIOX -DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s" \
4251         "LIBS = -lsocket -lnsl"
4252
4253 #AT&T UNIX System V R4.
4254 #Has <sys/termiox.h>, Wollongong WIN/TCP TCP/IP.
4255 sys5r4sxnet:
4256         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
4257         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4258         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
4259         -DSTERMIOX -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
4260
4261 #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>.
4262 sys5r4nx:
4263         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
4264         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4265         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOLEARN $(KFLAGS)" \
4266         "LNKFLAGS = -s"
4267
4268 #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>, curses, TCP/IP.
4269 sys5r4nxnetc:
4270         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
4271         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4272         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
4273         -DCK_CURSES -DTCPSOCKET $(KFLAGS)" \
4274         "LIBS = -lcurses -lsocket -lnsl -ltcpip" \
4275         "LNKFLAGS = -s"
4276
4277 #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>, Wollongong TCP/IP.
4278 sys5r4nxtwg:
4279         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
4280         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4281         "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DWOLLONGONG $(KFLAGS)"
4282         "LNKFLAGS = -s"
4283
4284 #ICL UNIX System V R4.(DRS N/X) version :-
4285 #UNIX System V Release 4.0 ICL DRS 6000 (SPARC)
4286 #DRS/NX 6000 SVR4 Version 5  Level 1  Increment 4
4287 #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
4288 #are not misplaced in sys (rather than netinet and arpa, respectively).
4289 #Uses ANSI C constructs, advisory file locking on devices, etc.
4290 #Remove -lnsl if it causes trouble.
4291 iclsys5r4:
4292         @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 (DRS N/X)'
4293         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4294         "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
4295         -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
4296         "LIBS= -lsocket -lnsl -lresolv " "LNKFLAGS = -s"
4297
4298 #As above but for DRS/NX 4.2MP 7MPlus.
4299 iclsys5r4m+:
4300         @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 DRS/NX 4.2MP+'
4301         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4302         "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOIKSD \
4303         -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
4304         "LIBS= -lsocket -lnsl -lm -lc -g -lgen " "LNKFLAGS = -s"
4305
4306 #As above but for DRS/NX 4.2MP 7MPlus with IKSD support.
4307 iclsys5r4m+iksd:
4308         @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 DRS/NX 4.2MP+'
4309         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4310         "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
4311         -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
4312         "LIBS= -lsocket -lnsl -lm -lc -g -lgen -lresolv " "LNKFLAGS = -s"
4313
4314 iclsys5r4_486:
4315         $(MAKE) "MAKE=$(MAKE)" iclsys5r4 KTARGET=$${KTARGET:-$(@)}
4316
4317 #Data General DG/UX 4.30 (System V R3) for DG AViiON, with TCP/IP support.
4318 dgux430:
4319         @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 4.30...'
4320         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4321         "CFLAGS = -O -DDGUX430 -DSVR3 -DDIRENT -DTCPSOCKET \
4322         -DNOINADDRX -DNOGETUSERSHELL $(KFLAGS)"
4323
4324 #Data General DG/UX 4.30 for DG AViiON, with TCP/IP support with BSDisms.
4325 dgux430bsd:
4326         @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 4.30...'
4327         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4328         "CFLAGS = -O -DDGUX430 -D_BSD_SOURCE -DBSD4 \
4329         -DNOINADDRX -DTCPSOCKET -DNOGETUSERSHELL $(KFLAGS)"
4330
4331 #Data General DG/UX 5.4 (System V R4) for DG AViiON, with TCP/IP support.
4332 #Add -lsocket -lnsl if inet_addr comes up missing...
4333 #Hmmm - I really think CK_POLL can be removed from this one in which case
4334 #there is no difference between dgux540 and dgux540i.
4335 dgux540:
4336         @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
4337         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4338         "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
4339         -DSTERMIOX -DTCPSOCKET -DCK_POLL -DNOGETUSERSHELL $(KFLAGS)"
4340
4341 #Data General DG/UX 5.40 (System V R4) for Intel AViiON, with TCP/IP support.
4342 dgux540i:
4343         @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
4344         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4345         "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
4346         -DSTERMIOX -DTCPSOCKET -DNOGETUSERSHELL $(KFLAGS)" \
4347         "LIBS = -lsocket -lnsl"
4348
4349 dgux54:
4350         make dgux540 KTARGET=$${KTARGET:-$(@)}
4351
4352 #Data General DG/UX 5.4 (= System V R4) for DG AViiON, with TCP/IP support.
4353 # And curses.
4354 dgux540c:
4355         @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.4...'
4356         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4357         "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
4358         -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
4359         $(KFLAGS)" "LIBS= -lcurses8 -ltermcap" "LNKFLAGS = -s"
4360
4361 #As above but for Intel - only difference is name library names.
4362 dgux540ic:
4363         @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
4364         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4365         "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
4366         -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
4367         $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
4368
4369 dgux54c:
4370         make dgux540c KTARGET=$${KTARGET:-$(@)}
4371
4372 #DG/UX 5.4R3.10
4373 dgux54310:
4374         @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.4R3...'
4375         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4376         "CFLAGS = -DDGUX540 -DDGUX54310 -DDIRENT -DHDBUUCP -DSELECT \
4377         -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
4378         -DNOINADDRX $(KFLAGS)" "LIBS= -lcurses8 -ltermcap" "LNKFLAGS = -s"
4379
4380 #DG/UX 5.4R4.10 - Includes everything.
4381 dgux54410:
4382         @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.10...'
4383         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4384         "CFLAGS = -O -DDGUX540 -DDGUX54410 -DDIRENT -DHDBUUCP -DSELECT \
4385         -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
4386         -DNOINADDRX $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
4387
4388 #DG/UX 5.4R4.11 - Includes everything.
4389 dgux54411:
4390         @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.11...'
4391         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4392         "CFLAGS = -O -DDGUX540 -DDGUX54411 -DDIRENT -DHDBUUCP -DSELECT \
4393         -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
4394         -DNOINADDRX $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
4395
4396 #DG/UX 5.4R4.20 - Includes everything.
4397 dgux54420:
4398         @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.20...'
4399         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4400         "CFLAGS = -O -DDGUX540 -DDGUX54420 -DDIRENT -DHDBUUCP -DSELECT \
4401         -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
4402         -DNOINADDRX $(KFLAGS)" \
4403         "LIBS = -lsocket -lresolv -lnsl -lcurses -ltermcap"
4404
4405 #Silicon Graphics System V R3 with BSD file system (IRIS)
4406 iris:
4407         @echo Making C-Kermit $(CKVER) for Silicon Graphics IRIX pre-3.3...
4408         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4409         "CFLAGS = -O -DSVR3 -DLONGFN -DNOLEARN $(KFLAGS) -I/usr/include/bsd" \
4410         "LIBS = -lbsd"
4411
4412 #Silicon Graphics IRIS System V R3
4413 irix33:
4414         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 3.3...'
4415         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4416         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNOLEARN $(KFLAGS) -O" \
4417         "LNKFLAGS = -s"
4418
4419 #Silicon Graphics Iris Indigo with IRIX 4.0.0 or 5.0...
4420 #Strict ANSI C compilation, TCP/IP support included
4421 irix40:
4422         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
4423         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4424         "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
4425         -DCK_ANSIC -DTCPSOCKET $(KFLAGS) -O -Olimit 1600 -I/usr/include/bsd" \
4426         "LNKFLAGS = -s"
4427
4428 #As above, but with fullscreen display (curses) and Sun Yellow Pages support.
4429 #NOTE: IRIX versions prior to 5 run COFF binaries.
4430 irix40ypc:
4431         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0.'
4432         @echo 'Includes fullscreen file display and Sun Yellow Pages...'
4433         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4434         "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DCK_CURSES \
4435         -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET $(KFLAGS) \
4436         -O -Olimit 1600 -I/usr/include/bsd" \
4437         "LIBS = -lcurses -lsun" "LNKFLAGS = -s"
4438
4439 # Silicon Graphics Iris Series 4D/*, IRIX 4.0.x, -O4 ucode optimized.
4440 # Huge temporary file space needed for ucode optimizer.  If you get an error
4441 # like "ugen: internal error writing to /tmp/ctmca08777: Error 0", define the
4442 # the TMPDIR environment variable to point to a file system that has more
4443 # space available, e.g. "setenv TMPDIR /usr/tmp".
4444 irix40u:
4445         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
4446         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4447         "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
4448         -DCK_ANSIC -DTCPSOCKET $(KFLAGS) -O4 -Olimit 1600" \
4449         "LNKFLAGS=-O4 -Olimit 1600 -s" "EXT=u"
4450
4451 # As above, with Curses Support added
4452 irix40uc:
4453         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
4454         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4455         "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
4456         -DCK_ANSIC -DCK_CURSES -DTCPSOCKET $(KFLAGS) -O4 -Olimit 1600" \
4457         "LNKFLAGS=-O4 -Olimit 1600 -s" "EXT=u" "LIBS= -lcurses -ltermcap"
4458
4459 #Silicon Graphics IRIX 5.x.
4460 #Yellow Pages and Curses support included.
4461 #IRIX version 5.x can run COFF or ELF binaries.
4462 irix51:
4463         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 5.x'
4464         @echo 'Includes fullscreen file display and Yellow Pages...'
4465         @echo 'Add -mips<n> to CFLAGS specify a particular hardware target.'
4466         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4467         "CFLAGS = -DIRIX51 -DSVR4 -DDIRENT -DHDBUUCP -DCK_CURSES -DCK_NEWTERM \
4468         -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET -DSELECT -DNOGETUSERSHELL \
4469         -DSYSTIMEH -DDCLPOPEN -DDCLFDOPEN $(KFLAGS) -ansi -O -Olimit 3000" \
4470         "LIBS = -lcurses" "LNKFLAGS = -s"
4471
4472 #Use this one if irix51 blows up due to lack of swap space or whatever.
4473 irix51x:
4474         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 5.x'
4475         @echo 'Includes fullscreen file display and Yellow Pages...'
4476         @echo 'Add -mips<n> to CFLAGS specify a particular hardware target.'
4477         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4478         "CFLAGS = -DIRIX51 -DSVR4 -DDIRENT -DHDBUUCP -DCK_CURSES -DCK_NEWTERM \
4479         -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET -DSELECT -DNOGETUSERSHELL \
4480         -DSYSTIMEH -DDCLPOPEN -DDCLFDOPEN $(KFLAGS)" \
4481         "LIBS = -lcurses" "LNKFLAGS = -s"
4482
4483 irix51ypc:
4484         $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)} \
4485         "KFLAGS= $(KFLAGS)"
4486
4487 #IRIX 5.2 adds RTS/CTS
4488 irix52:
4489         $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)} \
4490         "KFLAGS=-DIRIX52 -DCK_RTSCTS $(KFLAGS)"
4491
4492 irix53:
4493         $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)} \
4494         "KFLAGS=-DIRIX52 -DIRIX53 -DCK_RTSCTS $(KFLAGS)"
4495
4496 irix53x:
4497         $(MAKE) "MAKE=$(MAKE)" irix51x KTARGET=$${KTARGET:-$(@)} \
4498         "KFLAGS=-DIRIX52 -DIRIX53 -DCK_RTSCTS $(KFLAGS)"
4499
4500 #Silicon Graphics IRIX 6.[024] common stuff.
4501 #Yellow Pages and Curses support included.
4502 #IRIX version 6.0 and later runs only ELF binaries.
4503 #Depends on code changes in ckudeb.h that make -DIRIX6x define all
4504 #lower IRIX6x values and IRIX51.
4505 irix6x:
4506         @echo 'Includes fullscreen file display and Yellow Pages...'
4507         @echo 'Add -mips<n> to specify a particular hardware target.'
4508         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4509         "CFLAGS = -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
4510         -DCK_CURSES -DCK_NEWTERM -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET \
4511         -DSELECT -DCK_RTSCTS -O $(KFLAGS)" \
4512         "LIBS = -lcurses" "LNKFLAGS = -s $(LNKFLAGS)"
4513
4514 #Silicon Graphics IRIX 6.0.
4515 irix60:
4516         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.0'
4517         @$(MAKE) "MAKE=$(MAKE)" \
4518         "KFLAGS=-DIRIX60 -Olimit 2138 $(KFLAGS)" \
4519         irix6x KTARGET=$${KTARGET:-$(@)}
4520
4521 #Silicon Graphics IRIX 6.2.
4522 #Serial speeds > 38400 are available in IRIX 6.2 on O-class machines only.
4523 #Note: Olimit must be a number > 0.
4524 irix62:
4525         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.2'
4526         @$(MAKE) "MAKE=$(MAKE)" \
4527         LNKFLAGS="-Wl,-woff,84" \
4528         "KFLAGS=-DIRIX62 -Olimit 4700 $(KFLAGS)" \
4529         irix6x KTARGET=$${KTARGET:-$(@)}
4530
4531 #Silicon Graphics IRIX 6.3.
4532 irix63:
4533         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.3'
4534         @$(MAKE) "MAKE=$(MAKE)" irix62 KTARGET=$${KTARGET:-$(@)} \
4535         "KFLAGS=-DIRIX63"
4536
4537 #Silicon Graphics IRIX 6.4.
4538 # -woff,84 to linker stops complaints about no symbols loaded from
4539 # curses, and -woff 1110 stops complaints about unreachable "break;"
4540 # statements in ckcpro.c among others.
4541 # tested on SGI Octane, running IRIX 6.4 up to 115200 bps.
4542 # -Olimit 0 means infinite.
4543 irix64:
4544         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.4'
4545         @$(MAKE) "MAKE=$(MAKE)" \
4546         LNKFLAGS="-Wl,-woff,84" \
4547         "KFLAGS=-DIRIX64 -DCK_RTSCTS -Olimit 3000 -woff 1110 $(KFLAGS)" \
4548         irix6x KTARGET=$${KTARGET:-$(@)}
4549
4550 irix64gcc:
4551         @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.4 gcc'
4552         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
4553         "CFLAGS= -DSVR4 -DIRIX64 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC \
4554         $(KFLAGS) -O" "LIBS= -lcurses -ltermcap -lcrypt"
4555
4556 #Note the new Optimization option syntax for MIPSpro CC 7.2.1.2m.
4557 irix65:
4558         @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5'
4559         @$(MAKE) "MAKE=$(MAKE)" LNKFLAGS="-Wl,-woff,84" \
4560         "KFLAGS=-DIRIX65 -DCK_RTSCTS -OPT:Olimit=0 -woff 1110,1552,1174 \
4561         $(KFLAGS)" \
4562         irix6x KTARGET=$${KTARGET:-$(@)}
4563
4564 #Dumb down to MIPS-2 if building on R5000 or higher...
4565 irix65mips2:
4566         @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5 MIPS-2'
4567         @$(MAKE) "MAKE=$(MAKE)" LNKFLAGS="-o32 -mips2 -Wl,-woff,84" \
4568         "KFLAGS=-DIRIX65 -DCK_RTSCTS -OPT:Olimit=0 -o32 -mips2 \
4569         -woff 1110,1552,1174 $(KFLAGS)" \
4570         irix6x KTARGET=$${KTARGET:-$(@)}
4571
4572 irix6x+krb5:
4573         @echo 'Includes fullscreen file display and Yellow Pages...'
4574         @echo 'Add -mips<n> to specify a particular hardware target.'
4575         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4576         "CFLAGS = -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
4577         -DCK_CURSES -DCK_NEWTERM -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET\
4578         -DSELECT -DCK_RTSCTS -O \
4579         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DCK_ENCRYPTION -DCK_DES \
4580         $(K5INC) $(K5INC)/krb5 $(KFLAGS)" \
4581         "LIBS = -lcurses $(K5LIB) -ldes425 -lkrb5 \
4582         -lcom_err -lcrypto -lcrypt -lgssapi_krb5" \
4583         "LNKFLAGS = -s $(LNKFLAGS)"
4584
4585 irix65+krb5:
4586         @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5'
4587         @$(MAKE) "MAKE=$(MAKE)" \
4588         LNKFLAGS="-Wl,-woff,84" \
4589         "KFLAGS=-DIRIX65 -DCK_RTSCTS -OPT:Olimit=0 -woff 1110,1552,1174 \
4590         $(KFLAGS)" \
4591         irix6x+krb5 KTARGET=$${KTARGET:-$(@)}
4592
4593 #In case they type "make sys5"...
4594 sys5:
4595         $(MAKE) "MAKE=$(MAKE)" sys3 KTARGET=$${KTARGET:-$(@)}
4596
4597 #Generic ATT System III or System V (with I&D space)
4598 sys3:
4599         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
4600         @echo 'or System V R2 or earlier...'
4601         @echo 'add -DNOMKDIR if mkdir is an undefined symbol.'
4602         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4603         "CFLAGS = -DATTSV -DNOUNICODE -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL \
4604         -DNOINITGROUPS -DNOFTRUNCATE -DNOREALPATH -DNOLEARN $(KFLAGS) -i -O" \
4605         "LNKFLAGS = -i"
4606
4607 #Generic ATT System III or System V (no I&D space)
4608 sys3nid:
4609         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
4610         @echo 'or System V R2 or earlier, no I&D space...'
4611         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4612         "CFLAGS = -DATTSV -DNOREALPATH -DNOUNICODE -DNOSYSLOG -DNOSYMLINK \
4613         -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE -DNOLEARN $(KFLAGS) -O" \
4614         "LNKFLAGS ="
4615
4616 #Generic ATT System III or System V R2 or earlier, "no void":
4617 #special entry to remove "Illegal pointer combination" warnings.
4618 sys3nv:
4619         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
4620         @echo 'or System V R2 or earlier...'
4621         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4622         "CFLAGS= -DATTSV -DNOREALPATH -DNOUNICODE -DNOSYSLOG -DNOGETUSERSHELL \
4623         -DNOSYMLINK -DNOFTRUNCATE -DNOINITGROUPS -DNOLEARN \
4624         -Dvoid=int $(KFLAGS) -i -O" \
4625         "LNKFLAGS = -i"
4626
4627 # AT&T 7300 UNIX PC.  As of C-Kermit 6.1, many of these entries don't work
4628 # any more due to "Out of memory" or "Too many defines" errors during
4629 # compilation, at least not on systems without lots of memory.  The sys3upcgc
4630 # entry works (using gcc) with optimization removed, and might also work
4631 # with optimization enabled on machines with larger memories.
4632
4633 #AT&T 7300/UNIX PC (3B1) systems, sys3 but special handling for internal modem.
4634 #Link with the shared library -- the conflict with openi in shared library
4635 #is solved with -Dopeni=xopeni.  Note that the xermit target can't be used
4636 #for the Unix PC; there is no select().
4637 sys3upc:
4638         @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, shared lib...'
4639         @echo 'If shared lib causes trouble, use make sys3upcold.'
4640         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4641         "CFLAGS = -O -DATT7300 -DNOMKDIR -DUSE_MEMCPY -DNOREALPATH -DNOLEARN \
4642         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4643         -DNOREDIRECT -DNOGFTIMER -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
4644         "CC2 = ld /lib/crt0s.o /lib/shlib.ifile" "LNKFLAGS = -s"
4645
4646 #AT&T 7300/Unix PC systems, minimum kermit for those with smaller amounts
4647 #of memory.
4648 sys3upcm:
4649         @echo Minimum interactive
4650         $(MAKE) "MAKE=$(MAKE)" sys3upc KTARGET=$${KTARGET:-$(@)} \
4651         "KFLAGS=-DNOSPL -DNOFRILLS -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS \
4652         -DNOSYSLOG -DNOSETKEY -DNOREALPATH"
4653
4654 #AT&T 7300/UNIX PC (3B1) systems, with curses support.
4655 #Curses and the shared library don't get along, so we don't use the
4656 #shared library.  We need to include CK_NEWTERM to avoid a conflict
4657 #with curses and buffering on stdout.  Merged with submission by
4658 #Robert Weiner/Programming Plus, rweiner@watsun.cc.columbia.edu.
4659 #We don't need -Dopeni=xopeni since we're not using the shared library,
4660 #but we keep it to be consistent with the other entries.
4661 sys3upcc:
4662         @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
4663         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4664         "CFLAGS = -O -DATT7300 -DNOREALPATH \
4665         -DCK_CURSES -DCK_NEWTERM -DNOMKDIR -DNOREDIRECT -DNOGFTIMER -DNOLEARN \
4666         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4667         -DUSE_MEMCPY -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
4668         "LIBS = -lcurses" "LNKFLAGS = -s"
4669
4670 #Like sys3upcc but for AT&T UNIX 3.51m (released as a patch on Fix Disk 2),
4671 #adds hardware flow control.
4672 att351m:
4673         $(MAKE) "MAKE=$(MAKE)" sys3upcc KTARGET=$${KTARGET:-$(@)} \
4674         "KFLAGS=-DCK_RTSCTS -DUNIX351M"
4675
4676 #As above but with gcc.
4677 att351gm:
4678         $(MAKE) "MAKE=$(MAKE)" sys3upcgc KTARGET=$${KTARGET:-$(@)} \
4679         "KFLAGS=-DCK_RTSCTS -DUNIX351M"
4680
4681 #AT&T 7300 UNIX PC (3B1), as above, but no newterm().
4682 sys3upcx:
4683         @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
4684         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4685         "CFLAGS = -O -DATT7300 -DNOREALPATH -DNOUNICODE -DNOLEARN \
4686         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4687         -DCK_CURSES -DNOMKDIR -DNOREDIRECT -DNOGFTIMER -DUSE_MEMCPY $(KFLAGS) \
4688         -Dopeni=xopeni" "LIBS = -lcurses -ltermcap" "LNKFLAGS = -s"
4689
4690 #AT&T 7300/UNIX PC (3B1) systems, with curses and shared library support.
4691 sys3upcshcc:
4692         @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, shared lib...'
4693         @echo 'With curses.  Requires shcc.'
4694         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4695         "CFLAGS = -O -DATT7300 -DNOMKDIR -DNOREALPATH -DNOLEARN \
4696         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4697         -DCK_NEWTERM -DCK_CURSES  -DNOREDIRECT -DNOGFTIMER \
4698         -DUSE_MEMCPY -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
4699         "LNKFLAGS = -i -s" "CC = shcc" "CC2 = shcc" "LIBS = -lcurses"
4700
4701 #AT&T 7300/UNIX PC (3B1) systems, as above, no curses, but use gcc.
4702 sys3upcg:
4703         @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC...'
4704         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4705         "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOUNICODE -DNOLEARN \
4706         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4707         -DNOGFTIMER -DNOMKDIR -DNOREALPATH $(KFLAGS) -Dopeni=xopeni" \
4708         "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s -shlib"
4709
4710 #AT&T 7300/UNIX PC (3B1) systems, curses and gcc.
4711 #Optimization omitted -- add it back in if your machine has lots of memory.
4712 sys3upcgc:
4713         @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
4714         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4715         "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOGFTIMER -DNOUNICODE \
4716         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4717         -DCK_CURSES -DCK_NEWTERM -DNOMKDIR -DNOREALPATH -DNOLEARN $(KFLAGS)" \
4718         "CC = gcc" "CC2 = gcc" "LIBS = -lcurses" "LNKFLAGS = -s"
4719
4720 #AT&T 7300/UNIX PC (3B1) systems, special handling for internal modem.
4721 #No FULLSCREEN file transfer display (curses).
4722 sys3upcold:
4723         @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC...'
4724         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4725         "CFLAGS = -DATT7300 -DNOMKDIR -DUSE_MEMCPY -DNOUNICODE -DNOLEARN \
4726         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4727         -DNOGFTIMER -DNOREDIRECT -DNOREALPATH $(KFLAGS) -O" "LNKFLAGS = -i"
4728
4729 #As above, but with gcc. mininum features - fits on a 400K UNIX PC floppy
4730 #after compression with room to spare; add -DNOSHOW or other -DNOxxxx items
4731 #to reduce size even further.
4732 sys3upcgm:
4733         @echo Minimum interactive
4734         $(MAKE) "MAKE=$(MAKE)" sys3upcg KTARGET=$${KTARGET:-$(@)} \
4735         "KFLAGS=-DNOSPL -DNOFRILLS -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS \
4736         -DNOSETKEY $(KFLAGS)"
4737
4738 #This target is designed to create a version with the most features possible
4739 #that, after compression, still fits on a 400K UNIX PC floppy.
4740 sys3upcgfd:
4741         @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC floppy...'
4742         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4743         "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOSPL -DNOLEARN \
4744         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4745         -DNOGFTIMER -DNOREALPATH -Dopeni=xopeni \
4746         -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS -DNOSETKEY -DNOMKDIR $(KFLAGS)" \
4747         "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s"
4748
4749 #AT&T 6300 PLUS (warning, -O might make it run out of space).
4750 #NOTE: Remove -DHDBUUCP if not using Honey DanBer UUCP.
4751 att6300:
4752         @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS...'
4753         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4754         "CFLAGS = -DATT6300 -DHDBUUCP -DNOFILEH -DNOREALPATH -DNOLEARN \
4755         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4756         -DNOUNICODE $(KFLAGS) -O -Ml -i" "LNKFLAGS = -i -Ml"
4757
4758 #As above, but with curses support.  Debugging disabled to prevent thrashing.
4759 att6300c:
4760         @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS...'
4761         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4762         "CFLAGS = -DATT6300 -DHDBUUCP -DNOFILEH -DNOCSETS -DNOREALPATH \
4763         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4764         -DCK_CURSES -DNODEBUG -DNOUNICODE -DNOLEARN $(KFLAGS) -O -Ml -i" \
4765         "LNKFLAGS = -i -Ml" "LIBS = -lcurses"
4766
4767 #AT&T 6300 PLUS with no curses, no debugging (about 34K smaller)
4768 # -Optimization saves about 20K too.
4769 att6300nd:
4770         @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS, no debugging...'
4771         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4772         "CFLAGS = -DATT6300 -DHDBUUCP -DNODEBUG -DNOFILEH -DNOREALPATH \
4773         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4774         -DNOUNICODE -DNOLEARN $(KFLAGS) -O -i -Ml" "LNKFLAGS = -i -Ml"
4775
4776 #AT&T 3B2 and maybe 3B20-series computers running AT&T UNIX System V R3.
4777 #This one was actually used to build C-Kermit 7.0 successfully on a 3B2/300.
4778 att3b2:
4779         @echo 'Making C-Kermit $(CKVER) for AT&T 3B2'
4780         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4781         "CFLAGS = -DATTSV -DNOREDIRECT -DUSE_MEMCPY \
4782         -DNOTIMEVAL -DNOTIMEZONE -DMINIDIAL -DNOCHANNELIO -DNOBIGBUF \
4783         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4784         -DNOGFTIMER -DNOREALPATH -Dopeni=xopeni -DNOFRILLS -DNOLEARN \
4785         -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS -DNOSETKEY -DNOMKDIR $(KFLAGS)" \
4786         "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s"
4787
4788 # The next two are likely not to work as-is.
4789
4790 #AT&T 3B2, 3B20-series computers running AT&T UNIX System V.
4791 #This is just generic System V with Honey DanBer UUCP, so refer to sys3hdb.
4792 #Remove -DNONAWS if you can get away with it.
4793 att3bx:
4794         $(MAKE) "MAKE=$(MAKE)" sys3hdb KTARGET=$${KTARGET:-$(@)} \
4795         "KFLAGS=$(KFLAGS) -DNONAWS -DNOTIMEVAL"
4796
4797 # 3Bx with charsets (except Unicode) but no curses.
4798 att3bx1:
4799         @echo 'Making C-Kermit $(CKVER) for AT&T 3B2 or 3B20'
4800         @echo 'with Honey DanBer UUCP  no curses...'
4801         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4802         "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) -DNOREDIRECT \
4803         -DNOTIMEVAL -DNOTIMEZONE -DMINIDIAL -DNOCHANNELIO -DNOBIGBUF \
4804         -DNOHELP -DNODEBUG -DNOGFTIMER -DNOLEARN \
4805         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4806         -DNOREALPATH -DNOUNICODE -i" \
4807         "CC = gcc" "CC2 = gcc" "LNKFLAGS = -i -s"
4808
4809 #AT&T 3B2, 3B20-series computers running AT&T UNIX System V,
4810 #with fullscreen file transfer display.
4811 att3bxc:
4812         @echo 'Making C-Kermit $(CKVER) for AT&T 3B2 or 3B20'
4813         @echo 'with Honey DanBer UUCP and curses...'
4814         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4815         "CFLAGS = -DATTSV -DHDBUUCP -DNONAWS -DNOTIMEVAL $(KFLAGS) \
4816         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4817         -DNOREALPATH -DCK_CURSES -DCK_NEWTERM -DNOUNICODE -DNOLEARN -i -O" \
4818         "LNKFLAGS = -i" "LIBS=-lcurses"
4819
4820 #3bx with curses but no charsets
4821 att3bxc3:
4822         @echo 'Making C-Kermit $(CKVER) for AT&T 3B2 or 3B20'
4823         @echo 'with Honey DanBer UUCP with curses...  no CSETS'
4824         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4825         "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) -DNOREDIRECT \
4826         -DNOTIMEVAL -DNOTIMEZONE -DMINIDIAL -DNOCHANNELIO -DNOBIGBUF \
4827         -DNOHELP -DNODEBUG -DNOGFTIMER -DNOLEARN \
4828         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4829         -DNOREALPATH -DNOCSETS -DCK_CURSES -DCK_NEWTERM -i" \
4830         "CC = gcc" "CC2 = gcc" "LNKFLAGS = -i -s" "LIBS = -lcurses"
4831
4832 #Any System V R2 or earlier with Honey DanBer UUCP (same as above)
4833 sys3hdb:
4834         @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
4835         @echo 'or System V R2 or earlier with Honey DanBer UUCP...'
4836         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4837         "CFLAGS = -DATTSV -DHDBUUCP -DNOREALPATH -DNOUNICODE -DNOLEARN \
4838         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4839         $(KFLAGS) -i -O" "LNKFLAGS = -i"
4840
4841 #Sperry/UNISYS 5000 UTS V 5.2 (System V R2), Honey DanBer UUCP
4842 unisys5r2:
4843         @echo 'Making C-Kermit $(CKVER) for Sperry/UNISYS 5000 UTS V 5.2...'
4844         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4845         "CFLAGS = -DATTSV -DUNISYS52 -DHDBUUCP -DNOREALPATH -DNOUNICODE \
4846         -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
4847         -DNOLEARN $(KFLAGS) -i -O" "LNKFLAGS = -i"
4848
4849 #In case they say "make sys5hdb" instead of "make sys3hdb"...
4850 sys5hdb:
4851         $(MAKE) "MAKE=$(MAKE)" sys3hdb
4852
4853 #Create the common header line for all hpux[5-10]* entries. This extra entry is
4854 #here because our header message length may differ for each C-Kermit version.
4855 #Don't use 'fold -s' for HP-UX 5.x - 7.x! This option is there only since
4856 #HP-UX 8.0!
4857 hpux-header:
4858         @HPUX=`uname -r | sed -e 's/^[^1-9]*//' -e 's/\.00$$/.0/'` ; \
4859         [ "$(MESSAGE0)" ] && MESSAGE1="$(MESSAGE0)" ; \
4860         Message0='Making C-Kermit $(CKVER) for HP9000 HP-UX' ; \
4861         Message1=$${MESSAGE1:='without any extra compiler optimization'} ; \
4862         MessageH="$$Message0 $$HPUX" ; \
4863         case $$HPUX in \
4864           [567].*) echo "$$MessageH\n$$Message1" ;; \
4865               *.*) echo "$$MessageH $${Message1}$(MESSAGE1A)" | fold -s ;; \
4866         esac | sed -e 's/^ //' -e 's/ *$$//'
4867
4868 # Peter E's updated HP-UX 5.xx entries Oct 2001.
4869
4870 #HP-9000 500 HP-UX 5.xx, no TCP/IP.
4871 hpux0500:
4872         @MESSAGE0="no TCP/IP and no compiler optimization";\
4873         MESSAGE0=$${MESSAGE1:-$$MESSAGE0} \
4874         $(MAKE) hpux-header
4875         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4876         "CFLAGS = -DHPUX -DHPUX5 -DHPUXPRE65 -DNOREDIRECT -DDCLGETCWD \
4877         -DNOGETUSERSHELL -DNOGFTIMER -DNOSYSLOG -DNOTOMACROS -DNOLSTAT \
4878         -DNOSYMLINK -DNOINITGROUPS -DNOUNICODE -DNOLEARN $(KFLAGS)" \
4879         "LIBS = $(LIBS)" "LNKFLAGS = "
4880
4881 #HP-9000 500 HP-UX 5.21 with Wollongong WIN/TCP 1.2 TCP/IP.
4882 #Requires /usr/wins/usr/include and /usr/lib/libnet.a from Wollongong.
4883 #Optimization skipped - takes forever.  Really.
4884 # WARNING: this doesn't work if a file called "hpux0500" is on the disk.
4885 hpux0500wintcp:
4886         @MESSAGE1="with WIN/TCP but without any extra compiler optimization" \
4887         $(MAKE) hpux0500 KTARGET=$${KTARGET:-$(@)} \
4888         "KFLAGS = -DTCPSOCKET -DHPUX5WINTCP -DINADDRX -DNO_DNS_SRV -DNOMHHOST \
4889         -DNOHADDRLIST -I/usr/wins/usr/include $(KFLAGS)" \
4890         "LIBS = /usr/lib/libnet.a"
4891
4892 #HP-UX 6.5, short filenames, no network and no curses support.
4893 #ckcpro, ckuusr, ckuus3 and others are broken out because they make the
4894 #optimizer run away.  Note that xermit target does not work with this one!
4895 #If you get compiler warnings like 'Switch table overflow' increase the '...'
4896 #value in '-Wc,-Nw...'!
4897 hpux0650:
4898         @$(MAKE) hpux-header
4899         @echo 'supporting: NO long filenames, NO network${MESSAGE2}.'
4900
4901         $(MAKE) KTARGET=$${KTARGET:-$(@)} \
4902                 ckuusr.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
4903                 ckuus6.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) \
4904         "CFLAGS = -DHPUX -DHPUX6 -DSIG_V -DNOSYSLOG -DNOSELECT -DFNFLOAT \
4905         -DDCLGETCWD -DNOGETUSERSHELL -DNO_DNS_SRV -DNOLEARN $(KFLAGS) \
4906         -Wc,-Nw260"
4907
4908         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
4909         "CFLAGS = -DHPUX -DHPUX6 -DSIG_V -DNOSYSLOG -DNOSELECT -DFNFLOAT \
4910         -DDCLGETCWD -DNOGETUSERSHELL -DNO_DNS_SRV -DNOLEARN $(KFLAGS) \
4911         -Wc,-Nw260 $(OFLAGS)" "LNKFLAGS = -s" "LIBS = -lm $(LIBS)"
4912
4913 #Exactly as above, plus curses:
4914 hpux0650c:
4915         @MESSAGE2=", but with curses" \
4916         $(MAKE) hpux0650 KTARGET=$${KTARGET:-$(@)} \
4917         "KFLAGS= -DCK_CURSES $(KFLAGS)" \
4918         "LIBS= -lcurses"
4919
4920 #Exactly as above, plus curses + network:
4921 #(doesn't work -- HP-UX 6 lacks the FD_SET macros -- this can be addressed
4922
4923 hpux0650tcpc:
4924         @MESSAGE2=", but with curses and with tcp/ip" \
4925         $(MAKE) hpux0650 KTARGET=$${KTARGET:-$(@)} \
4926         "KFLAGS= -DCK_CURSES -DTCPSOCKET -DNOHADDRLIST $(KFLAGS)" \
4927         "LIBS= -lcurses"
4928
4929 #Exactly as hpux0650 but with compiler optimization:
4930 hpux0650o:
4931         @MESSAGE1="with compiler optimization" \
4932         $(MAKE) hpux0650 KTARGET=$${KTARGET:-$(@)} \
4933         "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
4934
4935 #Exactly as hpux0650c but with compiler optimization:
4936 hpux0650oc:
4937         @MESSAGE1="with compiler optimization" \
4938         $(MAKE) hpux0650c KTARGET=$${KTARGET:-$(@)} \
4939         "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
4940
4941 #Take this as startup entry for all 'none optimized' files under HP-UX 7.x!
4942 #Make sure we doesn't call it with the '-O' option because this will blow up
4943 #the compiler!
4944 hpux0700noopt:
4945         @case "$(CFLAGS)" in \
4946         *-O*) echo "Don't use CFLAGS= -O here!" ;; \
4947            *) $(MAKE) KTARGET=$${KTARGET:-$(@)} \
4948               ckuusr.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
4949               ckuus6.$(EXT) ckuus7.$(EXT) ckuxla.$(EXT) \
4950               ckcuni.$(EXT) ckcftp.$(EXT) ckcpro.$(EXT) \
4951               ;; \
4952         esac
4953
4954 #HP-UX 7.0, no long filenames, no network support, no curses.
4955 #If you get compiler warnings like 'Switch table overflow' increase the '...'
4956 #value in '-Wc,-Nw...'!
4957 hpux0700sf:
4958         @$(MAKE) hpux-header
4959         @echo 'supporting: NO long filenames, NO network, NO curses.'
4960         $(MAKE) hpux0700noopt KTARGET=$${KTARGET:-$(@)} \
4961         "CFLAGS = -DHPUX -DHPUX7 -DSIG_V -DNOGETUSERSHELL -DFNFLOAT \
4962         -DNO_DNS_SRV $(KFLAGS) -Wc,-Nw260"
4963
4964         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4965         "CFLAGS = -DHPUX -DHPUX7 -DSIG_V -DNOGETUSERSHELL -DFNFLOAT \
4966         -DNO_DNS_SRV $(KFLAGS) -Wc,-Nw260 $(OFLAGS)" \
4967         "LNKFLAGS = -s" "LIBS = -lm $(LIBS)"
4968
4969 #Exactly as hpux0700sf but with compiler optimization:
4970 hpux0700osf:
4971         @MESSAGE1="with compiler optimization" \
4972         $(MAKE) hpux0700sf KTARGET=$${KTARGET:-$(@)} \
4973         "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
4974
4975 #HP-UX 7.0, short filenames, but with tcp/ip and curses.
4976 #To use this, you must have bought the ARPA Services Product from HP, and you
4977 #must have /usr/lib/libBSD.a.
4978 hpux0700sftcpc:
4979         @$(MAKE) hpux-header
4980         @echo 'supporting: NO long filenames, \c'
4981         @echo 'but with networking, curses, HDB uucp...'
4982         $(MAKE) hpux0700noopt KTARGET=$${KTARGET:-$(@)} \
4983         "CFLAGS =  -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V \
4984         -DCK_REDIR -DCK_RTSCTS -DCK_CURSES -DNOGETUSERSHELL -DFNFLOAT \
4985         -DNO_DNS_SRV -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" $(KFLAGS) \
4986         -Wc,-Nw260"
4987
4988         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
4989         "CFLAGS =  -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V \
4990         -DCK_REDIR -DCK_RTSCTS -DCK_CURSES -DNOGETUSERSHELL -DFNFLOAT \
4991         -DNO_DNS_SRV -DHDBUUCP  -DLOCK_DIR=\\\"/usr/spool/uucp\\\" $(KFLAGS) \
4992         -Wc,-Nw260 $(OFLAGS)" "LNKFLAGS = -s" "LIBS= -lm -lBSD -lcurses"
4993
4994 #Exactly as above but with compiler optimization:
4995 hpux0700osftcpc:
4996         @MESSAGE1="with compiler optimization" \
4997         $(MAKE) hpux0700sftcpc KTARGET=$${KTARGET:-$(@)} \
4998         "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
4999
5000 #HP 9000 series 300/800 HP-UX 7.0, long filenames, network support, HDB uucp,
5001 #but NO curses. See comments in hpux0700sftcpc about TCP/IP support.
5002 hpux0700lfn:
5003         @$(MAKE) hpux-header
5004         @echo 'supporting: long filenames, networking, HDB uucp$(MESSAGE2)...'
5005         $(MAKE) hpux0700noopt KTARGET=$${KTARGET:-$(@)} \
5006         "CFLAGS =  -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V -DFNFLOAT \
5007         -DNOGETUSERSHELL -DNOSETBUF -DCK_REDIR -DCK_RTSCTS -DLONGFN \
5008         -DNO_DNS_SRV -DDIRENT -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" \
5009         $(KFLAGS) -Wc,-Nw260"
5010
5011         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
5012         "CFLAGS =  -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V -DFNFLOAT \
5013         -DNOGETUSERSHELL -DNOSETBUF -DCK_REDIR -DCK_RTSCTS -DLONGFN \
5014         -DNO_DNS_SRV -DDIRENT -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" \
5015         $(KFLAGS) -Wc,-Nw260 \
5016         $(OFLAGS)" "LNKFLAGS = -s" "LIBS = -lm -lBSD $(LIBS)"
5017
5018 #Exactly as above + curses.
5019 hpux0700lfnc:
5020         @MESSAGE2=', curses' \
5021         $(MAKE) hpux0700lfn KTARGET=$${KTARGET:-$(@)} \
5022         "KFLAGS= -DCK_CURSES $(KFLAGS)" \
5023         "LIBS= -lcurses"
5024
5025 #Exactly as above hpux0700lfn but with compiler optimization:
5026 hpux0700olfn:
5027         @MESSAGE1="with compiler optimization" \
5028         $(MAKE) hpux0700lfn KTARGET=$${KTARGET:-$(@)} \
5029         "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
5030
5031 #Exactly as above hpux0700lfnc but with compiler optimization:
5032 hpux0700olfnc:
5033         @MESSAGE1="with compiler optimization" \
5034         $(MAKE) hpux0700lfnc KTARGET=$${KTARGET:-$(@)} \
5035         "KFLAGS= $(KFLAGS)" "OFLAGS = -O"
5036
5037 #HP 9000 Series 300 or 400, HP-UX 8.0, long filenames and TCP/IP support.
5038 #This one should also work on 700/800, but without PA-specific optimization.
5039 #In case -DCK_RTSCTS and -DCK_REDIR make trouble, remove them.
5040 #NOTE: ckcpro.c, ckuusr.c and ckuus3.c blow up the optimizer, so don't optimize
5041 #them.
5042 #For HP-UX 8.0 on Motorola CPUs, you might have to reinstall your kernel with
5043 #maxdsiz >= 0x03000000.  But if physical memory is small, that still will not
5044 #help much.
5045 hpux0800:
5046         @$(MAKE) hpux-header
5047         @MESSAGE3=$${MESSAGE3:='TCP/IP'}; \
5048         echo "supporting: long filenames, $$MESSAGE3, HDB UUCP$(MESSAGE2)..."
5049         $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" KTARGET=$${KTARGET:-$(@)} \
5050         ckcpro.$(EXT) ckuusr.$(EXT) ckuus3.$(EXT) \
5051         "CFLAGS =  -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DRENAME -DSIG_V \
5052         -DNOSETBUF -DDIRENT -DCK_RTSCTS -DSTERMIOX -DLONGFN -DTCPSOCKET \
5053         -DHDBUUCP  -DNO_DNS_SRV -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT \
5054         $(KFLAGS)"
5055
5056         $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" xermit KTARGET=$${KTARGET:-$(@)} \
5057         "CFLAGS =  -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DRENAME -DSIG_V \
5058         -DNOSETBUF -DDIRENT -DCK_RTSCTS -DSTERMIOX -DLONGFN -DTCPSOCKET \
5059         -DHDBUUCP  -DNO_DNS_SRV -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT \
5060         $(KFLAGS) $(OFLAGS)" "LNKFLAGS = -s" "LIBS = -lm -lBSD $(LIBS)"
5061
5062 #Exactly as above hpux0800 + curses.
5063 hpux0800c:
5064         @MESSAGE2=', curses' \
5065         $(MAKE) hpux0800  KTARGET=$${KTARGET:-$(@)} \
5066         "KFLAGS = $(KFLAGS) -DCK_CURSES" "LIBS = -lcurses"
5067
5068 #HP 9000 HP-UX 8.0, no TCP/IP because /usr/lib/libBSD.a can't be found,
5069 #or TCP/IP header files missing.
5070 hpux0800notcp:
5071         @MESSAGE3='NO network, NO curses' \
5072         $(MAKE) "MAKE=$(MAKE)" hpux0800 KTARGET=$${KTARGET:-$(@)} \
5073         "KFLAGS = $(KFLAGS) -UTCPSOCKET"
5074
5075 #Now the same as above hpux0800 but with compiler optimization
5076 hpux0800o:
5077         @MESSAGE1="with compiler optimization" \
5078         $(MAKE) hpux0800 KTARGET=$${KTARGET:-$(@)} \
5079         "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
5080
5081 #Exactly as above hpux0800 + curses and with compiler optimization.
5082 hpux0800oc:
5083         @MESSAGE1="with compiler optimization" \
5084         $(MAKE) hpux0800c KTARGET=$${KTARGET:-$(@)} \
5085         "KFLAGS = $(KFLAGS)" "OFLAGS = -O" "LIBS = -lcurses"
5086
5087 #Exactly as above hpux0800notcp but with compiler optimization
5088 hpux0800onotcp:
5089         @MESSAGE1="with compiler optimization" \
5090         $(MAKE) "MAKE=$(MAKE)" hpux0800notcp KTARGET=$${KTARGET:-$(@)} \
5091         "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
5092
5093 #HP 9000 Series 700 or 800, HP-UX 8.0, long filenames and TCP/IP support.
5094 # Like the previous entries, but with PA-RISC-specific optimization.
5095 hpux0800pa:
5096         @MESSAGE1="with PA-RISC-specific optimization" \
5097         $(MAKE) hpux0800 KTARGET=$${KTARGET:-$(@)} \
5098         "KFLAGS = $(KFLAGS) +Obb1100"
5099
5100 #As above, but with curses.
5101 hpux0800pac:
5102         @MESSAGE1="with PA-RISC-specific optimization" \
5103         $(MAKE) hpux0800c KTARGET=$${KTARGET:-$(@)} \
5104         "KFLAGS = $(KFLAGS) +Obb1100"
5105
5106 #As above, but compiled with GCC 2.3.3.
5107 hpux0800pagcc:
5108         @MESSAGE1='using the gcc compiler' \
5109         $(MAKE) hpux0800 KTARGET=$${KTARGET:-$(@)} \
5110         "CC=gcc" "CC2=gcc" "KFLAGS= -funsigned-char $(KFLAGS)"
5111
5112 #HP-UX 9.0, 9.01, 9.03, 9.04, 9.05, 9.07, 9.10 ..., + TCP/IP + curses, fully
5113 #configured.  Use this entry with the restricted compiler: no optimization, no
5114 #ANSI support.  If you get unresolved sockets library references at link time,
5115 #then try adding -lBSD to LIBS, or else remove -DTCPSOCKET to build a version
5116 #without TCP/IP support.
5117 hpux0900:
5118         @MESSAGE1A='. Read hpux0900 entry comments if you have trouble.' \
5119         $(MAKE) hpux-header
5120         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
5121         "CFLAGS = -DHPUXDEBUG -DHPUX9 -DSTERMIOX -DDIRENT -DUTIMEH \
5122         -DNOSETBUF -DCK_CURSES -DTCPSOCKET -DRENAME -DCK_REDIR -DLONGFN \
5123         -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT $(KFLAGS)" \
5124         "LNKFLAGS = -s" "LIBS = -lm -lcurses" "CC=$(CC)" "CC2=$(CC2)"
5125
5126 #Like hpux0900, but for the "value-added" compiler on all HP 9000 models.
5127 #Adds optimization and ANSI compilation:
5128 # +O2 makes smaller executable (= -O = Level-1 and global optimization)
5129 # +O3 adds interprocedural global optimization, makes bigger executable.
5130 # If optimization fails on some modules, you can add:
5131 #  +Obb<n>, +Olimit <n>, or +Onolimit, depending on your cc version,
5132 # where <n> is a number, e.g. +Obb1200.  In other words, if you get optimizer
5133 # warnings, add (for example) +Obb1200; if you still get optimizer warnings,
5134 # increase the number.  Repeat until warnings go away.  If your compiler
5135 # permits it, use +Onolimit. If optimizer blows up on ckcpro.c, see next entry.
5136 # Reportedly, on some configurations, such as HP9000/425e or /340, perhaps
5137 # depending on the amount of main memory, this entry might fail no matter what
5138 # you do ("Out of Memory", "cc: Fatal error in /lib/c.c1", etc).  In that case
5139 # use "make hpux0900" (no "o").
5140 hpux0900o:
5141         @MESSAGE1=$${MESSAGE1:-"with compiler optimization"} \
5142         $(MAKE) hpux0900 KTARGET=$${KTARGET:-$(@)} \
5143         "KFLAGS = $(KFLAGS) -Aa -DCK_ANSIC -D_HPUX_SOURCE +O2"
5144
5145 # For HP-UX 9.0 on Motorola CPUs, optimization of ckcpro.c tends to blow up
5146 # the compiler.  You might have to reinstall your kernel with maxdsiz >=
5147 # 0x03000000.  But if physical memory is small, that still will not help much.
5148 # In that case, use this entry to skip optimization of ckcpro.c.  But for
5149 # C-Kermit 8.0.208 you need a kernel with maxdsiz >= 0x02000000 to compile an
5150 # optimized ckcftp.c.
5151 hpux0900m68ko:
5152         @MESSAGE1='without compiler optimization for ckcpro.$(EXT) ...' \
5153         $(MAKE) hpux-header
5154         $(MAKE) ckuusr.$(EXT) ckuus3.$(EXT) ckcpro.$(EXT) \
5155         "CFLAGS = -DHPUXDEBUG -DHPUX9 -DSTERMIOX -DDIRENT \
5156         -DNOSETBUF -DCK_CURSES -DTCPSOCKET -DRENAME  -DCK_REDIR -DLONGFN \
5157         -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT $(KFLAGS)"
5158         @echo
5159         @MESSAGE1="with compiler optimization for the rest" \
5160         $(MAKE) hpux0900 KTARGET=$${KTARGET:-$(@)} \
5161         "KFLAGS = $(KFLAGS) -Aa -DCK_ANSIC -D_HPUX_SOURCE +O2"
5162
5163 # Old name for hpux0900m68ko.
5164 hpux0900mot:
5165         $(MAKE) hpux0900m68ko KTARGET=$${KTARGET:-$(@)} "KFLAGS = $(KFLAGS)"
5166
5167 #Like hpux0900o but with additional model-700/800-specific optimizations.
5168 # +ESlit = consolidate strings in read-only memory.
5169 # +ESfsc = inline millicode calls when comparing pointers.
5170 hpux0900o700:
5171         @echo 'If you get optimizer warnings \c'
5172         @echo 'try "make hpux0900o700 KFLAGS=+Obb1200"'
5173         @MESSAGE1="with PA-RISC-specific optimizations" \
5174         $(MAKE) hpux0900o KTARGET=$${KTARGET:-$(@)} \
5175         "KFLAGS = $(KFLAGS) +ESlit +ESsfc"
5176
5177 #HP-UX 9.0, 9.01, 9.03, 9.04, 9.05, 9.07, 9.10 ..., + TCP/IP + curses, fully
5178 #configured, built with gcc, all models except 800 series.
5179 #You might need to add the include path for gcc headers, for example:
5180 # 'KFLAGS=-I/usr/gnu/lib/gcc-lib/hppa1.1-hp-hpux/2.4.5/include/'
5181 hpux0900gcc:
5182         @MESSAGE1='using the gcc compiler' \
5183         $(MAKE) hpux0900 KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
5184         "KFLAGS = $(KFLAGS) -DCK_ANSIC -funsigned-char -O2"
5185
5186 #HP-9000 HP-UX 10.0 + TCP/IP + curses, fully configured.
5187 #Use with restricted (bundled) compiler: no optimization, no ANSI support.
5188 #libcurses needed for fullscreen file xfer display in HP-UX 10.00 and 10.01.
5189 #libHcurses (NOT libcurses!) for fullscreen display, to work around fatal bugs
5190 #in HP-UX 10.10 and 10.20 curses. Maybe we could use lcurses for 10.30, since
5191 #the 10.10 curses problem is supposedly fixed in 10.30.
5192 # +DA1.0 = Generate PA-RISC 1.0 code that runs on both 700 and 800 models.
5193 # +DA1.1 = Generate PA-RISC 1.1 code that runs on both 700 and 800 models.
5194 # Note that HP-UX 10.20 and upwards  not support PA-RISC 1.0 systems.
5195 # And that as of Dec 2001, 11.00 and 11.11 are PA-only and 11.20 is IA64-only.
5196 # Later 11.2x releases are expected to be for both.  Architecture can be
5197 # determined with the model command, at least in 10.20 and later...
5198 #For future releases, we need to include +DA1.1 for PA builds, so that a
5199 #binary built on PA 2.0 will still work on PA 1.1 machines, whereas +DA1.1
5200 #must NOT be included for IA64 builds.
5201 #
5202 hpux1000:
5203         @$(MAKE) hpux-header
5204         @LIBS='-lHcurses' ; \
5205         AFLAGS='+DA1.1' ; \
5206         case `uname -r` in \
5207            [AB].10.0*)  KFLAGS='-DHPUX1000 $(KFLAGS)' ; \
5208                         AFLAGS='+DA1.0' ; LIBS='-lcurses'  ;; \
5209            [AB].10.1*)  KFLAGS='-DHPUX1010 -D__HP_CURSES $(KFLAGS)' ; \
5210                         ;; \
5211            [AB].10.2*)  KFLAGS='-DHPUX1020 -D__HP_CURSES $(KFLAGS)' ; \
5212                         ;; \
5213            [AB].10.3*)  KFLAGS='-DHPUX1030 -D__HP_CURSES $(KFLAGS)' ; \
5214                         ;; \
5215            [AB].10.?*)  KFLAGS='-DHPUX10XX -D__HP_CURSES $(KFLAGS)' ; \
5216                         ;; \
5217            [AB].11.0*)  KFLAGS='-DHPUX1100 -D__HP_CURSES $(KFLAGS)' ; \
5218                         ;; \
5219            [AB].11.1*)  KFLAGS='-DHPUX1100 -D__HP_CURSES $(KFLAGS)' ; \
5220                         ;; \
5221            [AB].11.?*)  KFLAGS='-DHPUX1100 -D__HP_CURSES $(KFLAGS)' ; \
5222                         AFLAGS='' ; LIBS='-lcurses' ;; \
5223         esac ; \
5224         OFLAGS=$${OFLAGS:-$$AFLAGS} ; \
5225         $(MAKE) "SHELL=/usr/bin/sh" xermit KTARGET=$${KTARGET:-$(@)} \
5226         "CC=$(CC)" "CC2=$(CC2)" \
5227         "CFLAGS = -DHPUX10 -DDIRENT -DSTERMIOX -DCK_DSYSINI -DHDBUUCP \
5228         -DCK_CURSES -DCK_WREFRESH -DTCPSOCKET -DCK_REDIR -DRENAME -DFNFLOAT \
5229         $$KFLAGS $$OFLAGS" \
5230         "LNKFLAGS=-s $(LNKFLAGS)" "LIBS = -lm $$LIBS $(KLIBS)"
5231
5232 # This is a kludge, copying hpux0900gcc and adapting hpux1000
5233 # (add CC and CC2, drop the A1.[0||1])
5234 # Builds w/ no compiler warnings but minimally tested.
5235 #
5236 hpux1000gcc:
5237         @MESSAGE1="using the gcc compiler $(MESSAGE1)" \
5238         $(MAKE) hpux1000 KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
5239         "KFLAGS = $(KFLAGS)" OFLAGS=" -DCK_ANSIC -funsigned-char -O2"
5240
5241 # Trusted HP-UX 10
5242 # echo KFLAGS=$(KFLAGS) YTARGET YTARGET=$(YTARGET) $(XTARGET) ;
5243 hpux1000t:
5244         @case "$(KTARGET)" in \
5245            *+openssl) \
5246                 KENTRY=hpux1000o+openssl ;; \
5247            *gcc) \
5248                 KENTRY=hpux1000gcc ;; \
5249            *o+) KENTRY=hpux1000o+ ;; \
5250            *o)  KENTRY=hpux1000o ;; \
5251            *)   KENTRY=hpux1000 ;; \
5252         esac ; \
5253         MESSAGE1="and support for 'Trusted HP-UX'" \
5254         $(MAKE) $$KENTRY KTARGET=$${KTARGET:-$(@)} \
5255         "KFLAGS= $(KFLAGS) -DHPUX10_TRUSTED" "KLIBS=-lsec"
5256
5257 hpux1000to:
5258         $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
5259
5260 hpux1000to+:
5261         $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
5262
5263 hpux1000tgcc:
5264         $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
5265
5266 hpux1000to+openssl:
5267         $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
5268
5269 hpux1000tgcc+openssl:
5270         $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
5271
5272 #HP-9000 HP-UX 10.00 and higher with ANSI prototyping and optimization.
5273 #PA-RISC only, no Motorola or other hardware is support in HP-UX 10.00++.
5274 #The unbundled optional compiler is required.
5275 #Your path should start with /opt/ansic/bin.
5276 # -Wl,-Fw = Remove stack unwind table (info used by debuggers).
5277 # +O2 makes a smaller executable (= -O = Level-1 and global optimization).
5278 # +O3 adds interprocedural global optimization, makes a bigger executable.
5279 # +Onolimit allows all modules to be optimized, no matter how complex.  But:
5280 #  (a) +Onolimit does not seem to always be there in HP-UX 10.00, and:
5281 #  (b) some modules might take hours on low-memory and/or slow systems.
5282 # The following are PA-RISC-specific optimizations:
5283 # +ESlit = Consolidate strings in read-only memory.
5284 # +ESfsc = Inline millicode calls when comparing pointers.
5285 # You might need to configure your kernel for a maxdsiz of 0x0B000000 (176MB)
5286 # or greater to prevent the optimizer from running out of space.
5287 # December 2001: +ESlit +ESsfc removed because not supported on IA64.
5288 # Somebody who cares can use 'model' to see whether it's PA-RISC or IA64
5289 # and include the architecture-specific optimization flags.  Also note:
5290 # +DA1.1 is PA-only.  If this is included in in HP-UX 11.00 or later,
5291 # then +DS2.0 should be included too (but don't use +DS2.0 without +DA1.1,
5292 # or else the binary won't run on older PA hardware).
5293 hpux1000o:
5294         @case `uname -m` in \
5295           ia64) ;; \
5296           *) MFLAGS='+ESlit +ESsfc' ;; \
5297         esac ; \
5298         MESSAGE1="with PA-RISC-specific optimizations $(MESSAGE1)" \
5299         $(MAKE) "SHELL=/usr/bin/sh" "PATH=/opt/ansic/bin:$$PATH" hpux1000 \
5300         KTARGET=$${KTARGET:-$(@)} "KFLAGS = $(KFLAGS) \
5301         -Aa -D_HPUX_SOURCE -DCK_ANSIC -DUTIMEH \
5302         +O2 -Wl,-Fw $$MFLAGS"
5303
5304 #Like hpux1000o but with "+Onolimit".
5305 #On 700 series set kernel parameter maxdsiz >= 0x0D000000 (=208MB).
5306 #Takes a long time.
5307 hpux1000o+:
5308         @MESSAGE1="and +Onolimit $(MESSAGE1)" KTARGET=$${KTARGET:-$(@)} \
5309         $(MAKE) hpux1000o \
5310         "KFLAGS = $(KFLAGS) +Onolimit"
5311
5312 #HP-UX 10.xx + 11.xx with optimizing ANSI compiler and OpenSSL.
5313 #Define SSLLIB and SSLINC appropriately for your OpenSSL installation.
5314 #Do overwrite the default SSLLIB and SSLINC settings you can also use the
5315 #command-line variable KSSLLIB and KSSLINC like: 
5316 #make hpux1000o+openssl KSSLLIB=-L/opt/openssl/lib KSSLINC=-I/...
5317 #Ditto for the Zlib location.
5318 #This entry works for C-Kermit 8.0.206 on HP-UX 10.20 + 11.11
5319 #with OpenSSL 0.9.6 + 0.9.7
5320 #NOTE: an ANSI C compiler is required for the SSL interface.  If you don't
5321 #have the HP Optimizing ANSI compiler, see the hpux1000gcc+openssl target
5322 #below.
5323 hpux1000o+openssl:
5324         @case "$(KTARGET)" in \
5325            *gcc+*) KENTRY=hpux1000gcc ;; \
5326            *)      KENTRY=hpux1000o ;; \
5327         esac ; \
5328         SSLINC=$${KSSLINC:-$(SSLINC)}; \
5329         SSLLIB=$${KSSLLIB:-$(SSLLIB)}; \
5330         MESSAGE1="and with OpenSSL $(MESSAGE1)" \
5331         $(MAKE) $$KENTRY KTARGET=$${KTARGET:-$(@)} \
5332         KFLAGS="-DCK_AUTHENTICATION -DCK_SSL -DOPENSSL_097 -DZLIB \
5333         $$SSLINC $(KFLAGS)" \
5334         KLIBS="$(KLIBS) \
5335         $$SSLLIB -lssl -lcrypto \
5336         -L/opt/zlib/lib -lz \
5337         " 
5338
5339 #HP-UX 10.00 or higher with OpenSSL 0.9.7.  Compiled with gcc.
5340 #From Chris Chaney, NEC America Inc.  His instructions:
5341 # (1) Install gcc version 3.2.3 & binutils version 2.13.2
5342 #     (used binary depot from http://hpux.cs.utah.edu/)
5343 # (2) Install gcc make version 3.80 from http://hpux.cs.utah.edu/
5344 #
5345 # or: gcc 2.9.2000-12-1 from "Linux to hp-ux 11.0/11i porting kit version 1.0
5346 #     (2CD)" free from:  http://www.software.hp.com
5347 #
5348 # (3) Install openSSL version 0.9.7b from http://www.software.hp.com
5349 # (4) Install flex version 2.5.4 from http://hpux.cs.utah.edu/
5350 # (5) Install gmp version 3.1.1 from http://hpux.cs.utah.edu/
5351 #
5352 #Note from Peter Eichhorn, assyst Munich. It works also without gcc make!
5353 hpux1000gcc+openssl:
5354         $(MAKE) hpux1000o+openssl KTARGET=$${KTARGET:-$(@)}
5355
5356 # Same for HP-UX 11
5357 hpux1100o+openssl:
5358         $(MAKE) hpux1000o+openssl KTARGET=$${KTARGET:-$(@)}
5359
5360 hpux1100gcc+openssl:
5361         $(MAKE) hpux1000gcc+openssl KTARGET=$${KTARGET:-$(@)}
5362
5363 # HP-UX 11
5364 hpux1100:
5365         $(MAKE) hpux1000 KTARGET=$${KTARGET:-$(@)}
5366
5367 hpux1100o:
5368         $(MAKE) hpux1000o KTARGET=$${KTARGET:-$(@)}
5369
5370 hpux1100o+:
5371         $(MAKE) hpux1000o+ KTARGET=$${KTARGET:-$(@)}
5372
5373 hpux1100gcc:
5374         $(MAKE) hpux1000gcc KTARGET=$${KTARGET:-$(@)}
5375
5376 # Trusted HP-UX 11
5377 hpux1100t:
5378         $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
5379
5380 hpux1100to:
5381         $(MAKE) hpux1000to KTARGET=$${KTARGET:-$(@)}
5382
5383 hpux1100to+:
5384         $(MAKE) hpux1000to+ KTARGET=$${KTARGET:-$(@)}
5385
5386 hpux1100tgcc:
5387         $(MAKE) hpux1000tgcc KTARGET=$${KTARGET:-$(@)}
5388
5389 hpux1100to+openssl:
5390         $(MAKE) hpux1000to+openssl KTARGET=$${KTARGET:-$(@)}
5391
5392 hpux1100tgcc+openssl:
5393         $(MAKE) hpux1000tgcc+openssl KTARGET=$${KTARGET:-$(@)}
5394
5395 #Regulus on CIE Systems 680/20
5396 cie:
5397         @echo 'Making C-Kermit $(CKVER) for CIE Systems 680/20 Regulus...'
5398         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
5399         "CFLAGS = -DATTSV -DNOFILEH -DCIE -DNOLEARN $(KFLAGS) -O" "LNKFLAGS ="
5400
5401 # Linux 1.2 or later with gcc, dynamic libraries, ncurses, TCP/IP.
5402 #
5403 # If your Linux system has curses rather than ncurses, use the linuxc
5404 # entry, or if that doesn't work, linuxnc.
5405 #
5406 # The Kermit "large memory model" is used by default to configure big packet
5407 # and script buffers, etc.  For small-memory or limited-resource systems,
5408 # "make linux KFLAGS=-DNOBIGBUF".
5409 #
5410 # -DLINUXFSSTND (Linux File System Standard 1.2) gives UUCP lockfile /var/lock
5411 # with string pid.  Remove this to get /usr/spool/uucp with int pid, used in
5412 # very early Linux versions.  FSSTND 1.2 also says that the PID string in the
5413 # UUCP lock file has leading spaces.  This is a change from FSSTND 1.0, which
5414 # used leading zeros.  Add -DFSSTND10 to support FSSTND 1.0 instead of 1.2.
5415 # I hope subsequent editions of the file-system standard did not change these
5416 # again.
5417 #
5418 # Add -DOLINUXHISPEED (Old Linux High Speed support) to turn on an ugly kludge
5419 # in Linux 1.0 and earlier to support speeds of 57600 and 115200.  Extremely
5420 # old Linux systems (pre-0.99pl15) will not support this.  If OLINUXHISPEED is
5421 # not defined, then only the standard POSIX termios methods of setting the port
5422 # speed will be used, and in this case speeds can be as high as 460800 in most
5423 # modern Linux versions.
5424 #
5425 # -DCK_POSIX_SIG (POSIX signal handling) is good for Linux releases back to at
5426 # least 0.99.14; if it causes trouble for you, remove it from the CFLAGS.
5427 #
5428 # -pipe removes the need for temp files - remove it if it causes trouble.
5429 #
5430 # -funsigned-char makes all characters unsigned, as they should have been
5431 #  in the first place.
5432 #
5433 # Add -DCK_DSYSINI if you want a shared system-wide init file.
5434 #
5435 # See ckubwr.txt about -DNOCOTFMC.  In fact, you really should read the
5436 # entire Linux section of ckubwr.txt.
5437 #
5438 # The "linuxa" entry can be referenced directly on LIBC systems, but not
5439 # GLIBC, where -lcrypt is required.  The "make linux" entry should normally
5440 # be used for all builds on all Linux distributions unless you have special
5441 # requirements, in which case keep reading.  CK_NEWTERM added after 7.0B04
5442 # due to new complaints about ncurses changing buffering of tty.
5443
5444 linuxa:
5445         @echo 'Making C-Kermit $(CKVER) for Linux 1.2 or later...'
5446         @echo 'IMPORTANT: Read the comments in the linux section of the'
5447         @echo 'makefile if you have trouble.'
5448         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5449         "CFLAGS = -O -DLINUX -pipe -funsigned-char -DFNFLOAT -DCK_POSIX_SIG \
5450         -DCK_NEWTERM -DTCPSOCKET -DLINUXFSSTND -DNOCOTFMC -DPOSIX \
5451         -DUSE_STRERROR $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" "LIBS = $(LIBS) -lm"
5452
5453 # As above but with profiling
5454 linuxp:
5455         $(MAKE) linuxa KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS) -pg" \
5456         "LIBS=-pg -lcrypt -lresolv"
5457
5458 #New primary Linux entry for C-Kermit 8.0, replacing big nested
5459 #if-then-else construction full of repeated clauses with a simpler scheme
5460 #for automatically detecting:
5461 # . Old versus new pty handling (new == glibc 2.1++)
5462 # . Presence or absence of librypt.a and <crypt.h>
5463 # . Presence or absence of libresolv.a
5464 #Unlike the previous scheme, this one is easily extended to include more tests.
5465 #Note: The HAVE_PTMX test was previously "if test -c /dev/ptmx" but this was
5466 #not sufficient for Debian 2.1, because although it had /dev/ptmx, it did not
5467 #have grantpt(), unlockpt(), or ptsname(), so has been changed to look for a
5468 #grantpt() prototype in the header files.  Warning: uses a temporary file in
5469 #the current directory.  Modified in 8.0.206 to allow for libraries that
5470 #contain .so's but no .a's, e.g. Mandrake 9.0.
5471 #HAVE_BAUDBOY added in 8.0.210 for Red Hat -- it's like AIX ttylock().
5472 linux:
5473         @if test \
5474         `grep grantpt /usr/include/*.h /usr/include/sys/*.h | wc -l` -gt 0; \
5475         then if test -c /dev/ptmx; then HAVE_PTMX='-DHAVE_PTMX'; \
5476         else HAVE_PTMX=''; fi; fi ; \
5477         if test -f /usr/include/baudboy.h ; \
5478         then HAVE_BAUDBOY='-DHAVE_BAUDBOY' ; \
5479         else HAVE_BAUDBOY='' ; fi ; \
5480         $(MAKE) KTARGET=$${KTARGET:-$(@)} \
5481         "KFLAGS=-DCK_NCURSES -I/usr/include/ncurses \
5482         $$HAVE_PTMX $$HAVE_BAUDBOY \
5483         `if test -f /usr/include/crypt.h; then echo -DHAVE_CRYPT_H; fi` \
5484         $(KFLAGS)" \
5485         "LIBS=-lncurses \
5486         `if test -f /usr/lib/libresolv.a || test -f /usr/lib/libresolv.so; \
5487         then echo -lresolv; fi` \
5488         `if test -f /usr/lib/libcrypt.a || test -f /usr/lib/libcrypt.so; \
5489         then echo -lcrypt; fi`" \
5490         linuxa
5491
5492 # As above but for Linux systems that have no <sys/select.h>.
5493 linuxns:
5494         $(MAKE) linux KTARGET=$${KTARGET:-$(@)} KFLAGS=-DNO_SYS_SELECT_H
5495
5496 # As above, but forces use of curses rather than ncurses.
5497 # Add -ltermcap to LIBS if necessary.
5498 # Also watch out for libcurses and/or libtermcap having been moved.
5499 # In that case you might need something like:
5500 #  "LIBS = -L/usr/lib/curses -lcurses -L/usr/lib/termcap -ltermcap"
5501
5502 linuxc:
5503         @if test \
5504         `grep grantpt /usr/include/*.h /usr/include/sys/*.h | wc -l` -gt 0; \
5505         then if test -c /dev/ptmx; then HAVE_PTMX='-DHAVE_PTMX'; \
5506         else HAVE_PTMX=''; fi; fi ; \
5507         $(MAKE) KTARGET=$${KTARGET:-$(@)} \
5508         "KFLAGS=-DCK_CURSES $$HAVE_PTMX \
5509         `if test -f /usr/lib/libcrypt.a; then echo -DHAVE_CRYPTH; fi` \
5510         $(KFLAGS)" \
5511         "LIBS=-lcurses \
5512         `if test -f /usr/lib/libresolv.a; then echo -lresolv; fi` \
5513         `if test -f /usr/lib/libcrypt.a; then echo -lcrypt; fi`" \
5514         linuxa
5515
5516 # As above but with with no curses support, for example because you installed
5517 # the developer tools but did not install (n)curses.
5518 linuxnc:
5519         @if test \
5520         `grep grantpt /usr/include/*.h /usr/include/sys/*.h | wc -l` -gt 0; \
5521         then if test -c /dev/ptmx; then HAVE_PTMX='-DHAVE_PTMX'; \
5522         else HAVE_PTMX=''; fi; fi ; \
5523         $(MAKE) KTARGET=$${KTARGET:-$(@)} \
5524         "KFLAGS= $$HAVE_PTMX \
5525         `if test -f /usr/lib/libcrypt.a; then echo -DHAVE_CRYPTH; fi` \
5526         $(KFLAGS)" "LIBS= \
5527         `if test -f /usr/lib/libresolv.a; then echo -lresolv; fi` \
5528         `if test -f /usr/lib/libcrypt.a; then echo -lcrypt; fi`" \
5529         linuxa
5530
5531 #Sharp Zaurus SL-5500 - Linux based
5532 zsl5500:
5533         @echo 'Making C-Kermit $(CKVER) for Sharp Zaurus SL-5500...'
5534         @touch ckcpro.c
5535         @touch wart
5536         $(MAKE) linuxnc KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DZSL5500" \
5537         "CC = gcc" "CC2 = gcc"
5538
5539 # A minimum-size version for Linux that does only scripting and
5540 # serial communication -- no networks, no file transfer.
5541 linuxso:
5542         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5543         "CFLAGS = -O -DLINUX -pipe -funsigned-char -DPOSIX -DCK_POSIX_SIG \
5544         -DLINUXFSSTND -DNOCOTFMC -DNOXFER -DNODEBUG -DNOCSETS -DNOHELP \
5545         -DNONET -DMINIDIAL -DNOSCRIPT -DNOIKSD -DNOPUSH $(KFLAGS)" \
5546         "LNKFLAGS = $(LNKFLAGS)" "LIBS = "
5547
5548 #Mklinux DR3 has horrible bug in <utmpbits.h> - see ckufio.c.
5549 mklinux:
5550         $(MAKE) KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DUTMPBUG" \
5551         "LIBS=-lcrypt -lresolv" linuxa
5552
5553 #LinuxPPC 1999
5554 linuxppc:
5555         @echo 'Making C-Kermit $(CKVER) for LinuxPPC 1999...'
5556         @if test -f /usr/lib/libcrypt.a; then \
5557             if test -f /usr/lib/libresolv.a; then \
5558                 $(MAKE) KTARGET=$${KTARGET:-$(@)} \
5559                 "KFLAGS=$(NCURSES_CPP) -DHAVE_CRYPT_H \
5560                 -DLOCK_DIR=\\\\\\"\"/var/lock/modem\\\\\\"\" $(KFLAGS)" \
5561                 "LIBS=-lncurses -lresolv -lcrypt" linuxa ; \
5562             else \
5563                 $(MAKE) KTARGET=$${KTARGET:-$(@)} \
5564                 "KFLAGS=$(NCURSES_CPP) -DHAVE_CRYPT_H \
5565                 -DLOCK_DIR=\\\\\\"\"/var/lock/modem\\\\\\"\" $(KFLAGS)" \
5566                 "LIBS=-lncurses -lcrypt" linuxa ; \
5567             fi \
5568         else \
5569             if test -f /usr/lib/libresolv.a; then \
5570                 $(MAKE) KTARGET=$${KTARGET:-$(@)} \
5571                 "KFLAGS=$(NCURSES_CPP) \
5572                 -DLOCK_DIR=\\\\\\"\"/var/lock/modem\\\\\\"\" $(KFLAGS)" \
5573                 "LIBS=-lncurses -lresolv" linuxa ; \
5574             else \
5575                 $(MAKE) KTARGET=$${KTARGET:-$(@)} \
5576                 "KFLAGS=$(NCURSES_CPP) \
5577                 -DLOCK_DIR=\\\\\\"\"/var/lock/modem\\\\\\"\" $(KFLAGS)" \
5578                 "LIBS=-lncurses" linuxa ; \
5579             fi \
5580         fi
5581
5582
5583 # The remaining Linux entries are for special or customized builds.  They
5584 # have not been generalized like the ones above.  Ideally, we should allow
5585 # for every combination of libc vs glibc, gcc vs egcs, curses vs ncurses,
5586 # Kerberos IV vs Kerberos V vs SRP (in any combination), and so on --
5587 # volunteers welcome.
5588
5589 # If you get "Internal compiler error xxx, output pipe has been closed",
5590 # try removing -pipe.
5591
5592 # Like "make linux" but built with egcs rather than gcc.
5593 linuxegcs:
5594         @echo 'Making C-Kermit $(CKVER) for Linux 1.2 or later with egcs...'
5595         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = egcs" "CC2 = egcs" \
5596         "CFLAGS = -O -DLINUX -pipe -funsigned-char \
5597         -DPOSIX -DCK_POSIX_SIG -DCK_NCURSES -DNOCOTFMC \
5598         -DTCPSOCKET -DLINUXFSSTND $(KFLAGS)" \
5599         "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lncurses -lcrypt -lresolv"
5600
5601 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.1 (no K4 compatibility).
5602 linux+krb5:
5603         @echo 'Making C-Kermit $(CKVER) for Linux on Intel with Kerberos...'
5604         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5605         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5606         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 \
5607         -DCK_ENCRYPTION -DCK_DES -DCK_CURSES -DCK_POSIX_SIG \
5608         -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H $(K5INC) $(K5INC)/krb5 \
5609         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5610         "LIBS = $(K5LIB) -lncurses -ltermcap -ldes425 -lkrb5 \
5611         -lcom_err -lk5crypto -lgssapi_krb5 -lcrypt -lresolv"
5612
5613 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.1 with K4 compatibility.
5614 #
5615 # Requires the Kerberos 1.2.1 be compiled with KRB4 compatibility.
5616 linux+krb5+krb4:
5617         @echo 'Making C-Kermit $(CKVER) for Linux on Intel with Kerberos...'
5618         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5619         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5620         -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
5621         -DCK_ENCRYPTION -DCK_DES -DCK_CURSES -DCK_POSIX_SIG \
5622         -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H $(K5INC) $(K5INC)/krb5 \
5623         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5624         "LIBS = $(K5LIB) -lncurses -ltermcap -lkrb4 -ldes425 -lkrb5 \
5625         -lcom_err -lk5crypto -lcrypt -lgssapi_krb5 -lresolv"
5626
5627 # Linux on Intel PC with SRP 1.7.4 using GNU MP, Krypto, and Eric Young's
5628 # DES library.  Remove the -DCK_DES, -DLIBDES and -ldes if you do not have
5629 # Eric Young's# libdes.a installed.
5630 #
5631 linux+srp+gmp:
5632         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
5633         $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5634         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5635         -DCK_AUTHENTICATION -DCK_SRP \
5636         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
5637         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5638         $(SRPINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5639         "LIBS = $(SRPLIB) \
5640         -lncurses -ltermcap -lsrp -lgmp -ldes -lkrypto -lcrypt -lresolv"
5641
5642 linux+srp+gmp+no-des:
5643         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP ...'
5644         $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5645         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5646         -DCK_AUTHENTICATION -DCK_SRP \
5647         -DCK_ENCRYPTION -DCK_CAST \
5648         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5649         $(SRPINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5650         "LIBS = $(SRPLIB) \
5651         -lncurses -ltermcap -lsrp -lgmp -lkrypto -lcrypt -lresolv"
5652
5653 linux+srp+gmp-export:
5654         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
5655         $(MAKE) srpmit-export KTARGET=$${KTARGET:-$(@)} \
5656         "CC = gcc" "CC2 = gcc" \
5657         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5658         -DCK_AUTHENTICATION -DCK_SRP -DFNFLOAT \
5659         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5660         $(SRPINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5661         "LIBS = $(SRPLIB) \
5662         -lncurses -ltermcap -lsrp -lgmp -lkrypto -lcrypt -lm -lresolv"
5663
5664 linux+srp+gmp+pam:
5665         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
5666         $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5667         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5668         -DCK_AUTHENTICATION -DCK_SRP \
5669         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
5670         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5671         -DCK_PAM -DFNFLOAT $(SRPINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5672         "LIBS = $(SRPLIB) -lncurses -ltermcap -lsrp -lgmp -ldes -lkrypto \
5673         -lcrypt -lpam -ldl -lm -lresolv"
5674
5675 #Linux on Intel PC with SRP 1.7.4 built with OpenSSL for Big Number Math
5676 #and Cryptographic functionality.
5677 #
5678 linux+srp:
5679         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
5680         $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5681         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5682         -DCK_AUTHENTICATION -DCK_SRP \
5683         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
5684         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5685         $(SRPINC) $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5686         "LIBS = $(SRPLIB) $(SSLLIB) \
5687         -lncurses -ltermcap -lsrp -lkrypto -lcrypto -lcrypt -lresolv"
5688
5689 linux+srp+pam:
5690         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
5691         $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5692         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5693         -DCK_AUTHENTICATION -DCK_SRP \
5694         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
5695         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5696         -DCK_PAM -DFNFLOAT $(SRPINC) $(SSLINC) $(KFLAGS)" \
5697         "LNKFLAGS = $(LNKFLAGS)" \
5698         "LIBS = $(SRPLIB) $(SSLLIB) -lncurses -ltermcap -lsrp -lkrypto \
5699         -lcrypto -lcrypt -lpam -ldl -lm -lresolv"
5700
5701 linux+shadow+pam:
5702         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with Shadow+PAM...'
5703         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5704         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5705         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5706         -DCK_SHADOW -DCK_PAM -DFNFLOAT \
5707         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5708         "LIBS = -lncurses -ltermcap -lcrypt -lpam -ldl -lm -lresolv"
5709
5710 #Linux configured for SSL/TLS.
5711 #Remove -ltermcap if it causes trouble e.g. in Debian 2.2.
5712 #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5713 linux+openssl:
5714         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SSL/TLS...'
5715         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5716         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5717         -DCK_AUTHENTICATION -DCK_SSL \
5718         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5719         -DFNFLOAT $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5720         "LIBS= $(SSLLIB) \
5721         -lncurses -ltermcap -lssl -lcrypto -lm -lresolv -lcrypt"
5722
5723 #Linux configured for SSL/TLS and Shadow Passwords
5724 #Remove -ltermcap if it causes trouble e.g. in Debian 2.2.
5725 #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5726 linux+openssl+shadow:
5727         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SSL/TLS...'
5728         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5729         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5730         -DCK_AUTHENTICATION -DCK_SSL \
5731         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5732         -DFNFLOAT -DCK_SHADOW $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5733         "LIBS= $(SSLLIB) \
5734         -lncurses -ltermcap -lssl -lcrypto -lm -lresolv -lcrypt"
5735
5736 #Linux configured for SSL/TLS, ZLIB, PAM and Shadow Passwords
5737 #Remove -ltermcap if it causes trouble e.g. in Debian 2.2.
5738 #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5739 linux+openssl+zlib+shadow+pam:
5740         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SSL/TLS...'
5741         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5742         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5743         -DCK_AUTHENTICATION -DCK_SSL -DCK_PAM -DZLIB \
5744         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5745         -DFNFLOAT -DCK_SHADOW $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5746         "LIBS= $(SSLLIB) \
5747         -lncurses -ltermcap -lssl -lcrypto -lm -lresolv -lcrypt -lz -lpam -ldl"
5748
5749 #Linux on Intel PC with SRP and SSL/TLS.
5750 #
5751 # libsrp.a should be build with OpenSSL
5752 # Requires the Kerberos 1.2.2 or higher to be compiled with KRB4 compatibility.
5753 #Remove -ltermcap if it causes trouble e.g. in Debian 2.2.
5754 #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5755 linux+srp+openssl:
5756         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
5757         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5758         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5759         -DCK_AUTHENTICATION -DCK_SRP \
5760         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
5761         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5762         $(SRPINC) $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5763         "LIBS = $(SRPLIB) $(SSLLIB) \
5764         -lncurses -ltermcap -lsrp -lssl -lkrypto -lcrypto \
5765         -lcrypt -lresolv"
5766
5767 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2 and SRP.
5768 #
5769 # libsrp.a should be build with GNU MP (libgmp.a)
5770 # instead of AT&T CryptoLib (libcrypt.a) due to naming conflicts with
5771 # standard distribution Linux libraries.
5772 # Requires the Kerberos 1.2.2 or higher to be compiled with KRB4 compatibility.
5773 linux+krb5+krb4+srp:
5774         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB54+SRP...'
5775         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5776         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5777         -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5778         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
5779         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5780         $(K5INC) $(K5INC)/krb5 $(SRPINC) \
5781         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5782         "LIBS = $(K5LIB) $(SRPLIB) \
5783         -lncurses -ltermcap -lsrp -lgmp -lgssapi_krb5 -lkrypto \
5784         -ldes -lkrb4 -ldes425 -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv"
5785
5786 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SRP and SSL/TLS.
5787 #
5788 # libsrp.a should be build with OpenSSL
5789 # Requires the Kerberos 1.2.2 or higher to be compiled with KRB4 compatibility.
5790 # Requires OpenSSL 0.9.6a or higher
5791 #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5792 linux+krb5+krb4+srp+openssl:
5793         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
5794         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5795         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5796         -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5797         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
5798         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5799         $(K5INC) $(K5INC)/krb5 $(SRPINC) $(SSLINC) \
5800         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5801         "LIBS = $(K5LIB) $(SRPLIB) $(SSLLIB) \
5802         -lncurses -ltermcap -lsrp \
5803         -lkrb4 -lssl -lkrypto -lcrypto \
5804         -lkrb5 -lcom_err -lk5crypto -lgssapi_krb5 -lcrypt -lresolv"
5805
5806 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SSL/TLS.
5807 #
5808 # libsrp.a should be build with OpenSSL
5809 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5810 #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5811 linux+krb5+krb4+openssl:
5812         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL...'
5813         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5814         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5815         -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5816         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
5817         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5818         $(K5INC) $(K5INC)/krb5 $(SSLINC) \
5819         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5820         "LIBS = $(K5LIB) $(SSLLIB) \
5821         -lncurses -ltermcap \
5822         -lkrb4 -lssl -lcrypto -lkrb5 -lcom_err \
5823         -lk5crypto -lgssapi_krb5 -lcrypt -lresolv"
5824
5825 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.1, SSL/TLS.
5826 #
5827 # libsrp.a should be build with OpenSSL
5828 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5829 # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5830 linux+krb5+krb4+openssl+shadow:
5831         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL...'
5832         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5833         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5834         -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5835         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_SHADOW \
5836         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5837         $(K5INC) $(K5INC)/krb5 $(SSLINC) \
5838         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5839         "LIBS = $(K5LIB) $(SSLLIB)  \
5840         -lncurses -ltermcap \
5841         -lkrb4 -lssl -lcrypto -lkrb5 -lcom_err \
5842         -lk5crypto -lgssapi_krb5 -lcrypt -lresolv"
5843
5844 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2, SSL/TLS.
5845 #
5846 # libsrp.a should be build with OpenSSL
5847 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5848 # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5849 linux+krb5+krb4+openssl+zlib+shadow:
5850         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL...'
5851         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5852         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5853         -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 -DZLIB \
5854         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_SHADOW \
5855         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5856         $(K5INC) $(K5INC)/krb5 $(SSLINC) \
5857         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5858         "LIBS = $(K5LIB) $(SSLLIB) \
5859         -lncurses -ltermcap \
5860         -lkrb4 -lssl -lcrypto -lkrb5 -lcom_err \
5861         -lk5crypto -lgssapi_krb5 -lcrypt -lresolv -lz"
5862
5863 linux+krb5+krb4+srp-export:
5864         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
5865         $(MAKE) xermit-export KTARGET=$${KTARGET:-$(@)} \
5866         "CC = gcc" "CC2 = gcc" \
5867         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5868         -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5869         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5870         $(K5INC) $(K5INC)/krb5 $(SRPINC) \
5871         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5872         "LIBS = $(SRPLIB) $(K5LIB) \
5873         -lncurses -ltermcap -lsrp -lgmp -lkrb4 -ldes425 -lkrb5 -lgssapi_krb5 \
5874         -lcom_err -lk5crypto -lkrypto -lcrypt -lresolv"
5875
5876 linux+krb5+krb4+srp+pam:
5877         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
5878         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5879         "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5880         -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5881         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
5882         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5883         -DCK_PAM $(K5INC) $(K5INC)/krb5 $(SRPINC) \
5884         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5885         "LIBS = $(SRPLIB) $(K5LIB) \
5886         -lncurses -ltermcap -lsrp -lgmp -ldes -lkrb4 -ldes425 -lkrb5 \
5887         -lcom_err -lk5crypto -lgssapi_krb5 -lkrypto -lcrypt -lpam -ldl \
5888         -lresolv"
5889
5890 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SRP and SSL/TLS.
5891 # and PAM.
5892 #
5893 # libsrp.a should be build with OpenSSL
5894 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5895 # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5896 linux+krb5+krb4+srp+openssl+pam-debug:
5897         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
5898         $(MAKE) xermit-debug KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5899         "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5900         -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5901         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM \
5902         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5903         -w -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG $(K5INC) $(K5INC)/krb5 \
5904         $(SRPINC) $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5905         "LIBS = $(SRPLIB) $(K5LIB) $(SSLLIB) \
5906         -lncurses -ltermcap -lsrp -lkrb4 -lssl -lkrypto -lcrypto \
5907         -lkrb5 -lcom_err -lk5crypto -lgssapi_krb5 -lcrypt -lresolv -lpam -ldl"
5908
5909 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.1, SRP and SSL/TLS.
5910 # and PAM.
5911 #
5912 # libsrp.a should be build with OpenSSL
5913 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5914 # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5915 linux+krb5+krb4+srp+openssl+pam:
5916         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
5917         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5918         "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5919         -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5920         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM \
5921         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5922         $(K5INC) $(K5INC)/krb5 $(SRPINC) $(SSLINC) \
5923         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5924         "LIBS = $(SRPLIB) $(K5LIB) $(SSLLIB)  \
5925         -lm -lncurses -ltermcap -lsrp \
5926         -lkrb4 -lssl -lkrypto  -lcrypto -lgssapi_krb5 \
5927         -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl"
5928
5929 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SRP, OpenSSL
5930 # with ZLIB and PAM
5931 #
5932 # libsrp.a should be build with OpenSSL
5933 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5934 # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5935 linux+krb5+krb4+srp+openssl+zlib+pam:
5936         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
5937         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5938         "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5939         -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5940         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM -DZLIB \
5941         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5942         $(K5INC) $(K5INC)/krb5 $(SRPINC) $(SSLINC) \
5943         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5944         "LIBS = $(SRPLIB) $(K5LIB) $(SSLLIB) \
5945         -lm -lncurses -ltermcap -lsrp \
5946         -lkrb4 -lssl -lkrypto  -lcrypto -lgssapi_krb5 \
5947         -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl -lz"
5948
5949 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SRP, OpenSSL
5950 # with ZLIB, Shadow Passwords, and PAM
5951 #
5952 # libsrp.a should be build with OpenSSL
5953 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5954 # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5955 linux+krb5+krb4+srp+openssl+zlib+shadow+pam:
5956         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
5957         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5958         "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5959         -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5960         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM -DZLIB \
5961         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5962         -DCK_SHADOW $(K5INC) $(K5INC)/krb5 $(SRPINC) $(SSLINC) \
5963         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5964         "LIBS = $(SRPLIB) $(K5LIB) $(SSLLIB) \
5965         -lm -lncurses -ltermcap -lsrp -lkrypto \
5966         -lkrb4 -lssl -lcrypto -lgssapi_krb5 \
5967         -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl -lz"
5968
5969 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, OpenSSL
5970 # with Shadow Passwords, PAM
5971 #
5972 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5973 linux+krb5+krb4+openssl+shadow+pam:
5974         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL,...'
5975         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5976         "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5977         -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5978         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM \
5979         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
5980         -DCK_SHADOW $(K5INC) $(K5INC)/krb5 $(SSLINC) \
5981         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
5982         "LIBS = $(K5LIB) $(SSLLIB) \
5983         -lm -lncurses -ltermcap \
5984         -lkrb4 -lssl -lcrypto -lgssapi_krb5 \
5985         -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl"
5986
5987 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, OpenSSL
5988 # with ZLIB, Shadow Passwords, PAM
5989 #
5990 # libsrp.a should be build with OpenSSL
5991 # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
5992 # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
5993 linux+krb5+krb4+openssl+zlib+shadow+pam:
5994         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
5995         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
5996         "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
5997         -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB5 -DKRB4 -DKRB524 \
5998         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM -DZLIB \
5999         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
6000         -DCK_SHADOW $(K5INC) $(K5INC)/krb5 $(SSLINC) \
6001         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
6002         "LIBS = $(K5LIB) $(SSLLIB) \
6003         -lm -lncurses -ltermcap \
6004         -lkrb4 -lssl -lcrypto -lgssapi_krb5 \
6005         -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl -lz"
6006
6007 #Red Hat 9 - full install includes Kerberos 5 (4 compat), PAM, SSL.
6008 #Also works around bug in curses in which terminal goes dead after
6009 #returning from file-transfer display.  Assumes OpenSSL 0.9.7 or later.
6010 redhat9:
6011         @echo "Building SECURE Kermit for Red Hat 9.0..."
6012         $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
6013         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH90 -DOPENSSL_097 $(KFLAGS)"
6014
6015 #Ditto plus SRP (which is not normally included with RH Linux).
6016 redhat9+srp:
6017         @echo "Building SECURE Kermit for Red Hat 9.0..."
6018         $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
6019         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH90 -DOPENSSL_097 $(KFLAGS)"
6020
6021 #Red Hat Linux 8.0 - full install includes Kerberos 5 (4 compat), PAM, SSL.
6022 #Also works around bug in curses in which terminal goes dead after
6023 #returning from file-transfer display.
6024 redhat80:
6025         @echo "Building SECURE Kermit for Red Hat 8.0..."
6026         $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
6027         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH80 $(KFLAGS)"
6028
6029 redhat80+srp:
6030         @echo "Building SECURE Kermit for Red Hat 8.0..."
6031         $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
6032         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH80 $(KFLAGS)"
6033
6034 #Red Hat Linux 7.3 - full install includes Kerberos 5 (4 compat), PAM, SSL.
6035 #Also works around bug in curses in which terminal goes dead after
6036 #returning from file-transfer display.
6037 redhat73:
6038         @echo "Building SECURE Kermit for Red Hat 7.3..."
6039         $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
6040         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH73 $(KFLAGS)"
6041
6042 redhat73+srp:
6043         @echo "Building SECURE Kermit for Red Hat 7.3..."
6044         $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
6045         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH73 $(KFLAGS)"
6046
6047 #Red Hat Linux 7.2 - full install includes Kerberos 5 (4 compat), PAM, SSL.
6048 #Also works around bug in curses in which terminal goes dead after
6049 #returning from file-transfer display.
6050 redhat72:
6051         @echo "Building SECURE Kermit for Red Hat 7.2..."
6052         $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
6053         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH72 $(KFLAGS)"
6054
6055 redhat72+srp:
6056         @echo "Building SECURE Kermit for Red Hat 7.2..."
6057         $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
6058         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH72 $(KFLAGS)"
6059
6060 #Red Hat Linux 7.1 - full install includes Kerberos 5 (4 compat), PAM, SSL.
6061 #Also works around bug in curses in which terminal goes dead after
6062 #returning from file-transfer display.
6063 redhat71:
6064         @echo "Building SECURE Kermit for Red Hat 7.1..."
6065         $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
6066         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH71 $(KFLAGS)"
6067
6068 redhat71+srp:
6069         @echo "Building SECURE Kermit for Red Hat 7.1..."
6070         $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
6071         KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH71 $(KFLAGS)"
6072
6073 #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, OpenSSL
6074 # with ZLIB and PAM and Shadow passwords
6075 linux+krb5+openssl+zlib+shadow+pam:
6076         @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB5,SSL...'
6077         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
6078         "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
6079         -DCK_AUTHENTICATION -DCK_KERBEROS  -DKRB5 -DCK_SHADOW \
6080         -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM -DZLIB \
6081         -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
6082         $(K5INC) $(K5INC)/krb5 $(SSLINC) \
6083         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
6084         "LIBS = $(K5LIB) $(SSLLIB) \
6085         -lm -lncurses -ltermcap -lssl -lcrypto -lgssapi_krb5 \
6086         -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl -lz"
6087
6088 linuxnotcp:
6089         $(MAKE) linux KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DNONET $(KFLAGS)"
6090
6091 # "make linuxnotcp" with lcc (see http://www.cs.princeton.edu/software/lcc)
6092 # lcc does not understand various gcc extensions:
6093 #  "__inline__" -- can be eliminated by adding "-D__inline__="
6094 #  "__asm__ and "long long" -- in header files, should be surrounded by
6095 #                              "#ifndef(__STRICT_ANSI__)"/"#endif"
6096 #  however, TCP requires some __asm__ functions, so cannot be compiled
6097 linuxnotcp-lcc:
6098         @echo 'Making C-Kermit $(CKVER) for Linux with lcc ...'
6099         @echo 'Read comments in makefile for additional information.'
6100         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = lcc" "CC2 = lcc" \
6101         "CFLAGS = -DLINUX -DPOSIX -DCK_CURSES -DCK_POSIX_SIG \
6102         -UTCPSOCKET -DLINUXFSSTND -DNOLEARN $(KFLAGS)" \
6103         "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
6104
6105 # Linux 0.99.14 thru 1.0 with gcc, dynamic libraries, curses, TCP/IP.
6106 # For Linux 1.2 or later, use "make linux" (above).
6107 #
6108 # -DLINUXFSSTND (Linux File System Standard) gives UUCP lockfile /var/lock with
6109 # string pid.  Remove this and get /usr/spool/uucp with int pid, which was used
6110 # in early Linux versions.
6111 #
6112 # If you get compiler errors regarding <linux/serial.h>, add -DNOHISPEED.
6113 #
6114 # -DCK_POSIX_SIG (POSIX signal handling) is good for Linux releases back to at
6115 # least 0.99.14; if it causes trouble for you, just remove it.
6116 #
6117 # -DCK_CURSES: Here we link with the regular curses library.  But you should
6118 # be using ncurses.  Internally, the ckuusx.c module includes <curses.h>, but
6119 # this really should be <ncurses.h>.  Thus if you have the new curses
6120 # material, you should either install it with the standard names, or else
6121 # create symbolic links from the standard names to the new ones.  If you get
6122 # compile-time errors complaining about data definitions in termcap.h, it
6123 # means you have new kernel material mixed with older libc header files.  To
6124 # fix, add "#include <termios.h>" to the <termcap.h> file.  Or if all this is
6125 # too confusing, create a new makefile entry based on this one, but with
6126 # -DCK_CURSES removed from CFLAGS and the entire LIBS= clause removed.
6127 #
6128 # But wait, there's more.  On most Linux systems, -ltermcap must be included
6129 # in LIBS.  But on others, the linker complains that libtermcap can't be
6130 # found.  In that case, try removing -ltermcap from LIBS=.
6131 #
6132 # But wait, there's more.  The format of the PID string in the UUCP lockfile
6133 # changed between Linux FSSTND 1.0 and 1.2.  In the earlier standard, it had
6134 # leading zeros; in the second, it has leading spaces.  By default this entry
6135 # uses the newer standard.  To force the older one, add -DFSSTND10.
6136 #
6137 # "The nice thing about the Linux standard is there are so many to choose from"
6138 #
6139 # NOTE: Remove -DBIGBUFOK for small-memory or limited-resource systems.
6140 linux10:
6141         @echo 'Making C-Kermit $(CKVER) for Linux 1.0 or earlier...'
6142         @echo 'IMPORTANT: Read the comments in the linux section of the'
6143         @echo 'makefile if you get compilation or link errors.'
6144         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
6145         "CFLAGS = -O -DPOSIX -DCK_CURSES -DCK_POSIX_SIG -DLINUX \
6146         -DTCPSOCKET -DLINUXFSSTND -DOLINUXHISPEED -DNOLEARN $(KFLAGS)" \
6147         "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
6148
6149 #This version was used for Linux prior to C-Kermit 6.0.192.
6150 #Now the "Linux File System Standard" is considered standard, ditto TCP/IP.
6151 linuxold:
6152         @echo 'Making C-Kermit $(CKVER) for Linux...'
6153         @echo 'For FSSTND-recommended UUCP lockfiles, use:'
6154         @echo '  make linux "KFLAGS=-DLINUXFSSTND".'
6155         @echo 'Read comments in makefile for additional options.'
6156         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
6157         "CFLAGS = -O -DLINUX -DPOSIX -DCK_CURSES -DCK_POSIX_SIG -DNOLEARN \
6158         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
6159
6160 # LynxOS 2.2 with GCC compiler, TCP/IP and fullscreen display.
6161 # Probably also works with Lynx 2.1, and maybe even Lynx 2.0.
6162 # -X means use termios serial drivers rather than BSD4.3-style sgtty drivers.
6163 # If you have trouble with this, try "make bsd KFLAGS=-DNOFDZERO".
6164 lynx:
6165         @echo 'Making C-Kermit $(CKVER) for LynxOS 2.2 with TCP/IP'
6166         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
6167         "CFLAGS= -O -DPOSIX -DDIRENT -DSETREUID -DCK_CURSES -DTCPSOCKET \
6168         -DCK_ANSIC -DLYNXOS -DNOLEARN" "LNKFLAGS = -X" "LIBS = -lcurses -lbsd"
6169
6170 lynx22:
6171         $(MAKE) lynx KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
6172
6173 # LynxOS 2.1 with GCC compiler 1.40 and TCP/IP.
6174 lynx21:
6175         @echo 'Making C-Kermit $(CKVER) for LynxOS 2.1 with TCP/IP'
6176         $(MAKE) kermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
6177         "CFLAGS= -O -DSETREUID -DTCPSOCKET -DCK_ANSIC -DBSD4 -DLYNXOS" \
6178         "LIBS = -lbsd"
6179
6180 #SCO Xenix 2.2.1 for IBM PC, XT, PS2/30, or other 8088 or 8086 machine
6181 #Should this not work, try some of the tricks from sco286.
6182 #NOTE: -DRENAME is omitted for early SCO Xenix releases because it didn't
6183 #exist, or its semantics were different from the later POSIX-compliant
6184 #version of rename().
6185 sco86:
6186         @echo 'Making C-Kermit $(CKVER) for SCO Xenix/86...'
6187         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6188         "CFLAGS= -DXENIX -DNOFILEH -DNOIKSD -DNOUNICODE -DNOLEARN \
6189         $(KFLAGS) -Dunix -F 3000 -i -M0me" \
6190         "LNKFLAGS = -F 3000 -i -s -M0me" "LIBS = -lx"
6191
6192 #SCO Xenix/286 2.2.1, e.g. for IBM PC/AT, PS/2 Model 50, etc.
6193 #Reportedly, this "make" can fail simply because of the size of this
6194 #makefile.  If that happens, use "makeL", or edit out some of the
6195 #other entries.  No debugging or character-set translation.
6196 sco286:
6197         @echo 'Making C-Kermit $(CKVER) for SCO Xenix/286...'
6198         @echo 'If make fails, try using makeL.'
6199         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6200         "CFLAGS= -xenix -s -O -LARGE -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP \
6201         -DNOIKSD -DNODEBUG -DNOTLOG -DNOCSETS -DNOLEARN \
6202         $(KFLAGS) -F 3000 -i -M2let16" \
6203         "LIBS = -lx" "LNKFLAGS = -xenix -s -O -LARGE -F 3000 -i -M2let16"
6204
6205 #SCO Xenix/286 2.2.1, e.g. for IBM PC/AT, PS/2 Model 50, etc.
6206 #As above, but with HDBUUCP (This one might need fixing -- see sco286).
6207 sco286hdb:
6208         @echo 'Making C-Kermit $(CKVER) for SCO Xenix/286 with HDB UUCP...'
6209         @echo 'If make fails, try using makeL.'
6210         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6211         "CFLAGS= -s -O -LARGE -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP \
6212         -DHDBUUCP -DNOIKSD -DNOUNICODE -DNOLEARN \
6213         $(KFLAGS) -F 3000 -i -M2let32" \
6214         "LIBS = -lx" "LNKFLAGS = -s -O -LARGE -F 3000 -i -M2let32"
6215
6216 #SCO Xenix/386 2.2.2 and 2.2.3
6217 sco386:
6218         @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.2.2...'
6219         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6220         "CFLAGS= -DXENIX -DNOFILEH -DNOIKSD -DNOREDIRECT -DNOLEARN \
6221         -Dunix -DRDCHK -DNAP -DNOUNICODE $(KFLAGS) -Otcl -M3e" \
6222         "LNKFLAGS = -s" "LIBS = -lx"
6223
6224 #SCO XENIX/386 2.2.3 with Excelan TCP/IP + curses.
6225 # NOTE: This one might need some work in C-Kermit 6.0.
6226 # You might need to include /usr/include/sys/types.h
6227 # containing "typedef char *caddr_t;".  Then at least it compiles.
6228 sco386netc:
6229         @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.2.3 + Excelan TCP'
6230         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6231         "CFLAGS= -I/usr/include/exos -DXENIX -DCK_CURSES -DNOUNICODE \
6232         -Dunix -DRDCHK -DNAP -DTCPSOCKET -DEXCELAN -DNOJC -DNOMKDIR -DNOFILEH \
6233         -DNOLEARN -DNOREDIRECT -DNOIKSD -DNO_DNS_SRV $(KFLAGS) -Otcl -M3e" \
6234         "LNKFLAGS = -s" "LIBS = -lc -lx -lsocket -lcurses -ltermcap"
6235
6236 #SCO XENIX/386 2.3.3 with gcc 1.37 or later...
6237 sco386gcc:
6238         @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.3.3, gcc...'
6239         @echo 'Add -D_NO_PROTOTYPE if you have trouble with Xenix header files'
6240         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
6241         "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
6242         -DNOJC -DNODEBUG -DNOUNICODE -DNOLEARN $(KFLAGS) \
6243         -traditional -fpcc-struct-return -fstrength-reduce \
6244         -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
6245         -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
6246         -DM_SYSIII -DM_SYSV -DM_WORDSWAP -DM_XENIX -DNOIKSD -DNOREDIRECT \
6247         -DPWID_T=int " "LNKFLAGS = -s" "LIBS = -lx"
6248
6249 #As above, but with curses...
6250 sco386gccc:
6251         @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.3.3, gcc...'
6252         @echo 'Add -D_NO_PROTOTYPE if you have trouble with Xenix header files'
6253         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
6254         "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
6255         -DNOJC -DNODEBUG -DCK_CURSES -DNOUNICODE -DNOLEARN $(KFLAGS) \
6256         -traditional -fpcc-struct-return -fstrength-reduce \
6257         -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DNOREDIRECT \
6258         -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
6259         -DM_SYSIII -DM_SYSV -DM_WORDSWAP -DM_XENIX -DNOIKSD \
6260         -DPWID_T=int " "LNKFLAGS = -s" "LIBS = -lx -lcurses -ltermlib"
6261
6262 #SCO UNIX (and ODT) entries...
6263 #
6264 #NOTE: All SCO UNIX entry LIBS should have "-lc_s -lc -lx" IN THAT ORDER (if
6265 #shared C library is desired), or else "-lc -lx" IN THAT ORDER.  Use shared C
6266 #libraries to save memory, but then don't expect to run the resulting binary
6267 #on a different machine.  When using -lc_s, you must also use -lc, because the
6268 #shared C library does not contain all of libc.a.  And in all cases, -lc must
6269 #ALWAYS precede -lx.
6270 #
6271 #ANOTHER NOTE: -DRENAME is included in all SCO UNIX entries.  Remove it if it
6272 #causes trouble.  No harm is done by removing it (see ckuins.txt).
6273 #
6274 #AND ANOTHER: In theory, it should be possible to run SCO UNIX binaries on
6275 #SCO Xenix 2.3 and later.  In practice, this might not work because of the
6276 #libraries, etc.  Also, don't add the -link -z switch (which is supposed to
6277 #root out references to null pointers) because it makes UNIX binaries core
6278 #dump when they are run under Xenix.
6279
6280 #NOTE: -Otcl removed and replaced by -O, since -Otcl produced incorrect code.
6281 #SCO UNIX/386 3.2.0, 3.2.1, and SCO Xenix 2.3.x
6282 sco3r2:
6283         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2.0 or 3.2.1 ...'
6284         @echo 'Warning: If make blows up, edit the makefile to join'
6285         @echo 'the following three continued lines into one line.'
6286         @echo 'Also, remove -DRENAME if _rename unresolved at link time.'
6287         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6288         "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DNOLEARN \
6289         -DRENAME -DNOIKSD -DNOJC $(KFLAGS) -O" \
6290         "LNKFLAGS = -s" "LIBS = -lc -lx"
6291
6292 #SCO UNIX/386 3.2.0 and SCO Xenix 2.3.x with Excelan TCP/IP support.
6293 #In case of compilation or runtime problems, try adding
6294 #"-DUID_T=int -DGID_T=int" to the CFLAGS.  If that doesn't work, try
6295 #"-DUID_T=uid_t -DGID_T=gid_t".
6296 sco3r2net:
6297         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Excelan...'
6298         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6299         "CFLAGS= -I/usr/include/exos -DXENIX -DSVR3 -DNOFILEH -DNOLEARN \
6300         -DHDBUUCP -DRDCHK -DNAP -DRENAME -DTCPSOCKET -DEXCELAN -DNOJC \
6301         -DNOIKSD -DNOREDIRECT $(KFLAGS) -O" \
6302         "LNKFLAGS = -s" "LIBS = -lc -lx -lsocket"
6303
6304 #SCO UNIX/386 3.2.0 and SCO Xenix 2.3.x with Excelan TCP/IP support.
6305 #As above, with curses added.
6306 sco3r2netc:
6307         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Excelan / curses...'
6308         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6309         "CFLAGS= -I/usr/include/exos -DXENIX -DSVR3 -DNOFILEH -DNOLEARN \
6310         -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET -DEXCELAN -DNOJC $(KFLAGS) \
6311         -DRENAME -DCK_CURSES -DNOREDIRECT -DNOIKSD -O" "LNKFLAGS = -s" \
6312         "LIBS = -lc -lx -lsocket -lcurses -ltermcap"
6313
6314 #SCO UNIX 3.2.x or SCO Xenix 2.3.x with Racal InterLan TCP/IP support
6315 # Extra compile flags for other version of Racal InterLan TCP/IP:
6316 # Xenix286/NP621-286, use -Ml -DPARAMH -DINTERLAN -Di286 -DSYSV
6317 # Xenix386/NP621-386, use -DPARAMH -DINTERLAN -Di386 -DSYSV
6318 # ISC386ix/NP622I, use -DSYSV -Di386
6319 # SCO Unix3.2/NP622S, use -DSYSV -Di386 -DSCO_UNIX
6320 # AT&T SVR3.2/NP622A, use -DSYSV -Di386 -DATT
6321 sco3r2netri:
6322         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Racal InterLan...'
6323         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6324         "CFLAGS= -I/usr/include/interlan -DXENIX -DNOFILEH -DHDBUUCP \
6325         -DSVR3 -DRDCHK -DNAP -DTCPSOCKET -DPARAMH -DINTERLAN -Di386 -DSYSV \
6326         -DRENAME -DNOREDIRECT -DNOIKSD -DNOJC -DNOLEARN $(KFLAGS) -Otcl -M3e" \
6327         "LNKFLAGS = -s" "LIBS = -lc -lx -ltcp"
6328
6329 # SCO XENIX/386 2.3.3 SysV with SCO TCP/IP
6330 # System V STREAMS TCP developed by Lachman Associates Inc and
6331 # Convergent Technologies.
6332 # -DRENAME removed since some reports indicate it is not supported
6333 # (whereas others say it is.)
6334 sco3r2lai:
6335         @echo 'Making C-Kermit $(CKVER) for SCO XENIX/386 2.3.3 + TCP/IP...'
6336         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6337         "CFLAGS= -DLAI_TCP -Di386 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
6338         -DNAP -DTCPSOCKET -DPWID_T=int -DNOREDIRECT -DNOIKSD -DNOLEARN \
6339         $(KFLAGS) -Otcl -i -M3e" \
6340         "LNKFLAGS = -i -s" "LIBS = -lc -lx -lsocket"
6341
6342 sco3r2laic:
6343         @echo 'Making C-Kermit $(CKVER) for SCO XENIX/386 2.3.3 + TCP/IP...'
6344         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6345         "CFLAGS= -DLAI_TCP -Di386 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
6346         -DNAP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES -DM_TERMINFO -DNOLEARN \
6347         -DPWID_T=int -DNOREDIRECT -DNOIKSD $(KFLAGS) -Otcl -i -M3e" \
6348         "LNKFLAGS = -i -s" "LIBS = -ltinfo -lc -lx -lsocket"
6349
6350 #SCO UNIX/386 3.2v2 (POSIX job control), shared libraries.
6351 sco3r22:
6352         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 ...'
6353         make wermit KTARGET=$${KTARGET:-$(@)} \
6354         "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNOLEARN \
6355         -DNAP -DRENAME -DPID_T=pid_t -DPWID_T=int -DDIRENT -DNOIKSD \
6356         -DNOREDIRECT $(KFLAGS) -O" \
6357         "LNKFLAGS = -s" "LIBS = -lc_s -lc -lx"
6358
6359 #SCO UNIX/386 3.2v2, POSIX job control, fullscreen file transfer display,
6360 #dynamic memory allocation, shared C library
6361 sco3r22c:
6362         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 ...'
6363         @echo 'Warning: If make blows up, edit the makefile to join'
6364         @echo 'the following four continued lines into one line.'
6365         make wermit KTARGET=$${KTARGET:-$(@)} \
6366         "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DNOLEARN \
6367         -DCK_CURSES -DDIRENT -DRENAME -DNOREDIRECT -DNOIKSD \
6368         -DPID_T=pid_t -DPWID_T=int $(KFLAGS) -O" \
6369         "LNKFLAGS = -s" "LIBS = -lcurses -lc_s -lc -lx"
6370
6371 #SCO UNIX/386 3.2v2 with gcc 1.40 or later (POSIX job control)
6372 sco3r22gcc:
6373         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2, gcc'
6374         @echo 'Warning: If make blows up, edit the makefile to join'
6375         @echo 'the following seven continued lines into one line.'
6376         make wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" \
6377         "CFLAGS= -O -DPOSIX -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
6378         -DNOLEARN -DRENAME -traditional -fpcc-struct-return -fstrength-reduce \
6379         -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
6380         -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
6381         -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
6382         -DPID_T=pid_t -DPWID_T=int -DNOREDIRECT -DNOIKSD $(KFLAGS) " \
6383         "LNKFLAGS = -s" "LIBS = -lc_s -lc -lx"
6384
6385 #SCO UNIX/386 3.2v2 (ODT 1.1) (POSIX job control) with SCO TCP/IP, shared libs
6386 #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
6387 sco3r22net:
6388         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2.2 + TCP/IP...'
6389         @echo 'Warning: If make blows up, edit the makefile to join'
6390         @echo 'the following three continued lines into one line.'
6391         make xermit KTARGET=$${KTARGET:-$(@)} \
6392         "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET \
6393         -DRENAME -DPID_T=pid_t -DPWID_T=int -DDIRENT -DNOREDIRECT -DNOIKSD \
6394         $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lsocket -lc_s -lc -lx"
6395
6396 #As above, but with curses for fullscreen file transfer display.
6397 #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
6398 sco3r22netc:
6399         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 + TCP/IP...'
6400         @echo 'Warning: If make blows up, edit the makefile to join'
6401         @echo 'the following three continued lines into one line.'
6402         make xermit KTARGET=$${KTARGET:-$(@)} "CFLAGS= \
6403         -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET -DRENAME \
6404         -DCK_CURSES -DDIRENT -DNOIKSD -DNOREDIRECT \
6405         -DPID_T=pid_t -DPWID_T=int -O $(KFLAGS)" \
6406         "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
6407
6408 #SCO XENIX 2.3.4, no curses, no TCP/IP, no IKSD.
6409 #This one built and tested in C-Kermit 7.0.
6410 #lcfp is C library floating-point support.
6411 #Use -M3 to generate 32-bit i386 code instead of 16-bit segmented i286 code.
6412 #Use -Me to enable MS nonstandard keywords in system headers.
6413 #Use -W2 or W3 to increase the warning level.
6414 sco234:
6415         @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4...'
6416         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6417         "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK -DNOLEARN \
6418         -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
6419         -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DSCO234 -DDCLGETCWD $(KFLAGS) \
6420         -Otcl" "LNKFLAGS = -s" "LIBS = -lcfp -lc -lx"
6421
6422 #SCO XENIX 2.3.4, no TCP/IP, no IKSD, but with curses.
6423 # Built and tested in C-Kermit 7.0.
6424 # Note: XENIX 2.3.4 does not have newterm() so no point in adding -DCK_NEWTERM.
6425 sco234c:
6426         @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4 + curses...'
6427         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6428         "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK -DNOLEARN \
6429         -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
6430         -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DCK_CURSES -DSCO234 \
6431         -DDCLGETCWD $(KFLAGS) -Otcl" \
6432         "LNKFLAGS = -s" "LIBS = -lcfp -lc -ltinfo -lx"
6433
6434 #SCO XENIX 2.3.4 with SCO TCP/IP and curses, no IKSD.
6435 # Built and tested in C-Kermit 7.0.  TCP/IP works and curses works.
6436 # Previous versions of this target included -lmalloc, but this caused "error:
6437 # " _calloc : symbol defined more than once" at link time so I removed it.
6438 # Results are likely to vary depending on exactly which version of the SDK
6439 # and TCP/IP SDK you have.
6440 sco234netc:
6441         @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4 + TCP + curses...'
6442         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6443         "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK -DNOLEARN \
6444         -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
6445         -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DCK_CURSES -DSCO234 \
6446         -DDCLGETCWD -DTCPSOCKET -DNO_DNS_SRV $(KFLAGS) -Otcl" \
6447         "LNKFLAGS = -s" "LIBS = -ltinfo -lsocket -lcfp -lc -lx"
6448
6449 # SCO 3.2v4.x targets...
6450
6451 #  NOTE: Add -DDCLPOPEN and/or -DDCLFDOPEN to anySCO 3.2v4.x non-gcc entries
6452 #  that complain about fdopen() or popen() at compile time.  They compile OK
6453 #  without these flags as of July 1999.  However, the gcc entries seem to
6454 #  need them, at least for gcc 2.7.2.2.
6455
6456 #  NOTE 2: To enable IKSD support, add:
6457 #  -DCK_LOGIN -DNOGETUSERSHELL -DNOINITGROUPS
6458 #  to CFLAGS (not tested).
6459
6460 #SCO UNIX/386 3.2v4 (POSIX job control), curses, ANSI C compilation,
6461 #<dirent.h> (EAFS) file system.  Remove -lmalloc if it causes trouble.  It was
6462 #put there to avoid core dumps caused by regular libc.a malloc.  Add -J to make
6463 #all chars unsigned.  This version uses select() for CONNECT and also has
6464 #high-precision timers and so might not work on non-TCP systems, in which case
6465 #sco32v4ns should be used instead.
6466 # If you get _ftime redefinition_ complaint, try adding -DODT30 to CFLAGS.
6467 sco32v4:
6468         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
6469         make xermit KTARGET=$${KTARGET:-$(@)} \
6470         "CFLAGS= -DCK_SCO32V4 -DNOFILEH -DHDBUUCP -DCK_CURSES -DM_TERMINFO \
6471         -DNOANSI -DSELECT -DNOIKSD -DDCLGETCWD -NOLSTAT \
6472         -DNOLINKBITS -DDCLGETCWD $(KFLAGS) -O" \
6473         "LNKFLAGS = -s" "LIBS = -lcurses -lmalloc -lsocket -lc_s -lc -lx"
6474
6475 # As above, but with no dependence on sockets library or select().
6476 sco32v4ns:
6477         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
6478         @echo 'No select() and no sockets library.'
6479         make wermit KTARGET=$${KTARGET:-$(@)} \
6480         "CFLAGS= -DCK_SCO32V4 -DNOFILEH -DHDBUUCP -DCK_CURSES -DM_TERMINFO \
6481         -DNOANSI -DNOIKSD -DNOGFTIMER -DCK_POLL -DNAP -DDCLGETCWD -DNOLSTAT \
6482         -DNOLINKBITS -DDCLGETCWD -DNOLEARN -O $(KFLAGS)" \
6483         "LNKFLAGS = -s" "LIBS = -lcurses -lmalloc -lc_s -lc -lx"
6484
6485 #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
6486 #<dirent.h> (EAFS) file system.  With DIRENT, -lc must come before -lx.
6487 #Reportedly it's OK to add -DCK_REDIR and -DCK_WREFRESH, and to remove -lc_s.
6488 #Requires SCO TCP/IP development system or ODT for telnet.h, etc.
6489 #See sco32v4 above for additional comments.
6490 #NOTE: No more room for -Dxxx -- 25 seems to be the limit.  Move some to
6491 #ckcdeb.h or somewhere...
6492 sco32v4net:
6493         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
6494         @echo 'If you get _ftime redefinition_ complaint,'
6495         @echo 'use make sco-odt30.'
6496         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
6497         "CFLAGS= -DNOFILEH -DHDBUUCP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES \
6498         -DNAP -DCK_WREFRESH -DNOLINKBITS -D_IBCS2 -DSELECT -DNOLSTAT \
6499         -DDCLGETCWD -DCK_SCO32V4 -DNOIKSD -O \
6500         $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS) -s" \
6501         "LIBS = $(LIBS) -lcurses -lsocket -lmalloc -lsocket -lc_s -lc -lx"
6502
6503 #SCO UNIX/386 3.2v4 with gcc 1.40 or later, POSIX job control.
6504 #Also see comments in sco32r4 entry.
6505 sco32v4gcc:
6506         make xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" \
6507         "CFLAGS= -O -DNOFILEH -DHDBUUCP -DNOANSI -DCK_CURSES -DM_TERMINFO \
6508         -traditional -fpcc-struct-return -fstrength-reduce -funsigned-char \
6509         -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLINKBITS \
6510         -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DSELECT -DNOLSTAT \
6511         -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 -DDCLGETCWD \
6512         -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
6513         -DDCLPOPEN -DDCLFDOPEN $(KFLAGS) " \
6514         "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
6515
6516 #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
6517 #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
6518 #<dirent.h> (EAFS) file system.  With DIRENT, -lc must come before -lx.
6519 #gcc 1.40 or later.  Also see comments in sco32r4 entry.
6520 sco32v4netgcc:
6521         make xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2=gcc" \
6522         "CFLAGS= -O2 -DNOFILEH -DHDBUUCP -DSELECT -DNOLSTAT \
6523         -DNOANSI -DTCPSOCKET -DCK_CURSES -DM_TERMINFO \
6524         -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLINKBITS \
6525         -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DDCLGETCWD \
6526         -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
6527         -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
6528         -DDCLPOPEN -DDCLFDOPEN $(KFLAGS)" \
6529         "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
6530
6531 #As above but with bgcc BOUNDS CHECKING (for developers only).  -lcheck has
6532 #bounds-checking replacements for malloc, memcpy, bcopy, etc, so must come
6533 #before -lsocket and -lc.
6534 sco32v4netbgcc:
6535         make xermit KTARGET=$${KTARGET:-$(@)} \
6536         "CC = bgcc -pipe -m386" "CC2=bgcc -pipe -m386" \
6537         "CFLAGS= -O1 -g -DNOFILEH -DHDBUUCP -DSELECT \
6538         -DNOANSI -DTCPSOCKET -DCK_CURSES -DM_TERMINFO \
6539         -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLSTAT \
6540         -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DNOLINKBITS \
6541         -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 -DDCLGETCWD \
6542         -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
6543         -DDCLPOPEN -DDCLFDOPEN $(KFLAGS) " \
6544         "LNKFLAGS = -g" "LIBS = -lcurses -lcheck -lsocket -lx"
6545
6546 sco32v4netnd:
6547         @echo sco32v4net with no debug
6548         $(MAKE) "MAKE=$(MAKE)" sco32v4net KTARGET=$${KTARGET:-$(@)} \
6549         "KFLAGS=$(KFLAGS) -DNODEBUG -DNOTLOG" "LIBS=$(LIBS)"
6550
6551 sco3r2netnd:
6552         @echo sco32v4netnd built for SCO XENIX 2.3 under SCO UNIX...
6553         @echo   requires copying /lib/386/Slibc.a to /lib/386/Slibc_s.a and
6554         @echo   getting /lib/386/Slibsocket.a from a XENIX devkit.
6555         @echo   WARNING: poll/CK_POLL supported only on XENIX 2.3.4
6556         echo    For earlier XENIX systems, replace CK_POLL with RDCHK.
6557         $(MAKE) "MAKE=$(MAKE)" sco32v4netnd KTARGET=$${KTARGET:-$(@)} \
6558         "KFLAGS=$(KFLAGS) -x2.3 -DNORENAME -DNOSYMLINK" \
6559         "LNKFLAGS = $(LNKFLAGS) -x2.3" \
6560         "LIBS=-ldir -lcfp $(LIBS)"
6561
6562 #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
6563 #<dirent.h> (EAFS) file system.  With DIRENT, -lc must come before -lx.
6564 #Reportedly it's OK to add -DCK_REDIR and -DCK_WREFRESH, and to remove -lc_s.
6565 #Requires SCO TCP/IP development system or ODT for telnet.h, etc.
6566 #See sco32v4 above for additional comments.
6567 # Note: "xermit" means use the select() version of the CONNECT module.
6568 sco32v4netx:
6569         @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
6570         @echo 'If you get _ftime redefinition_ complaint,'
6571         @echo 'use make sco-odt30.'
6572         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
6573         "CFLAGS= -DNOFILEH -DHDBUUCP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES -DNAP \
6574         -DCK_WREFRESH -DNOLINKBITS -D_IBCS2 -DSELECT -DDCLGETCWD \
6575         -DCK_SCO32V4 -DNOIKSD -DNOLSTAT -O $(KFLAGS)" \
6576         "LNKFLAGS = $(LNKFLAGS) -s" \
6577         "LIBS = $(LIBS) -lcurses -lsocket -lmalloc -lsocket -lc_s -lc -lx"
6578
6579 sco32v4netndx:
6580         @echo sco32v4netx with no debug
6581         $(MAKE) "MAKE=$(MAKE)" sco32v4netx KTARGET=$${KTARGET:-$(@)} \
6582         "KFLAGS=$(KFLAGS) -DNODEBUG -DNOTLOG" "LIBS=$(LIBS)"
6583
6584 sco3r2netndx:
6585         @echo sco32v4netndx built for SCO XENIX 2.3 under SCO UNIX...
6586         @echo   requires copying /lib/386/Slibc.a to /lib/386/Slibc_s.a and
6587         @echo   getting /lib/386/Slibsocket.a from a XENIX devkit.
6588         @echo   WARNING: poll/CK_POLL supported only on XENIX 2.3.4
6589         echo    For earlier XENIX systems, replace CK_POLL with RDCHK.
6590         $(MAKE) "MAKE=$(MAKE)" sco32v4netndx KTARGET=$${KTARGET:-$(@)} \
6591         "KFLAGS=$(KFLAGS) -x2.3 -DNORENAME -DNOSYMLINK" \
6592         "LNKFLAGS = $(LNKFLAGS) -x2.3" \
6593         "LIBS=-ldir -lcfp $(LIBS)"
6594
6595 sco-odt30:
6596         @echo SCO ODT 3.0
6597         $(MAKE) "MAKE=$(MAKE)" sco32v4net KTARGET=$${KTARGET:-$(@)} \
6598         "KFLAGS=$(KFLAGS) -DODT30"
6599
6600 #SCO OpenServer 5.0 (SCO UNIX 3.2v5.0) with SCO development tools, no TCP/IP.
6601 #SCO OSR5 is much more like standard System V than previous SCO releases.
6602 #The SCO development tools include TCP/IP, so this target is only for creating
6603 #artificially limited versions of kermit required by site policy rather than
6604 #the operating system.  NOSYSLOG is included because syslog() requires the
6605 #sockets library.
6606 sco32v500:
6607         @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5...
6608         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
6609         "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
6610         -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
6611         -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DNOSYSLOG \
6612         $(KFLAGS)" \
6613         "LIBS=-lcurses $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
6614
6615 sco32v5:
6616         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sco32v500
6617
6618
6619 #SCO OpenServer 5.0 with networking, SCO development tools.
6620 #Networking libraries are now provided with the OS.
6621 sco32v500net:
6622         @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5...
6623         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
6624         "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
6625         -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
6626         -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DTCPSOCKET \
6627         -DNO_DNS_SRV $(KFLAGS)" \
6628         "LIBS=-lcurses -lsocket $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
6629
6630 sco32v5net:
6631         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sco32v500net
6632
6633 #SCO OpenServer 5.0 with networking and OpenSSL, SCO development tools.
6634 #Networking libraries are now provided with the OS.
6635 sco32v500net+ssl:
6636         @echo Making C-Kermit $(CKVER) for SCO OSR5 with OpenSSL...
6637         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
6638         "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
6639         -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
6640         -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DTCPSOCKET \
6641         -DNO_DNS_SRV -DCK_AUTHENTICATION -DCK_SSL -DCK_TRIGGER \
6642         $(SSLINC) $(SSLLIB) $(KFLAGS)" \
6643         "LIBS=$(SSLLIB) -lcurses -lsocket -lssl -lcrypto $(LIBS)" \
6644         "LNKFLAGS=$(LNKFLAGS)"
6645
6646 #SCO OpenServer 5.0 with gcc, no networking.
6647 #Note: NOSYSLOG required for non-net entries because it requires <socket.h>
6648 sco32v500gcc:
6649         @echo Using gcc...
6650         $(MAKE) "MAKE=$(MAKE)" sco32v500CC=gcc CC2=gcc \
6651         KTARGET=$${KTARGET:-$(@)} "KFLAGS= $(KFLAGS)"
6652
6653 #SCO OpenServer 5.0 with networking, gcc.
6654 sco32v500netgcc:
6655         @echo TCP/IP networking added - using gcc...
6656         $(MAKE) "MAKE=$(MAKE)" sco32v500net CC=gcc CC2=gcc \
6657         KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
6658
6659 #SCO OpenServer 5.0 with networking, gcc, elf.
6660 sco32v500netgccelf:
6661         @echo TCP/IP networking added - using gcc, dynamic elf library
6662         $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc" \
6663         KTARGET=$${KTARGET:-$(@)} "KFLAGS=-O3 -belf" "LNKFLAGS=-belf"
6664
6665 sco32v502:
6666         $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
6667         "KFLAGS=-DSCO_OSR502 $(KFLAGS)"
6668
6669 #SCO OpenServer 5.0.2 with networking, SCO development tools.
6670 sco32v502net:
6671         @echo TCP/IP networking added...
6672         $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
6673         "KFLAGS=-b elf -DSCO_OSR502 $(KFLAGS)"
6674
6675 #SCO OpenServer 5.0.4 (SCO UNIX 3.2v5.0.4) with SCO development tools.
6676 #Like 5.0, but adds high serial speeds.  First POSIX-based SCO version.
6677 #Note: the -O flag is deliberately omitted for /bin/cc (= /usr/ccs/bin/cc).
6678 sco32v504:
6679         @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5.0.4...
6680         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
6681         "CFLAGS= -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
6682         -DSCO_OSR504 -b elf -DPOSIX \
6683         -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
6684         -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DNOSYSLOG $(KFLAGS)" \
6685         "LIBS=-lcurses $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
6686
6687 #SCO OpenServer 5.0.4 with gcc, no networking.
6688 sco32v504gcc:
6689         @echo Using gcc...
6690         $(MAKE) "MAKE=$(MAKE)" sco32v504 "CC=gcc" "CC2=gcc" \
6691         KTARGET=$${KTARGET:-$(@)} "KFLAGS= $(KFLAGS)"
6692
6693 #SCO OpenServer 5.0.4 with networking.
6694 #SCO development tools (/bin/cc = /usr/ccs/bin/cc).
6695 #Optimization deliberately suppressed.
6696 sco32v504net:
6697         @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5.0.4...
6698         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
6699         "CFLAGS= -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
6700         -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
6701         -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DTCPSOCKET \
6702         -b elf -DSCO_OSR504 -DPOSIX -DNO_DNS_SRV $(KFLAGS)" \
6703         "LIBS=-lcurses -lsocket $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
6704
6705 #SCO OpenServer 5.0.4 with networking, gcc.
6706 sco32v504netgcc:
6707         @echo TCP/IP networking added - using gcc...
6708         @echo If gcc crashes on ckwart.c then build it by hand:
6709         @echo " gcc -o wart -DCK_SCOV5 ckwart.c"
6710         $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc" \
6711         KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DSCO_OSR504 -DPOSIX $(KFLAGS)"
6712
6713 #SCO OpenServer 5.0.4 with networking, gcc, elf.
6714 sco32v504netgccelf:
6715         @echo TCP/IP networking added - using gcc, dynamic elf library
6716         $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc"
6717         KTARGET=$${KTARGET:-$(@)} \
6718         "KFLAGS=-DSCO_OSR504 -DPOSIX -O3 -belf $(KFLAGS)" \
6719         LNKFLAGS="-belf"
6720
6721 #SCO OpenServer 5.0.5 (SCO UNIX 3.2v5.0.5) with SCO /bin/cc.
6722 #Like 5.0, but adds high serial speeds.  First POSIX-based SCO version.
6723 #You might have to add "LIBS=-ltinfo" (some do, some don't).
6724 sco32v505:
6725         $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
6726         "KFLAGS=-DSCO_OSR505 -DNOSHADOW -b elf -DPOSIX $(KFLAGS)"
6727
6728 #SCO OpenServer 5.0.5 (SCO UNIX 3.2v5.0.5) with SCO UDK.
6729 #This one can't see the high serial speeds and anything to do with modem
6730 #signals doesn't work because UKD cc has its own alternative universe of
6731 #header files.
6732 sco32v505udk:
6733         $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
6734         "KFLAGS=-DSCO_OSR505 -DDCLTIMEVAL -DNOSHADOW -b elf -DPOSIX $(KFLAGS)"
6735
6736 #SCO OpenServer 5.0.5 with networking, SCO /bin/cc.
6737 #See comments with sco32v505 targets.
6738 sco32v505net:
6739         @echo TCP/IP networking added...
6740         $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
6741         "KFLAGS=-DSCO_OSR505 -DNOSHADOW -b elf -DPOSIX $(KFLAGS)"
6742
6743 #SCO OpenServer 5.0.5 with networking and OpenSSL, SCO /bin/cc.
6744 #See comments with sco32v505 targets.
6745 sco32v505net+ssl:
6746         @echo TCP/IP networking and OpenSSL added...
6747         $(MAKE) "MAKE=$(MAKE)" sco32v500net+ssl KTARGET=$${KTARGET:-$(@)} \
6748         "KFLAGS=-DSCO_OSR505 -DNOSHADOW -b elf -DPOSIX $(KFLAGS) " \
6749
6750 #SCO OpenServer 5.0.5 with networking, SCO UDK.
6751 #See comments with above sco32v505 targets.
6752 sco32v505udknet:
6753         @echo TCP/IP networking added...
6754         $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
6755         "KFLAGS=-DSCO_OSR505 -DDCLTIMEVAL -DNOSHADOW -b elf -DPOSIX $(KFLAGS)"
6756
6757 #SCO OpenServer 5.0.5 with gcc, no networking.
6758 sco32v505gcc:
6759         @echo Using gcc...
6760         $(MAKE) "MAKE=$(MAKE)" sco32v500 "CC=gcc" "CC2=gcc" \
6761         KTARGET=$${KTARGET:-$(@)} \
6762         "KFLAGS=-DSCO_OSR505 -DPOSIX -funsigned-char $(KFLAGS)"
6763
6764 #SCO OpenServer 5.0.5 with gcc, no networking, no shadow passwords.
6765 sco32v505xgcc:
6766         @echo Using gcc...
6767         $(MAKE) "MAKE=$(MAKE)" sco32v500 "CC=gcc" "CC2=gcc" \
6768         KTARGET=$${KTARGET:-$(@)} \
6769         "KFLAGS=-DSCO_OSR505 -DNOSHADOW -DPOSIX -funsigned-char $(KFLAGS)"
6770
6771 #SCO OpenServer 5.0.5 with networking, gcc.
6772 sco32v505netgcc:
6773         @echo TCP/IP networking added - using gcc...
6774         @echo If gcc crashes on ckwart.c then build it by hand:
6775         @echo " gcc -o wart -DCK_SCOV5 ckwart.c"
6776         $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc" \
6777         KTARGET=$${KTARGET:-$(@)} \
6778         "KFLAGS=-DSCO_OSR505 -DNOSHADOW -DPOSIX -funsigned-char $(KFLAGS)"
6779
6780 #egcs is just like gcc but generates ELF by default.
6781 #Or you can include -melf (not -belf) to force it.
6782 sco32v505netegcs:
6783         $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sco32v505netgcc \
6784         KTARGET=$${KTARGET:-$(@)}
6785
6786 #SCO OpenServer 5.0.5 with networking, gcc, elf.
6787 sco32v505netgccelf:
6788         @echo TCP/IP networking added - using gcc, dynamic elf library
6789         $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc" \
6790         "KFLAGS=-DSCO_OSR505 -DPOSIX -funsigned-char -O3 -belf $(KFLAGS)" \
6791         KTARGET=$${KTARGET:-$(@)} LNKFLAGS="-belf"
6792
6793 #SCO OpenServer 5.0.6 with SCO /bin/cc.
6794 # Add -DDCLTIMEVAL when building with UDK.
6795 #Like 5.0.5.   IMPORTANT: Use sco32v506a target for 5.0.6a.
6796 sco32v506:
6797         $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
6798         "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -b elf -DPOSIX $(KFLAGS)"
6799
6800 #SCO OpenServer 5.0.6 with networking, SCO /bin/cc.
6801 # Add -DDCLTIMEVAL when building with UDK.
6802 # IMPORTANT: Use sco32v506a target for 5.0.6a.
6803 sco32v506net:
6804         @echo TCP/IP networking added...
6805         $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
6806         "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -b elf -DPOSIX $(KFLAGS)"
6807
6808 #SCO OpenServer 5.0.6a, no networking, SCO development tools.
6809 #This one has patched sio drivers that, for the first time,
6810 #actually handle modem signals correctly.
6811 # Add -DDCLTIMEVAL when building with UDK.
6812 sco32v506a:
6813         $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
6814         "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR506A -DNEEDMDMDEFS \
6815         -b elf -DPOSIX $(KFLAGS)"
6816
6817 #SCO OpenServer 5.0.6a with networking, SCO development tools.
6818 # Add -DDCLTIMEVAL when building with UDK.
6819 sco32v506anet:
6820         @echo TCP/IP networking added...
6821         $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
6822         "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR506A -DNEEDMDMDEFS \
6823         -b elf -DPOSIX $(KFLAGS)"
6824
6825 #SCO OpenServer 5.0.7, no networking, SCO development tools.
6826 #Adds flags to make PTY and SSH commands work.  These have been tested
6827 #only in 5.0.7 but probably they can also be added to earlier OSR5 targets.
6828 sco32v507:
6829         $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
6830         "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR507 -DNEEDMDMDEFS \
6831         -DHAVE_PTSNAME -DHAVE_PTMX -DHAVE_GRANTPT \
6832         -b elf -DPOSIX $(KFLAGS)"
6833
6834 #SCO OpenServer 5.0.7 as above but with networking.
6835 sco32v507net:
6836         @echo TCP/IP networking added...
6837         $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
6838         "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR507 -DNEEDMDMDEFS \
6839         -DHAVE_PTSNAME -DHAVE_PTMX -DHAVE_GRANTPT \
6840         -b elf -DPOSIX $(KFLAGS)"
6841
6842 #Tandy 16/6000 with Xenix 3.0
6843 #Add more -DNOxxx options to remove features if program won't load.
6844 #Successful operation is a function of program size, physical memory,
6845 #available swap space, etc.  The following stripped-down configuration
6846 #seems to work on most Tandy 6000s.  NOTE: "-+" means allow long variable
6847 #names, needed for C-Kermit 6.0 because some identifiers are not unique
6848 #within the first six characters.
6849 #C-Kermit 7.0 does not build here; "too many defines".
6850 trs16:
6851         @echo 'Making C-Kermit $(CKVER) for Tandy 16/6000, Xenix 3.0...'
6852         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6853         "CFLAGS = -+ -DATTSV -DTRS16 -DNOMKDIR -DDCLPOPEN -DCK_CURSES \
6854         -DNODEBUG -DNOTLOG -DNOHELP -DNOSCRIPT -DNOCSETS -DNOIKSD \
6855         -DNOREDIRECT -DNOSYSLOG -DNOPUTENV -DNOREALPATH -DNOLEARN \
6856         $(KFLAGS) -O" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -+ -n -s"
6857
6858 #MINIX/2.0 32 Bit version for intel 386+ running the POSIX-compliant MINIX
6859 # version 2.0 (The definition of fatal avoids a conflict with a symbol by
6860 # the same name in the curses library.) It is impossible to compile with
6861 # network support since Minix does not support Berkeley sockets.
6862 # Note: use chmem liberally on the compiler passes, make, and the final
6863 # kermit executable. (3 megabytes of memory for each is sufficient.)
6864 # From Terry McConnell, Syracuse U, and Will Rose.  Will says:
6865 # The stacks for make and some compiler passes needed to be increased
6866 # with chmem as follows:
6867 #   make 1MB
6868 #   /usr/lib/em_cemcom.ansi 3MB
6869 #   /usr/lib/em_opt 1MB
6870 #   /usr/lib/i386/cg 1MB
6871 #   /usr/lib/i386/as 1MB
6872 # The compiler temporary directory was set to /usr/tmp via the TMPDIR
6873 # environment variable; more than 1MB of temporary space was needed.
6874 # Kermit itself needs at least 1MB of stack.
6875 minix20:
6876         @echo 'Making C-Kermit $(CKVER) for MINIX 2.0/386...'
6877         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} EXT=o \
6878         "CFLAGS=  -wo -DV7 -DMINIX2 -DMINIX -DSIG_V -D_POSIX_SOURCE \
6879         -DCKCPU=\\\"i-386\\\" -DNOIKSD -Dfatal=myfatal -DCK_CURSES -DNOLEARN \
6880         -DNOSYSLOG -DUSE_MEMCPY -DNOREALPATH $(KFLAGS)" "LIBS= -lcurses"
6881
6882 #MINIX/386 (PC Minix modified by Bruce Evans in Australia for 386 addressing)
6883 # For MINIX 1.5+ (but < 2.0)
6884 minix386:
6885         @echo 'Making C-Kermit $(CKVER) for MINIX/386...'
6886         @echo 'TOTALLY UNTESTED!'
6887         $(MAKE) wermit EXT=s KTARGET=$${KTARGET:-$(@)} \
6888         "CFLAGS= -DV7 -DMINIX -D_POSIX_SOURCE -DNOLEARN $(KFLAGS)"
6889
6890 #MINIX/386 Minix modified by Bruce Evans in Australia to use 386 addressing
6891 minix386gcc:
6892         @echo 'Making C-Kermit $(CKVER) for MINIX/386 with gcc...'
6893         @echo 'TOTALLY UNTESTED!'
6894         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC=gcc -g -O" "CC2=gcc -g" \
6895         "CFLAGS= -DV7 -DMINIX -D_POSIX_SOURCE -DNOLEARN $(KFLAGS)"
6896
6897 #MINIX - 68k version with ACK compiler.
6898 # If you have trouble compiling or running wart, "touch wart".
6899 # If it still doesn't work, "touch ckcpro.c".
6900 # The version configured below has many features removed, including
6901 # the TRANSMIT, MSEND, HELP, and SCRIPT commands, international
6902 # character set support, and the entire script programming language.
6903 # But it does have an interactive command parser.
6904 # Make sure make(1) has (at least) 100000 chmemory!
6905 # If you are using the Amsterdam C compiler, you might have to add "-D__ACK__".
6906 minix68k:
6907         @echo 'Making C-Kermit $(CKVER) for MINIX 68k with ACK...
6908         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6909         "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE -DNOLEARN \
6910         -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
6911         -DNOSCRIPT -DNOCSETS -DNOSPL $(KFLAGS) \
6912         -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
6913
6914 #MINIX - 68k version with c68 compiler.
6915 # If you have trouble compiling or running wart, "touch wart" or
6916 # "touch ckcpro.c". Compiling ckudia.c (no -DNODIAL!) might fail. :-(
6917 # Give c68 250000 bytes of stack+heap; make sure make(1) has at least
6918 # 100000 chmemory.  On a 1MB Atari ST this means that the recursive
6919 # call of make fails due to memory shortage.  Try "make -n minixc68 >makeit",
6920 # followed by ". makeit".  Otherwise, as above.
6921 minixc68:
6922         @echo 'Making C-Kermit $(CKVER) for MINIX 68k with c68...
6923         $(MAKE) wermit "CC= cc -c68" KTARGET=$${KTARGET:-$(@)} \
6924         "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE -DNOLEARN \
6925         -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
6926         -DNOSCRIPT -DNOCSETS -DNOSPL $(KFLAGS) \
6927         -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
6928
6929 #MINIX - 68k version with c68 compiler.
6930 #A variation on the above that was recently (Sep 95) reported to work.
6931 minixc68a:
6932         @echo 'Making C-Kermit $(CKVER) for MINIX 68k with c68...
6933         $(MAKE) wermit "CC= cc -c68" KTARGET=$${KTARGET:-$(@)} \
6934         "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE \
6935         -DCK_ANSIC -DNODEBUG -DNOTLOG -DMINIDIAL -DEXTEN -DMYCURSES \
6936         -DNOSCRIPT -DNOCSETS -DNOSPL -DNOJC -DDIRENT -DNOLEARN \
6937         -DNOSETKEY -DNOESCSEQ $(KFLAGS) \
6938         -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
6939
6940 #MIPS Computer Systems with UMIPS RISC/OS 4.52 = AT&T UNIX System V R3.0.
6941 #Remove -DNOJC if job control can be safely used.
6942 mips:
6943         @echo 'Making C-Kermit $(CKVER) for MIPS RISC/OS...'
6944         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6945         "CFLAGS = -DMIPS -DDIRENT -DCK_POLL -DNOJC -DNOLEARN -DPID_T=int \
6946         -DGID_T=gid_t -DUID_T=uid_t -i -O1500 $(KFLAGS)"
6947
6948 #As above, but with TCP/IP and fullscreen support.
6949 mipstcpc:
6950         @echo 'Making C-Kermit $(CKVER) for MIPS RISC/OS...'
6951         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
6952         "CFLAGS = -DMIPS -DDIRENT -DCK_POLL -DNOJC \
6953         -DTCPSOCKET -DCK_CURSES -I/usr/include/bsd \
6954         -DPID_T=int -DGID_T=gid_t -DUID_T=uid_t -i -O1500 $(KFLAGS)" \
6955         "LIBS = -lcurses -lbsd"
6956
6957 #Motorola Delta System V/68 R3, signal() is void rather than int.
6958 #Uses dirent.h and Honey DanBer uucp.  Supports TCP/IP.
6959 #After building, use "mcs -d" to reduce size of the executable program.
6960 sv68r3:
6961         @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3...'
6962         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6963         "CFLAGS = -DSVR3 -DSV68 -DDIRENT -DHDBUUCP -DNO_DNS_SRV -DTCPSOCKET \
6964         -DNOUNICODE -DNOLEARN -DUSE_MEMCPY $(KFLAGS) -O" "LNKFLAGS ="
6965
6966 #Motorola Delta System V/68 R3V5, signal() is void rather than int.
6967 #Uses dirent.h and Honey DanBer UUCP.  Supports TCP/IP.
6968 #After building, use "mcs -d" to reduce size of the executable program.
6969 sv68r3v5:
6970         @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V5'
6971         $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
6972         "CFLAGS = -DSVR3 -DSV68 -DDIRENT -DHDBUUCP -DNO_DNS_SRV -DUSE_MEMCPY \
6973         -DTCPSOCKET -DINADDRX -DNOUNICODE -DFNFLOAT -DNOLEARN $(KFLAGS) -O" \
6974         "LNKFLAGS =" "LIBS = -linet -lm"
6975
6976 #Motorola MVME147 System V/68 R3 V5.1. Requires gcc 2.1 to compile.
6977 #After building, use "mcs -d" to reduce size of the executable program.
6978 sv68r3v51:
6979         @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V5.1'
6980         $(MAKE) wermit "CC=gcc-delta" "CC2=gcc-delta" \
6981         KTARGET=$${KTARGET:-$(@)} \
6982         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNODEBUG -DNO_DNS_SRV -DNOLEARN \
6983         -DNOUNICODE -DFNFLOAT -DSV68 -DUSE_MEMCPY $(KFLAGS) \
6984         -O2 -v -ftraditional" \
6985         "LNKFLAGS = -s -v" "LIBS = -lm881 -lm"
6986
6987 #Motorola MVME147 System V/68 R3V6. derived from Motorola Delta System R3V5.
6988 #Checked on larger Motorola System V/68 R3V6 (with NSE Network Services Ext.)
6989 #After building, use "strip" to reduce size of the executable program.
6990 # "LIBS = -lnsl" removed in C-Kermit 6.1 - put back if needed.
6991 # "LIBS = lm" added in 7.1/8.0 for floating-point math.
6992 # ckuusr.c clobbers the optimizer.
6993 sv68r3v6:
6994         @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V6'
6995         $(MAKE) ckuusr.$(EXT) KTARGET=$${KTARGET:-$(@)} \
6996         "CFLAGS = -DSV68R3V6 -DDIRENT -DHDBUUCP -DNOLOGIN -DNOINITGROUPS \
6997         -DNOSYMLINK -DNOREDIRECT -DNOGFTIMER -DTCPSOCKET -DDCLGETCWD -DSV68 \
6998         -DNO_DNS_SRV -DNOUNICODE -DFNFLOAT -DSELECT -DUSE_MEMCPY $(KFLAGS)"
6999         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
7000         "CFLAGS = -O -DSV68R3V6 -DDIRENT -DHDBUUCP -DNOLOGIN -DNOINITGROUPS \
7001         -DNOSYMLINK -DNOREDIRECT -DNOGFTIMER -DTCPSOCKET -DDCLGETCWD -DSV68 \
7002         -DNO_DNS_SRV -DNOUNICODE -DFNFLOAT -DSELECT -DUSE_MEMCPY $(KFLAGS)" \
7003         "LNKFLAGS =" "LIBS = -lm"
7004
7005 #Motorola Delta System V/88 R32, signal() is void rather than int.
7006 #Uses dirent.h and Honey DanBer uucp.  Needs <sys/utime.h> for setting
7007 #file dates.  Supports TCP/IP.
7008 #After building, use "mcs -d" to reduce size of the executable program.
7009 sv88r32:
7010         @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R32...'
7011         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
7012         "CFLAGS = -DSV88R32 -DDIRENT -DHDBUUCP -DTCPSOCKET \
7013         -DSYSUTIMEH -DCK_CURSES -DNOGETUSERSHELL -DGTODONEARG $(KFLAGS) -O" \
7014         "LIBS= -lcurses -lresolv" "LNKFLAGS = -s"
7015
7016 #Motorola Delta System V/88 R40.  Has <sys/termiox.h>, regular Berkeley
7017 #sockets library, i.e. in.h and inet.h are not misplaced in sys (rather than
7018 #netinet and arpa, respectively).  Uses ANSI C constructs, advisory file
7019 #locking on devices, etc.  curses support added.  Reportedly, the
7020 #/usr/include/sys/vnode.h file has a bug which must be fixed before this
7021 #makefile entry can work correctly.  The "if DEBUG" directive at about line
7022 #320 must be changed to "ifdef DEBUG" (Reportedly, this was fixed in
7023 #in System V/88 R4.3).
7024 #After building, use "mcs -d" to reduce size of the executable program.
7025 sv88r40:
7026         @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R40...'
7027         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
7028         "CFLAGS = -O -DSVR4 -DMOTSV88R4 -DDIRENT -DHDBUUCP -DSTERMIOX \
7029         -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL -DGTODONEARG -DFNFLOAT \
7030         $(KFLAGS)" \
7031         "LIBS= -lsocket -lnsl -lcurses -lresolv -lm" "LNKFLAGS = -s"
7032
7033 #As above but without the floating-point math library.
7034 sv88r40nm:
7035         @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R40...'
7036         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
7037         "CFLAGS = -O -DSVR4 -DMOTSV88R4 -DDIRENT -DHDBUUCP -DSTERMIOX \
7038         -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL -DGTODONEARG $(KFLAGS)" \
7039         "LIBS= -lsocket -lnsl -lcurses -lresolv" "LNKFLAGS = -s"
7040
7041 #As above but with floating-point math library support \ffp...() functions
7042 #and S-Expressions.
7043
7044 #Olivetti X/OS R2.3, 3.x.
7045 #NOTES:
7046 # . If you build the executable on 2.x X/OS, it will also run on 3.x.
7047 # . If you build it on 3.x X/OS, it will NOT run on 2.x.
7048 # . Kermit can run with no privileges unless the uucp lines are protected,
7049 #   in which case kermit must be owned by uucp with suid bit set:
7050 #   chown uucp kermit ; chmod 4111 kermit.
7051 xos23:
7052         @echo 'Making C-Kermit $(CKVER) for Olivetti X/OS...'
7053         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
7054         'CFLAGS=-OLM -DOXOS -DTCPSOCKET -DHDBUUCP $(KFLAGS)' \
7055         "LIBS=" "LNKFLAGS="
7056
7057 #As above, but with curses.
7058 xos23c:
7059         @echo 'Making C-Kermit $(CKVER) for Olivetti X/OS with curses...'
7060         $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
7061         'CFLAGS=-OLM -DOXOS -DTCPSOCKET -DHDBUUCP -DCK_CURSES $(KFLAGS)' \
7062         "LIBS=-lcurses" "LNKFLAGS="
7063
7064 ckuuid:
7065         @echo 'building C-Kermit $(CKVER) set-UID/set-GID test programs'
7066         $(CC) -DANYBSD -DSAVEDUID -o ckuuid1 ckuuid.c
7067         $(CC) -DANYBSD -o ckuuid2 ckuuid.c
7068         $(CC) -DANYBSD -DNOSETREU -o ckuuid3 ckuuid.c
7069         $(CC) -DANYBSD -DSETEUID -DNOSETREU -o ckuuid4 ckuuid.c
7070         $(CC) -o ckuuid5 ckuuid.c
7071         @echo 'Read the top of ckuuid.c for directions...for testing'
7072         @echo 'you must make these programs setuid and setgid'
7073
7074 ############################################################################
7075 # A N T I Q U I T I E S
7076 #
7077 # The following are antique targets from C-Kermit 5A or earlier.  They have
7078 # not been updated or tested in years.  Most of them will need recent features
7079 # disabled, usually with some combination of -DNOUNICODE, -DNOIKSD, -DNOANSI,
7080 # -DNOCKGHNLHOST, -DNO_DNS_SRV, -DNOREDIRECT, -DNOREALPATH, -DNOCURSES, etc.
7081 # They are also missing the KTARGET=$${KTARGET:-$(@)} business.
7082 # For details see ckuins.txt and ckccfg.txt.
7083 #
7084 ############################################################################
7085
7086 #Berkeley Unix 2.8, 2.9 for PDP-11s with I&D space, maybe also Ultrix-11???
7087 #C-Kermit(5A) is simply too large (even turning off almost every feature
7088 #available) to run without both I&D space plus overlays.  The old comment
7089 #suggested running 'pcc' but that won't help.  Changing 'cc' to 'ckustr.sed'
7090 #will cause a string extraction to be done, saving D space by moving strings
7091 #to a file.
7092 bsd29:
7093         @echo Making C-Kermit $(CKVER) for 2.8 or 2.9BSD.
7094         @echo Read the makefile if you have trouble with this...
7095         $(MAKE) ovwermit \
7096         "CFLAGS= -DBSD29 -DNODEBUG -DNOTLOG -DNOCSETS -DNOHELP \
7097         -DNOSCRIPT -DNOSPL -DNOXMIT -DNODIAL $(KFLAGS)" \
7098         "LNKFLAGS= -i -lndir" "CC= cc " "CC2= cc"
7099
7100 bsd210:
7101         @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.10BSD.
7102
7103 bsd211:
7104         @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.11BSD.
7105
7106 #Charles River Data Systems Universe with UNOS Version 9.2
7107 crds:
7108         @echo 'Making C-Kermit $(CKVER) for Charles River Data Systems...'
7109         make xermit \
7110         "CFLAGS = -DATTSV -DNOANSI -DDIRENT -DLONGFN -DTCPSOCKET \
7111         -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DNOSETREU \
7112         -Dsuspend=ksuspend $(KFLAGS) -O" "LNKFLAGS ="
7113
7114 #Microport SV/AT for IBM PC/AT 286 and clones, System V R2.
7115 #The -O flag may fail on some modules (like ckuus2.c), in which case you
7116 #should compile them by hand, omitting the -O.  If you get "hash table
7117 #overflow", try adding -DNODEBUG.
7118 #Also, reportedly this compiles better with gcc than with cc.
7119 mpsysv:
7120         @echo 'Making C-Kermit $(CKVER) for Microport SV/AT 286...'
7121         $(MAKE) wermit \
7122         "CFLAGS= -DATTSV -DNOLEARN $(KFLAGS) -O -Ml" "LNKFLAGS = -Ml"
7123
7124 #Microsoft "Xenix/286" e.g. for IBM PC/AT
7125 xenix:
7126         @echo 'Making C-Kermit $(CKVER) for Xenix/286'
7127         $(MAKE) wermit \
7128         "CFLAGS= -DXENIX -DNOFILEH -DNOLEARN $(KFLAGS) -Dunix -F 3000 -i" \
7129         "LNKFLAGS = -F 3000 -i"
7130
7131 #PC/IX, Interactive Corp System III for IBM PC/XT
7132 pcix:
7133         @echo 'Making C-Kermit $(CKVER) for PC/IX...'
7134         $(MAKE) wermit \
7135         "CFLAGS= -DPCIX -DISIII -DNOLEARN $(KFLAGS) \
7136         -Dsdata=sdatax -O -i" "LNKFLAGS = -i"
7137
7138 #Integrated Solutions Inc V8S VME 68020
7139 isi:
7140         @echo Making C-Kermit $(CKVER) for 4.2BSD on ISI...
7141         $(MAKE) wermit "CC = cc" \
7142         "CFLAGS= -DBSD4 -DTCPSOCKET -DINADDRX -DDCLPOPEN -DDEBUG -DNOSETREU \
7143         -DCK_CURSES -DNOLEARN $(KFLAGS)" "LIBS = -lcurses -ltermcap"
7144
7145 #Interactive Corp version of AT&T System III
7146 #is3: (very old, probably not sufficient for 5A or later)
7147 #       @echo 'Making C-Kermit $(CKVER) for Interactive System III...'
7148 #       make wermit "CFLAGS = -DISIII -Ddata=datax -O -i" "LNKFLAGS = -i"
7149 #The following should work, use it if you don't have gcc.
7150 #Use is3gcc if you have gcc.
7151 is3:
7152         @echo 'Making C-Kermit $(CKVER) for Interactive System III...'
7153         $(MAKE) wermit \
7154         "CFLAGS= -DISIII $(KFLAGS) -Ddata=datax -DNAP -DHDBUUCP
7155         -DLOCK_DIR=\"/usr/spool/uucp\" -DSIGTYP=void -O -i" "LNKFLAGS = -i"
7156
7157 #Interactive UNIX System V R3, no network support.  Uses <dirent.h> and Honey
7158 #DanBer UUCP.  If this entry does not compile correctly, try any or all of the
7159 #following.  These suggestions also apply more or less to the other is5r3xxx
7160 #entries that follow this one.
7161 # . Remove the UID_T and GID_T definitions, or change them as required.
7162 # . Change -DDIRENT to -DSDIRENT.
7163 # . Add -DSIGTYP=void.
7164 # . Remove -g from LNKFLAGS.
7165 # . Add -DNOANSI to remove compiler complaints about ANSI C constructions
7166 # . Add other -DNOxxx's to save space (e.g. -DNOCSETS)
7167 # See the next few makefile entries for related examples.
7168 # Also see sys5r32is for making a portable i386 SVR3 binary.
7169 is5r3:
7170         @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix or later...'
7171         @echo 'If this does not work please read the makefile entry.'
7172         $(MAKE) wermit \
7173         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -g -DNOCSETS -DNOREALPATH \
7174         -DUID_T=ushort -DGID_T=ushort -DI386IX $(KFLAGS)" \
7175         "LNKFLAGS = -g"
7176
7177 #Interactive Corp System System V R3 with gcc
7178 is3gcc:
7179         @echo 'Making C-Kermit $(CKVER) for Interactive System V R3 / gcc...'
7180         $(MAKE) wermit CC=gcc CC2=gcc \
7181         'CFLAGS = -D_SYSV3 -DISIII -Ddata=datax -DNAP -DHDBUUCP -DNOREALPATH \
7182         -DLOCK_DIR=\"/usr/spool/uucp\" -DSIGTYP=void -O' "LNKFLAGS ="
7183
7184 #Interactive UNIX System V R3, POSIX variant.  Untested.
7185 #Uses dirent.h and Honey DanBer uucp.  Read comments in is5r3 entry.
7186 is5r3p:
7187         @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix or later...'
7188         $(MAKE) wermit \
7189         "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -g -DNOCSETS -DNOREALPATH \
7190         -DI386IX -DPOSIX $(KFLAGS)" "LNKFLAGS=" "LIBS=-lcposix"
7191
7192 #Interactive UNIX SVR3 2.2.1, job control, curses, no net, gcc.
7193 is5r3gcc:
7194         $(MAKE) wermit CC=gcc CC2=gcc \
7195         "CFLAGS=-g -posix -DSVR3 -DDIRENT -DNOREALPATH \
7196         -DHDBUUCP -O -DNOCSETS -DI386IX -DSVR3JC -DCK_CURSES \
7197         $(KFLAGS)" LNKFLAGS="-posix" LIBS="-lcurses -lc_s"
7198
7199 #Interactive UNIX System V R3 with TCP/IP network support.
7200 #Needs -linet for net functions.  signal() is void rather than int.
7201 #Uses dirent.h and Honey DanBer uucp. Read comments in is5r3 entry.
7202 #Also see is5r3net2 if you have trouble with this entry.
7203 is5r3net:
7204         @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix...'
7205         @echo 'If this does not work please read the makefile entry.'
7206         $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
7207         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET -DNOREALPATH \
7208         -DI386IX $(KFLAGS) -O" "LIBS = -linet"
7209
7210 is5r3netgcc:
7211         $(MAKE) is5r3net CC=gcc CC2=gcc
7212
7213 #Interactive UNIX System V R3, no job control, signal() void rather than int.
7214 #Uses dirent.h and Honey DanBer uucp.  Needs -linet for net functions.
7215 #Read comments in is5r3 entry.  Use this entry if is5r3net fails.
7216 #Saves some space by stripping (-s) and using shared library (-lc_s).
7217 is5r3net2:
7218         @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix...'
7219         $(MAKE) wermit \
7220         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET -DNOJC -DNOREALPATH \
7221         -DSIGTYP=void -DNOANSI -DI386IX $(KFLAGS) -O" \
7222         "LNKFLAGS= -s" "LIBS = -linet -lc_s"
7223
7224 #Interactive UNIX System V R3 (version 2.2 or later) with job control & curses.
7225 #Uses dirent.h and Honey DanBer UUCP.
7226 is5r3jc:
7227         @echo 'Making C-Kermit $(CKVER) for Interactive Unix 2.2 or later...'
7228         $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
7229         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS -DNOREALPATH \
7230         -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES \
7231         -DPOSIX_JC -DCK_REDIR -DCK_POLL -DDCLGETCWD \
7232         $(KFLAGS)" "LIBS=-lcurses -lc_s -linet"
7233
7234 is5r3jcgcc:
7235         $(MAKE) is5r3jc CC="gcc -DCK_ANSILIBS -DDCGPWNAM -O4" CC2=gcc \
7236         KFLAGS="$(KFLAGS)" LNKFLAGS="$(LNKFLAGS)"
7237
7238 #Sunsoft/Interactive UNIX System V R3 (version 2.2 or later)
7239 #with job control, curses, and TCP/IP networking.
7240 #Uses dirent.h and Honey DanBer UUCP.
7241 is5r3netjc:
7242         @echo 'Making C-Kermit $(CKVER) for Interactive Unix 2.2 or later...'
7243         $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
7244         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS -DNOREALPATH \
7245         -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES \
7246         -DPOSIX_JC -DCK_REDIR -DTCPSOCKET -DSELECT \
7247         $(KFLAGS)" "LIBS=-linet -lcurses -lc_s"
7248
7249 is5r3netjcgcc:
7250         $(MAKE) is5r3netjc CC="gcc -DCK_ANSILIBS -DDCGPWNAM -O4" CC2=gcc \
7251         KFLAGS="$(KFLAGS)" LNKFLAGS="$(LNKFLAGS)"
7252
7253 #Masscomp System III
7254 rtu:
7255         @echo 'Making C-Kermit $(CKVER) for Masscomp RTU System III...'
7256         $(MAKE) wermit \
7257         "CFLAGS= -UFIONREAD -DATTSV $(KFLAGS) -O" "LNKFLAGS =" "LIBS= -ljobs"
7258
7259 #Masscomp/Concurrent RTU 4.0 or later, Berkeley environment.
7260 #Includes <ndir.h> = /usr/include/ndir.h
7261 #Note "LIBS = -lndir" might not be necessary because of "ucb make".
7262 rtubsd:
7263         @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.1A...'
7264         ucb make wermit \
7265         "CFLAGS= -DBSD4 -DRTU -DNDIR -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
7266         "LIBS = -lndir"
7267
7268 #Masscomp/Concurrent RTU 4.0 or later, same as above,
7269 #Includes "usr/lib/ndir.h"
7270 #Note "LIBS = -lndir" might not be necessary because of "ucb make".
7271 rtubsd2:
7272         @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.1A...'
7273         ucb make wermit \
7274         "CFLAGS= -DBSD4 -DRTU -DXNDIR -DHDBUUCP $(KFLAGS)" \
7275         "LIBS = -lndir"
7276
7277 #Masscomp/Concurrent RTU 4.0 or later, same as above,
7278 #Includes <sys/ndir.h>
7279 #Note "LIBS = -lndir" might not be necessary because of "ucb make".
7280 rtubsd3:
7281         @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.x BSD...'
7282         ucb make wermit "CFLAGS= -DBSD4 -DRTU -DHDBUUCP $(KFLAGS)" \
7283         "LIBS = -lndir"
7284
7285 #Masscomp/Concurrent RTU 4.0 or later, System V R2, using <dirent.h>.
7286 #In case of problems, add back the -DRTU switch.
7287 #In case -DTCPSOCKET gives trouble, remove it.
7288 rtus5:
7289         @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.x...'
7290         $(MAKE) wermit \
7291         "CFLAGS= -DATTSV -DHDBUUCP -DDIRENT -DTCPSOCKET $(KFLAGS)"
7292
7293 #Masscomp/Concurrent RTU 4.x, System V R3, using <dirent.h>.
7294 #Use this one if rtus5 gives warnings about pointer type mismatches.
7295 #In case of problems, add back the -DRTU switch.
7296 rtus5r3:
7297         @echo 'Making C-Kermit $(CKVER) for Masscomp RTU Sys V R3...'
7298         $(MAKE) wermit "CFLAGS= -DSVR3 -DHDBUUCP -DDIRENT $(KFLAGS)"
7299
7300 #DEC Pro-3xx with Pro/Venix V1.0 or V1.1
7301 # Requires code-mapping on non-I&D-space 11/23 processor, plus some
7302 # fiddling to get interrupt targets into resident code section.
7303 # This almost certainly doesn't work any more.
7304 provx1:
7305         @echo 'Making C-Kermit $(CKVER) for DEC Pro-3xx, Pro/Venix 1.x...'
7306         $(MAKE) wart "CFLAGS= -DPROVX1 $(KFLAGS)" "LNKFLAGS= "
7307         $(MAKE) wermit "CFLAGS = -DPROVX1 -DNOFILEH -md780" \
7308                 "LNKFLAGS= -u _sleep -lc -md780"
7309
7310 #Nixdorf Targon/31.
7311 #AT&T UNIX System V R3, signal() is void rather than int.
7312 #Uses dirent.h without Honey DanBer uucp.
7313 t31tos40x:
7314         @echo 'Making C-Kermit $(CKVER) for Targon/31 with TOS 4.0.xx...'
7315                 $(MAKE) wermit \
7316                 "CFLAGS= -DSVR3 -DDIRENT $(KFLAGS) -O" \
7317                 "LNKFLAGS="
7318
7319 #NCR Tower 1632, OS 1.02
7320 tower1:
7321         @echo 'Making C-Kermit $(CKVER) for NCR Tower 1632, OS 1.02...'
7322         $(MAKE) wermit "CFLAGS= -DTOWER1 $(KFLAGS)"
7323
7324 #NCR Tower 32, OS Release 1.xx.xx
7325 tower32-1:
7326         @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 Rel 1 System V R2...'
7327         @echo 'Add KFLAGS=-DISDIRBUG if you get errors about S_ISREG/S_ISDIR.'
7328         $(MAKE) wermit \
7329         "CFLAGS = -DATTSV $(KFLAGS) -O" "LNKFLAGS = -n"
7330
7331 #NCR Tower 32, OS Release 2.xx.xx
7332 tower32-2:
7333         @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 Rel 2 System V R2...'
7334         $(MAKE) wermit \
7335         "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) -O2" \
7336         "LNKFLAGS = -n"
7337
7338 #NCR Tower 32, OS Releases based on System V R3
7339 #Don't add -DNAP (doesn't work right) or -DRDCHK (not available in libc).
7340 tower32:
7341         @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 System V R3...'
7342         $(MAKE) wermit \
7343         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNOSYSIOCTLH $(KFLAGS) \
7344         -DUID_T=ushort -DGID_T=ushort -O1"
7345
7346 #NCR Tower 32, OS Releases based on System V R3
7347 tower32g:
7348         @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 System V R3, gcc...'
7349         $(MAKE) wermit "CC = gcc" \
7350         "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNOSYSIOCTLH $(KFLAGS) \
7351         DUID_T=ushort -DGID_T=ushort -O -fstrength-reduce -fomit-frame-pointer"
7352
7353 #Fortune 32:16, For:Pro 1.8 (mostly like 4.1bsd)
7354 ft18:
7355         @echo 'Making C-Kermit $(CKVER) for Fortune 32:16 For:Pro 1.8...'
7356         $(MAKE) wermit \
7357         "CFLAGS= -DNODEBUG -DBSD4 -DFT18 -DNOFILEH $(KFLAGS) \
7358         -DPID_T=short"
7359
7360 #Fortune 32:16, For:Pro 2.1 (mostly like 4.1bsd).
7361 #The modules that break the optimizer are compiled separately.
7362 ft21:
7363         @echo 'Making C-Kermit $(CKVER) for Fortune 32:16 For:Pro 2.1...'
7364         $(MAKE) ckuusx.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
7365         -SYM 800  -DCK_CURSES $(KFLAGS) -DPID_T=short" \
7366         "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
7367         $(MAKE) ckuxla.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
7368         -SYM 800  -DCK_CURSES $(KFLAGS) -DPID_T=short" \
7369         "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
7370         $(MAKE) ckudia.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
7371         -SYM 800  -DCK_CURSES $(KFLAGS) -DPID_T=short" \
7372         "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
7373         $(MAKE) wermit \
7374         "CFLAGS= -O -DNODEBUG -DBSD4 -DFT21 -DNOFILEH -SYM 800 \
7375         -DCK_CURSES $(KFLAGS) -DPID_T=short" \
7376         "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
7377
7378 #Valid Scaldstar
7379 #Berkeleyish, but need to change some variable names.
7380 valid:
7381         @echo 'Making C-Kermit $(CKVER) for Valid Scaldstar...'
7382         $(MAKE) wermit \
7383         "CFLAGS= -DBSD4 -DNODEBUG -DNOTLOG -Dcc=ccx -DFREAD=1 $(KFLAGS)"
7384
7385 #IBM IX/370 on IBM 370 Series mainframes
7386 #Mostly like sys3, but should buffer packets.
7387 ix370:
7388         @echo 'Making C-Kermit $(CKVER) for IBM IX/370...'
7389         $(MAKE) wermit "CFLAGS = -DIX370 -DATTSV $(KFLAGS) -i -O" \
7390         "LNKFLAGS = -i"
7391
7392 #Amdahl UTS 2.4 on IBM 370 series compatible mainframes.
7393 #Mostly like V7, but can't do initrawq() buffer peeking.
7394 uts24:
7395         @echo 'Making C-Kermit $(CKVER) for Amdahl UTS 2.4...'
7396         $(MAKE) wermit "CFLAGS=-DV7 -DPROCNAME=\\\"$(PROC)\\\" \
7397         -DUTS24 -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
7398         -DNPTYPE=$(NPTYPE) $(DIRECT) $(KFLAGS)"
7399
7400 #Amdahl UTSV UNIX System V = System V R2 or earlier.
7401 utsv:
7402         @echo 'Making C-Kermit $(CKVER) for Amdahl UTSV...'
7403         $(MAKE) wermit \
7404         "CFLAGS = -DUTSV $(KFLAGS) -i -O" "LNKFLAGS = -i"
7405
7406 #Amdahl UTSV UNIX System V = System V R2 or earlier, with TCP sockets library.
7407 utsvtcp:
7408         @echo 'Making C-Kermit $(CKVER) for Amdahl UTSV w/tcp...'
7409         $(MAKE) wermit "CFLAGS = \
7410         -DTCPSOCKET -DUTSV $(KFLAGS) -i -O" "LNKFLAGS = -i" \
7411         "LIBS = -lsocket"
7412
7413 #BBN C/70 with IOS 2.0
7414 #Mostly Berkeley-like, but with some ATTisms
7415 c70:
7416         @echo 'Making C-Kermit $(CKVER) for BBN C/70 IOS 2.0...'
7417         $(MAKE) wermit "CFLAGS= -DBSD4 -DC70 $(KFLAGS)"
7418
7419 #Zilog ZEUS 3.21
7420 zilog:
7421         @echo 'Making C-Kermit $(CKVER) for Zilog Zeus 3.21...'
7422         $(MAKE) wermit \
7423         "CFLAGS = -DATTSV -DZILOG -DNODEBUG $(KFLAGS) -i -O" \
7424         "LNKFLAGS = -i -lpw"
7425
7426 #Whitechapel MG-1 Genix 1.3
7427 white:
7428         @echo 'Making C-Kermit $(CKVER) for Whitechapel MG-1 Genix 1.3...'
7429         @touch ckcpro.c
7430         $(MAKE) wermit "CFLAGS= -DBSD4 -Dzkself()=0  $(KFLAGS)"
7431
7432 #Pixel 1000
7433 pixel:
7434         @echo 'Making C-Kermit $(CKVER) for Pixel 1000...'
7435         $(MAKE) wermit "CFLAGS= -DBSD4 -Dzkself()=0 $(KFLAGS)"
7436
7437 ptx:
7438         $(MAKE) "MAKE=$(MAKE)" dynixptx12
7439
7440 #CDC VX/VE 5.2.1
7441 vxve:
7442         @echo 'Making C-Kermit $(CKVER) for CDC VX/VE 5.2.1...'
7443         $(MAKE) wermit \
7444         "CFLAGS = -DATTSV -DVXVE -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
7445         "LNKFLAGS = -i"
7446
7447 #DIAB DS90 or LUXOR ABC-9000 with pre-5.2 DNIX.  Sys V with nap() and rdchk().
7448 # nd = no opendir(), readdir(), closedir(), etc.
7449 # Some of the modules fail to compile with -O.
7450 dnixnd:
7451         @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with very old DNIX 5.2.'
7452         $(MAKE) wermit \
7453         "CFLAGS = -DATTSV -DNAP -DRDCHK -DDCLPOPEN \
7454         -U__STDC__ $(KFLAGS)"
7455
7456 #DIAB DS90 with DNIX 5.2.  Sys V with nap() and rdchk().
7457 # This one has opendir(), readdir(), closedir(), etc.
7458 # Some of the modules fail to compile with -O.
7459 dnix:
7460         @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with old DNIX 5.2...'
7461         $(MAKE) wermit \
7462         "CFLAGS = -DATTSV -DNAP -DRDCHK -DDIRENT  \
7463         -U__STDC__ $(KFLAGS)"
7464
7465 #DIAB DS90 with DNIX 5.2.  Sys V with nap() and rdchk().
7466 # As above, but with curses and TCP/IP.
7467 # You might get complaints about redefinition of O_RDONLY, etc, because
7468 # of bugs in the DNIX header files, which can be fixed by adding #ifndef...
7469 # around the offending definitions in the header files.
7470 dnixnetc:
7471         @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with old DNIX 5.2...'
7472         $(MAKE) wermit \
7473         "CFLAGS = -DATTSV -DNAP -DRDCHK -DDIRENT  \
7474         -DTCPSOCKET -DCK_CURSES -I/usr/include/bsd -U__STDC__ $(KFLAGS)" \
7475         "LIBS = -ln -lcurses"
7476
7477 #DIAB DS90 with DNIX 5.3 or later, with HDB UUCP, nap() and rdchk().
7478 dnix5r3:
7479         @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
7480         @echo 'with Honey DanBer UUCP'
7481         $(MAKE) wermit \
7482         "CFLAGS = -DSVR3 -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
7483         -DCK_CURSES -DRENAME $(KFLAGS) -O" "LIBS= -lcurses"
7484
7485 #DIAB DS90 with DNIX 5.3 or later, with HDB UUCP, nap() and rdchk() + TCP/IP
7486 dnix5r3net:
7487         @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
7488         @echo 'with Honey DanBer UUCP and TCP/IP'
7489         $(MAKE) wermit \
7490         "CFLAGS = -DSVR3 -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
7491         -DTCPSOCKET -DCK_CURSES -DRENAME $(KFLAGS) -O \
7492         -I/usr/include/bsd" "LIBS = -ln -lcurses"
7493
7494 #DIAB DS90 with DNIX 5.3 2.2 or later, with HDB UUCP, nap() and rdchk(),
7495 #ANSI C compilation and libraries.
7496 #Note that for DNIX 5.3 2.2 you have to correct a bug in /usr/include/stdlib.h:
7497 #change "extern void free(char *str);"
7498 #to     "extern void free(void *str);"
7499 #NOTE: This bug is reportedly fixed in DNIX 5.3 2.2.1.
7500 #Should you get fatal errors caused by harmless pointer-type mismatches,
7501 #like between signed and unsigned char, just remove -X7.
7502 dnix5r3ansi:
7503         @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
7504         @echo 'with ANSI C Honey DanBer UUCP'
7505         $(MAKE) wermit \
7506         "CFLAGS = -DSVR3 -DDIAB -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
7507         -DCK_ANSILIBS -DCK_CURSES -DRENAME -O -X7 -X9 $(KFLAGS)" \
7508         "LIBS= -lcurses"
7509
7510 #DIAB DS90 with DNIX 5.3 2.2 or later, with HDB UUCP, nap() and rdchk(),
7511 # + TCP/IP, ANSI C compilation and libraries.
7512 #Should you get fatal errors caused by harmless pointer-type mismatches,
7513 #like between signed and unsigned char, just remove -X7.
7514 dnix5r3ansinet:
7515         @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
7516         @echo 'with ANSI C Honey DanBer UUCP'
7517         $(MAKE) wermit \
7518         "CFLAGS = -DSVR3 -DDIAB -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
7519         -DTCPSOCKET -DCK_ANSILIBS -DCK_CURSES -DRENAME -O -X7 -X9 $(KFLAGS) \
7520         -I/usr/include/bsd" "LIBS= -ln -lcurses"
7521
7522 # QNX 4.21 and above, 32-bit version, Watcom C32 10.6, fully configured,
7523 # except no job control because QNX 4.x does not support it.  New NCURSES
7524 # library used instead of CURSES.
7525 #
7526 # -Oatx optimizes to favor speed over size: loop optimization, inline fn's.
7527 # -Os favors size over speed.  Saves 30-40K out of about 1.75M.
7528 # -3r = generate 386 code with register-based arg passing.
7529 # -3s = generate 386 code with stack-based arg passing.
7530 # -ms = separate code & data 4GB segments (32-bit builds only).
7531 # -mf = flat memory model code+data in one 4GB segment (ditto).
7532 # -zc = place literal strings in code segment.
7533 # -N4M = Big stack (increase the digit upon SIGSEGVs at runtime).
7534 # chars are unsigned by default (-j makes them signed by default).
7535 # -NOUUCP is included because QNX doesn't use it.
7536 # Add these to the end if you like but they dump core on my QNX 4.25 system:
7537 #
7538 #       @wermit -h >use.qnx
7539 #       @usemsg wermit use.qnx
7540 #       @rm use.qnx
7541 #
7542 # If you get warnings about HEADER or C_IN add -DNO_DNS_SRV.
7543 qnx32:
7544         @echo 'Making C-Kermit $(CKVER) for QNX 4.2x, 32-bit...'
7545         $(MAKE) xermit \
7546         "LNKFLAGS = -N4M -3r" \
7547         "CFLAGS = -ms -3r -DQNX -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL \
7548         -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS -DNOJC \
7549         -DNOINITGROUPS -DNOUUCP -DCK_ANSIC -DPID_T=pid_t -Oatx -zc $(KFLAGS)" \
7550         "LIBS= -lsocket -lncurses -ltermcap"
7551
7552 # As above but no networking since some QNX systems do not have TCP/IP
7553 # installed, or the TCP/IP developers kit, which includes all the needed
7554 # header files.  This entry has not been tested on a QNX system that, in
7555 # fact, does not have TCP/IP installed; some adjustments might be necessary,
7556 # in particular regarding the use of select(): is -lsocket needed, can we
7557 # get the needed definitions from non-TCP/IP header files (FD_SET, etc)?
7558 qnx32nonet:
7559         @echo 'Making C-Kermit $(CKVER) for QNX 4.2x, 32-bit, no net...'
7560         $(MAKE) xermit \
7561         "LNKFLAGS = -N4M -3r" \
7562         "CFLAGS = -3r -ms -DQNX -DNONET -DNOIKSD -DCK_CURSES \
7563         -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS -DNOJC \
7564         -DNOUUCP -DCK_ANSIC -DPID_T=pid_t -Oatx -zc $(KFLAGS)" \
7565         "LIBS= -lsocket -lncurses -ltermcap"
7566         @wermit -h >use.qnx
7567         @usemsg wermit use.qnx
7568         @rm use.qnx
7569
7570 # Synonym for qnx32.
7571 qnx:
7572         $(MAKE) qnx32 "KFLAGS=$(KFLAGS)"
7573
7574 # QNX 4.21 and above, 16-bit version, Watcom C 8.5 - and higher on i286 PCs
7575 # and above.
7576 #
7577 #       IMPORTANT: Do not use Watcom C 10.6!!!
7578 #       If you have it installed, add "-v9.52 to CFLAGS"
7579 #
7580 # NOTE: QNX 4.23 onward does not work on 286's anyway.
7581 # Stacksize 26000, objects larger than 100 bytes in their own segments,
7582 # string constants to the codesegment, etc.  Fully configured except job ctrl.
7583 # This entry works for building a 16-bit executable on a 32-bit system, but
7584 # has not been tested on a 16-bit system.  Uses large memory model, links
7585 # explicitly with large-model sockets library.  Correct-model curses library
7586 # is chosen automatically.  See comment in qnx32 entry about -DNOUUCP.
7587 #
7588 # WARNING:
7589 #
7590 # Watcom C prior to 10.6 never had released curses library. To link against it,
7591 # you must obtain ported free curses source from ftp://ftp.qnx.com/usr/free,
7592 # then compile and build library (cursesl.lib) and place it in /usr/lib.  You
7593 # must also copy curses.h to /usr/include.  Be aware that if you have Watcom
7594 # 10.6 installed, you should already have curses.h, which is the new ncurses
7595 # library. You must back it up and use free curses.h instead, since ncurses is
7596 # only for 32-bit applications and some definitions in these files are
7597 # different (e.g., clearok()).  For safety, curses is not defined in build.
7598 #
7599 # In 7.0 -DNOHELP added to keep ckuus2.c from blowing up; NOCSETS and NOSPL
7600 # added because ckuus4 was blowing up, and NOFLOAT just because it seemed
7601 # dangerous (remove -DNOFLOAT if you want to try it), The result works OK
7602 # except for some mysterious beeps upon termination of the top-level keyword.
7603 #
7604 # Things to try next time we get in trouble:
7605 #  . Change -zt100 to something smaller like -zt25
7606 #  . Change -Oatx to -Omilerat (enable stack checking)
7607 #  . Maybe get rid of -v9.52 -- it's only there because we were warned.
7608 #
7609 qnx16:
7610         @echo 'Making C-Kermit $(CKVER) for QNX 4.21, 16-bit...'
7611         $(MAKE) xermit \
7612         "LNKFLAGS = -2 -ml -N 26000" \
7613         "CFLAGS = -2 -Oatx -zc -zt100 -ml -DQNX -DQNX16 -DNOUUCP -DNOHELP \
7614         -DCK_REDIR -DSELECT -DSELECT_H -DNOJC -DNOGETUSERSHELL -DNOCSETS \
7615         -v9.52 -DTCPSOCKET -DCK_RTSCTS -DCK_ANSIC -DNOINITGROUPS -DNOKVERBS \
7616         -DNORANDOM -DNOCSETS -DNOSPL -DNOFLOAT -DPID_T=pid_t $(KFLAGS)"
7617
7618 # QNX 4.1, 16-bit version, with Watcom C 8.5 on i286 PCs and above.
7619 # stacksize 26000, objects larger than 100 bytes in their own segments,
7620 # string constants to the codesegment, etc.  Add -DNOUUCP if desired.
7621 qnx16_41:
7622         @echo 'Making C-Kermit $(CKVER) for QNX 4.1, 16-bit...'
7623         $(MAKE) xermit \
7624         "LNKFLAGS = -mh -N 26000" "CFLAGS = -Wc,-fpc -Wc,-j -DNOGETUSERSHELL \
7625         -Wc,-Ols -Wc,-zdf -Wc,-zc -Wc,-zt100 -mh -DPOSIX -DQNX -DDIRENT \
7626         -DNOCYRIL -DNODEBUG -DNOMSEND -DMINIDIAL -DNOXMIT -DNOSCRIPT -DNOSPL \
7627         -DNOSETKEY -DNOINITGROUPS -DQNX16 -DPID_T=pid_t $(KFLAGS)"
7628
7629 # QNX Neutrino 2 (pwaechtler@qnx.de) crosscompiled on QNX 4.25.
7630 # Gets lots of compiler warnings.
7631 qnx_nto2+:
7632         @echo 'Making C-Kermit $(CKVER) for QNX Neutrino 2+ '
7633         cc -o wart ckwart.c
7634         $(MAKE) xermit \
7635         "CC = qcc -Vgcc_ntox86" \
7636         "CC2 = qcc -Vgcc_ntox86" \
7637         "LNKFLAGS = " \
7638         "CFLAGS = -DNEUTRINO -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL \
7639         -DNOUUCP -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS \
7640         -DNOJC -DNOINITGROUPS -DCK_ANSIC -DPID_T=pid_t -DUNIX -DDIRENT \
7641         -DMYREAD -DBSD44ORPOSIX -DSVORPOSIX -DNDGPWNAM $(KFLAGS)" \
7642         "LIBS= -lsocket -lncurses "
7643
7644 # QNX 6 (= Neutrino 2.xx) native build (kirussel@cisco.com).
7645 qnx6:
7646         @echo 'Making C-Kermit $(CKVER) for QNX6'
7647         $(MAKE) xermit KTARGET=QNX6 \
7648         "CFLAGS = -DPOSIX -DCK_POSIX_SIG -DNETPTY -DNOARROWKEYS \
7649         -DUSE_TIOCSDTR -DBIGBUFOK -DCKMAXOPEN=100 -DRLOGCODE -DNOREALPATH \
7650         -DMAXNAMLEN=48 -DQNX6 -DUSE_TERMIO -DINIT_SPTY \
7651         -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DDYNAMIC \
7652         -DTCPSOCKET -DNOGETUSERSHELL -DCK_REDIR -DSELECT -DSELECT_H \
7653         -DCK_RTSCTS -DNOJC -DSVORPOSIX -DBSD44ORPOSIX -DNOUUCP -DCK_ANSIC \
7654         $(KFLAGS) -O" \
7655         "LIBS= -lsocket  -lncurses"
7656
7657 #Ridge 32 with ROS 3.2
7658 ridge32:
7659         @echo 'Making C-Kermit $(CKVER) Ridge 32 ROS 3.2'
7660         $(MAKE) wermit \
7661         "CFLAGS = -DATTSV -DNOFILEH -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
7662         "LNKFLAGS = -i"
7663
7664 #Altos 486, 586, or 986 with Xenix 3.0
7665 altos:
7666         @echo 'Making C-Kermit $(CKVER) for Altos x86 with Xenix 3.0...'
7667         $(MAKE) wermit \
7668         "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
7669         "LNKFLAGS= -i"
7670
7671 #Altos 986 with Xenix 3.0, as above, but command-line only, minimal size.
7672 #For systems with small memories.  It might also be necessary to chop certain
7673 #modules up into smaller pieces, e.g. ckuus3-6, because of symbol table
7674 #overflow.   If this makefile is too big or complex for the Altos, compile
7675 #and link by hand or write shell scripts.
7676 altosc:
7677         @echo 'Making C-Kermit $(CKVER) for Altos x86 Xenix 3.0, remote...'
7678         $(MAKE) wermit \
7679         "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG -DNOSCRIPT -DNODIAL \
7680         -DNOCSETS -DNOANSI -DNOMSEND -DNOSPL -DNOICP $(KFLAGS) -Mm -O" \
7681         "LNKFLAGS= -Mm -s"
7682
7683 #Altos 986 with Xenix 3.0, as above, but interactive only, minimal size.
7684 altosi:
7685         @echo 'Making C-Kermit $(CKVER) for Altos x86 Xenix 3.0, local...'
7686         $(MAKE) wermit \
7687         "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG -DNOSCRIPT -DNODIAL \
7688         -DNOCSETS -DNOANSI -DNOMSEND -DNOSPL -DNOCMDL -DNOFRILLS -DNOHELP \
7689         -DNOSETKEY $(KFLAGS) -Mm -O" "LNKFLAGS= -Mm -s"
7690
7691 # Altos ACS68000 68000 System, UNIX System 3 Release 2, 512k memory.
7692 # also needs getcwd() external function; see ckuins.txt file.
7693 # also, sys/types.h needed modifying:
7694 #   #ifdef __SYS_TYPES_H__, #define ..., #endif
7695 # also, ckuus2.c MUST be compiled NOOPT else symbol table is destroyed!
7696 # Submission by Robert Weiner/Programming Plus, rweiner@progplus.com.
7697 #
7698 altos3:
7699         @echo 'Making C-Kermit $(CKVER) for Altos ACS68k UNIX System III'
7700         $(MAKE) ckuus2.$(EXT) "CFLAGS = -DATTSV -DNOCSETS -DNOSETKEY -DNOJC \
7701         -DNODIAL -DDCLPOPEN -DNOSCRIPT -DNOHELP $(KFLAGS) -i"
7702         $(MAKE) wermit \
7703         "CFLAGS = -DATTSV -DNOCSETS -DNOSETKEY -DNOJC \
7704         -DNODIAL -DDCLPOPEN -DNOSCRIPT -DNOHELP $(KFLAGS) -i -O" \
7705         "LNKFLAGS = -i" "LIBS = getcwd.$(EXT)"
7706
7707 #MINIX - Original PC version with 64K+64K limit.
7708 # Reportedly, the linker (asld) can run out of space while linking.  The only
7709 # way around this is to make a copy of libc.a from which all modules that are
7710 # not used by Kermit are removed.  If you have trouble compiling or running
7711 # wart, "touch wart".  If that doesn't help, "touch ckcpro.c".
7712 # The version configured below has no interactive command parser.
7713 # If you can build this version successfully, maybe there will be room for
7714 # a minimal interactive command parser too; try replacing -DNOICP with
7715 # -DNOSPL, plus every other -DNOxxx flag there is, except for -DNOICP
7716 # (see ckccfg.txt).
7717 minix:
7718         @echo 'Making C-Kermit $(CKVER) for MINIX, no command parser...
7719         @echo 'TOTALLY UNTESTED!'
7720         $(MAKE) wermit EXT=s \
7721         "CFLAGS= -DV7 -DMINIX -i -D_MINIX -D_POSIX_SOURCE \
7722         -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V \
7723         -DNOXMIT -DNOMSEND -DNOFRILLS -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
7724         -DNOSCRIPT -DNOCSETS -DNOICP -DNOSETKEY $(KFLAGS)" \
7725         "LNKFLAGS= -i -T"
7726
7727 #MINIX - PC version with 64K+64K limit, new (as yet unreleased) ACK 2.0 beta C
7728 #compiler, which outputs .o object files, rather than .s.  But 'make' still
7729 #expects .s files, so must be patched to use .o.  Tested on Minix 1.5.10.
7730 minixnew:
7731         @echo 'Making C-Kermit $(CKVER) for MINIX (new ACK 2.0 compiler),'
7732         @echo 'no command parser...  TOTALLY UNTESTED!'
7733         $(MAKE) wermit \
7734         "CFLAGS= -DV7 -DMINIX -i -D_MINIX -D_POSIX_SOURCE \
7735         -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V -DNODIAL \
7736         -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOICP $(KFLAGS)" \
7737         "LNKFLAGS= -i -T"
7738
7739 #PFU Compact A Series UNIX System V R3, SX/A TISP V10/L50 (Japan)
7740 #Maybe the -i link option should be removed?
7741 sxae50:
7742         @echo 'Making C-Kermit $(CKVER) for PFU SX/A V10/L50...'
7743         $(MAKE) xermit \
7744         "CFLAGS= -DSVR3 -DDIRENT -DsxaE50 -DTCPSOCKET $(KFLAGS) -i -O" \
7745         "LNKFLAGS= "
7746
7747 #Tektronix 6130, 4319, 4301, etc, with UTek OS, /usr/spool/uucp/LCK./...
7748 #The models that support hardware flow control.
7749 utek:
7750         @echo 'Making C-Kermit $(CKVER) for 4.2BSD/UTek, hardware flow control'
7751         $(MAKE) wermit \
7752         "CFLAGS= -O -DLCKDIR -DBSD4 -DTCPSOCKET \
7753         -DUTEK -DDCLPOPEN -DLOCK_DIR=\\\"/usr/spool/uucp/LCK.\\\" \
7754         -DTRMBUFL=2048 -DCK_DTRCTS $(KFLAGS)"
7755
7756 #Tektronix 4315, 4316, 4317 with UTek OS, /usr/spool/uucp/LCK./...
7757 #The models that do not fully support hardware flow control.
7758 uteknohwfc:
7759         @echo 'Making C-Kermit $(CKVER) for 4.2BSD/UTek, no h/w flow control'
7760         $(MAKE) wermit \
7761         "CFLAGS= -O -DLCKDIR -DBSD4 -DTCPSOCKET \
7762         -DUTEK -DDCLPOPEN -DLOCK_DIR=\\\"/usr/spool/uucp/LCK.\\\" \
7763         -DTRMBUFL=2048 $(KFLAGS)"
7764
7765 #Tektronix XD88 with  UTekV OS
7766 utekvr3:
7767         @echo 'Making C-Kermit $(CKVER) for Tektronix XD88 UTekV R3...'
7768         $(MAKE) wermit \
7769         "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP \
7770         -DTCPSOCKET -DSYSUTIMEH -DCK_CURSES $(KFLAGS) -O" \
7771         "LIBS= -lcurses" "LNKFLAGS= -s"
7772
7773 #Perkin-Elmer 3200 Xelos R02 or earlier
7774 ccop1:
7775         @echo 'Making C-Kermit $(CKVER) for Xelos & Public Domain Dirent calls'
7776         @echo 'or System V R2 or earlier...'
7777         $(MAKE) wermit \
7778         "CFLAGS = -DATTSV -Dvoid=int -DDIRENT -DCK_CURSES \
7779         $(KFLAGS) -O" "LNKFLAGS =" "LIBS= -lcurses -ltermlib"
7780
7781 #Encore, UMAX 4.3 (BSD) but without acucntrl program.
7782 encore:
7783         $(MAKE) "MAKE=$(MAKE)" umax43 "KFLAGS=$(KFLAGS)"
7784
7785 #Encore, as above, but with curses file transfer display included.
7786 encorec:
7787         $(MAKE) "MAKE=$(MAKE)" umax43 "KFLAGS=-DCK_CURSES $(KFLAGS)" \
7788         "LIBS= -lcurses -ltermcap"
7789
7790 #Encore, UMAX 4.3 (BSD) but without acucntrl program.
7791 umax43:
7792         @echo Making C-Kermit $(CKVER) for Encore UMAX 4.3...
7793         $(MAKE) "MAKE=$(MAKE)" PARALLEL=4 xermit \
7794         "CFLAGS= -DBSD43 -DENCORE -DTCPSOCKET $(KFLAGS) -O"
7795
7796 #Encore, UMAX 4.2 (BSD)
7797 umax42:
7798         @echo Making C-Kermit $(CKVER) for Encore UMAX 4.2...
7799         $(MAKE) "MAKE=$(MAKE)" PARALLEL=4 xermit \
7800         "CFLAGS= -DBSD4 -DENCORE -DTCPSOCKET $(KFLAGS) -O"
7801
7802 #Encore 88K UMAX 5.3 with TCP/IP support
7803 encore88k:
7804         @echo 'Making C-Kermit $(CKVER) for Encore 88K UMAX V, TCP/IP...'
7805         $(MAKE) xermit \
7806         "CFLAGS = -q ext=pcc -DSVR3 -DTCPSOCKET -DDIRENT \
7807         -DNOGETID_PROTOS -DHDBUUCP $(KFLAGS) -O" "LNKFLAGS ="
7808
7809 #Encore 88K UMAX 5.3 with TCP/IP support
7810 encore88kgcc:
7811         @echo 'Making C-Kermit $(CKVER) for Encore 88K UMAX V, TCP/IP, gcc...'
7812         $(MAKE) xermit CC=gcc CC2=gcc \
7813         "CFLAGS = -DSVR3 -DTCPSOCKET -DDIRENT \
7814         -DNOGETID_PROTOS -DHDBUUCP $(KFLAGS) -O" "LNKFLAGS ="
7815
7816 #SONY NEWS, NEWS-OS 4.01C
7817 sonynews:
7818         @echo Making C-Kermit $(CKVER) for SONY NEWS-OS 4.01C...
7819         $(MAKE) xermit "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -O"
7820
7821 #Run Lint on this mess for selected versions.
7822 #These are pretty much obsolete since ANSI C / gcc.
7823 lintsun:
7824         @echo 'Running Lint on C-Kermit $(CKVER) sources for SunOS version...'
7825         lint -x -DSUNOS4 -DDIRENT -DTCPSOCKET -DSAVEDUID \
7826         ck[cu]*.c > ckuker.lint.sun
7827
7828 lintbsd:
7829         @echo 'Running Lint on C-Kermit $(CKVER) sources for BSD 4.2 version..'
7830         lint -x -DBSD4 -DTCPSOCKET ck[cu]*.c > ckuker.lint.bsd42
7831
7832 lints5:
7833         @echo 'Running Lint on C-Kermit $(CKVER) sources for Sys V version...'
7834         lint -x -DATTSV ck[cu]*.c > ckuker.lint.s5
7835
7836 #Who remembers TECO?
7837 love:
7838         @echo 'Not war?'