source: trunk/third/kermit/makefile @ 10994

Revision 10994, 172.0 KB checked in by ghudson, 27 years ago (diff)
From svalente: these days Linux uses -lncurses.
Line 
1# CKUKER.MAK / ckuker.mak / makefile / Makefile
2# Fri Sep  6 23:23:25 1996
3#
4CKVER= "6.0.192"
5#
6# -- Makefile to build C-Kermit for UNIX and UNIX-like systems --
7#
8# Author: Frank da Cruz, Columbia University
9# 612 West 115th Street, New York NY 10025-7799, USA.
10# E-mail: fdc@columbia.edu
11# Fax:    +1 212 662-6442.
12# Web:    http://www.columbia.edu/kermit/
13#
14# Copyright (C) 1985, 1996, Trustees of Columbia University in the City of New
15# York.  The C-Kermit software may not be, in whole or in part, licensed or
16# sold for profit as a software product itself, nor may it be included in or
17# distributed with commercial products or otherwise distributed by commercial
18# concerns to their clients or customers without written permission of the
19# Office of Kermit Development and Distribution, Columbia University.  This
20# copyright notice must not be removed, altered, or obscured.
21#
22# CAREFUL: Don't put the lowercase word "if", "define", or "end" as the first
23# word after the "#" comment introducer in the makefile, even if it is
24# separated by whitespace.  Some versions of "make" understand these as
25# directives.  Uppercase letters remove the danger, e.g. "# If you have..."
26#
27# WARNING: This is a huge makefile, and it contains nested makes.
28# Some "make" programs run out of memory.  If this happens to you, edit
29# away the parts that do not apply to your system and try again.
30#
31# For 2.10 or 2.11 BSD on DEC PDP-11s, use the separate makefile, ckubs2.mak.
32# For Plan 9, use ckpker.mk.
33#
34#   C-Kermit can also be built for other systems not supported by this
35#   makefile, including VAX/VMS and OpenVMS, Data General AOS/VS, OS/2, the
36#   Apple Macintosh, Stratus VOS, Apollo Aegis, the Commodore Amiga, OS-9, and
37#   the Atari ST.  They have their own separate build procedures.  See the
38#   file CKAAAA.HLP for information.
39#
40# INSTALLATION NOTES:
41#
42# Rename this file to "makefile" or "Makefile" if necessary.  Pick out the
43# entry most appropriate for your UNIX system from the list below and
44# then give the appropriate "make" command, for example "make bsd", "make
45# sys5r4", "make posix".  The make targets, hundreds of them, are listed
46# below.  If you experience any difficulties with the build procedure, then
47# please also read any comments that accompany the make entry itself (search
48# for the make entry name on the left margin).
49#
50# For more detailed installation instructions, read the files ckuins.doc and
51# ckccfg.doc.  For descriptions of known problems and limitations, read the
52# files ckcker.bwr and ckuker.bwr (the "beware files").
53#
54# Most entries build C-Kermit with its symbol table included.  To reduce the
55# size of the executable program, add "LNKFLAGS=-s" to the end of your 'make'
56# command or to the makefile entry, or 'strip' the executable after
57# building.  To further reduce the size after building, use 'mcs -d' if your
58# system has such a command.  For further details on size reduction, read
59# ckccfg.doc to find out how to remove unneeded features.
60#
61# TCP/IP networking support: If your C-Kermit version does not include TCP/IP
62# networking, but your UNIX system does, try adding -DTCPSOCKET to the CFLAGS
63# of your makefile entry.  If that doesn't work, look at some of the other
64# entries that include this flag for ideas about what libraries might need to
65# be included, etc.  NOTE: In some cases (certain versions of SCO or HP-UX),
66# you might need not only a C compiler, but also a "TCP/IP developers kit"
67# for the required object libraries and header files.
68#
69# Fullscreen file transfer display support: If you are going to use C-Kermit
70# for establishing connections (dialed, network, etc), you can configure it
71# to produce a formatted file transfer display by including the curses library
72# and adding -DCK_CURSES to the CFLAGS for your option, and linking with the
73# appropriate libraries.  There are many examples below, usually ending in
74# "c", like rs6000c, du42c, sunos41c, etc.  Also add -DCK_WREFRESH if your
75# curses library includes clearok() and wrefresh() functions (or remove
76# -DNOWREFRESH if the linker complains that it can't find these functions).
77# After building, you still have to SET FILE DISPLAY FULLSCREEN to get the
78# formatted screen display.
79#
80# Please report modifications, successes, failures (preferably with fixes) or
81# successes to the author.
82#
83# MAKE COMMANDS FOR DIFFERENT UNIX PLATFORMS AND VERSIONS:
84#
85# + Marks those that have been tested successfully with C-Kermit 5A or later.
86# - Marks those that are known not to work in version 5A or later.
87# ? Marks those as yet untested in version 5A or later.  Some of these have
88#     never been tried, others are known to have worked in C-Kermit version 4
89#     (1985-1989), which was considerably smaller, but have not been tested
90#     in version 5A.
91#
92# + for 386BSD (Jolix) 0.0, 0.1, "make 386bsd" (see comments in entry),
93#     or (preferably, if it works) "make bsd44" or "make bsd44c".
94# + for Acorn RISCiX, "make riscix" or "make riscixgcc"
95# + for Alliant FX/8 with Concentrix 4.1 or later, "make bsdlck"
96# + for Altos 486, 586, 986 with Xenix 3.0, "make altos"
97# + for Altos ACS68000, 8Mhz 68000, UNIX System 3 Rel 2, 512K, "make altos3"
98# ? for Amdahl UTS 2.4 on IBM 370 series & compatible mainframes, "make uts24"
99# + for Amdahl UTSV IBM 370 series & compatible mainframes, "make utsv"
100# + for Amdahl UTSV IBM 370 series mainframes with TCP/IP, "make utsvtcp"
101# + for Amdahl mainframes with UNIX System V R 5.2.6b 580, "make sys3"
102# + for Apollo Aegis 9.x, DOMAIN/IX 9.x, "make aegis"
103# ? for Apollo DOMAIN/IX, if the above fails, try "make apollobsd"
104# + for Apollo with SR10.0 or later, BSD environment, "make sr10-bsd"
105# + for Apollo with SR10.0 or later, System V environment, "make sr10-s5r3"
106# + for Apple Macintosh II with A/UX pre-3.0, "make aux", "auxgcc" or "auxufs"
107# + for Apple Macintosh with A/UX 3.0 and gcc, "make aux3gcc" or aux3gccc
108# ? for Apple Macintosh with Minix 1.5.10, "make minix68k" or "make minixc68"
109# ? for Arix System 90 with AT&T SVR3, "make sys5r3na"
110# ? for AT&T 6300 with IN/ix, "make sys5"
111# + for AT&T 6300 PLUS, "make att6300" or (with no debugging) "make att6300nd"
112# + for AT&T 6386 WGS UNIX PC, "make sys5r3"
113# + for AT&T 3B2, 3B20 systems, "make att3bx" or "make att3bxc"
114# + for AT&T 3B1, 7300 UNIX PC, "make sys3upc", "sys3upcg" (gcc), "sys3upcold",
115#     or (for fullscreen curses display) "make sys3upcc", "sys3upcgc" (gcc)
116#        or "make sys3upcx" (see entries for more explanation),
117#     or (for fullscreen curses display and shared library) "make sys3upcshcc"
118#     or for minimum-size interactive version for systems with small memories
119#       "make sys3upcm" or (with gcc) "make sys3upcgm".
120# + for AT&T System III/System V R2 or earlier, "make sys3" or "make sys3nid"
121# + for AT&T System III/System V with Honey DanBer UUCP, "make sys3hdb"
122# + for AT&T System V on DEC VAX, "make sys3" or "make sys5r3"
123# + for AT&T System V R3, use "make sys5r3" or "make sys5r3c"
124# + for AT&T System V/386 R320.0 Versyss Systems, use "make sys5r3"
125#     or "make sys5r3c" with KFLAGS=-DNONAWS.
126# + for AT&T System V R4, "make sys5r4", "make sys5r4sx", or "make sys5r4nx",
127#     or if the ANSI C function prototyping makes trouble, add -DNOANSI,
128#     as in "sys5r4sxna" entry
129# + for AT&T System V R4 with bundled TCP/IP, "make sys5r4netc", ...
130# + for AT&T System V R4 with Wollongong TCP/IP, "make sys5r4twg", ...
131# + for AT&T (USL) System V R4.2 use the sys5r4* entries.
132# + for Atari Falcon with MiNT, "make posix"
133# + for Atari ST with Minix ST 1.5.10.3, "make minix68k" or "make minixc68"
134# ? for BBN C/70 with IOS 2.0, "make c70"
135# + for BeBox with Be OS 1.x DR7, "make beboxdr7"
136#     Compiles OK but doesn't link with default linker which is limited to 64K.
137#     Links OK with "Code Warrior Gold".  Many hacks in the source code need
138#     to be removed when DR8 and later come out.
139# + for BeBox with Be OS 1.x DR8, "make bebox"
140# ? for Bell Labs UNIX Version 6 (6th Edition), there is no makefile entry.
141# + for Bell Labs UNIX Version 7 (7th Edition), "make v7" (but see notes below)
142# ? for Bell Labs Research UNIX Version 8,  "make bellv10"
143# ? for Bell Labs Research UNIX Version 9,  "make bellv10"
144# + for Bell Labs Research UNIX Version 10, "make bellv10"
145# + for Bell Labs / Lucent Plan 9, use separate makefile ckpker.mk:
146#     can be built for Intel, MIPS, 680x0, and PowerPC.
147# + for BSDI/386 1.x, "make bsdi"
148# + for BSDI/386 2.x, "make bsdi"
149# + for Berkeley Unix 2.4, "make v7" (but read v7 material below)
150# ? for Berkeley Unix 2.9 (DEC PDP-11 or Pro-3xx), "make bsd29"
151# + for Berkeley Unix 2.10, use ckubs2.mak (a separate makefile)
152# + for Berkeley Unix 2.11, use ckubs2.mak (a separate makefile)
153#     This makefile is too big.  Read the instructions in ckubs2.mak.
154#     Rename ckubs2.mak to makefile, then "make bsd210" or "make bsd211".
155# + for Berkeley Unix 4.1, "make bsd41"
156# + for Berkeley Unix 4.2, "make bsd" (tested with 4.2 and 4.3)
157# + for Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP, "make bsdhdb"
158# + for Berkeley Unix 4.3, "make bsd43" (uses acucntrl program for locks)
159# + for Berkeley Unix 4.3 without acucntrl program, "make bsdlck" or "make bsd"
160# ? for Berkeley Unix 4.3-Tahoe, same as 4.3 BSD
161# + for Berkeley Unix 4.3-Reno, "make bsd43" or "make bsd44" or "make bsd44c"
162# + for Berkeley Unix 4.3-Carson City, "make bsd44" or "make bsd44c"
163# + for Berkeley Unix 4.4-Networking/2 or -Alpha, "make bsd44" or "make bsd44c"
164# + for Berkeley Unix 4.4, "make bsd44" or "make bsd44c"
165# + for Berkeley Unix 4.4-Lite, "make bsd44" or "make bsd44c"
166# + for Bull DPX/2 with BOS/X, "make bulldpx2"
167# ? for Cadmus, "make sys3"
168# ? for Callan Unistar, "make sys3"
169# ? for CDC VX/VE 5.2.1 System V emulation, "make vxve"
170# + for Charles River Data Systems Universe 680x0 with UNOS 9.2, maybe
171#     also other UNOS versions, "make crds"
172# ? for CIE Systems 680/20 with Regulus, "make cie"
173# + for Commodore Amiga 3000UX Sys V R4, "make sys5r4sx"
174# + for Commodore Amiga 3000UX Sys V R4 and TCP/IP, "make svr4amiganet"
175# ? for Commodore Amiga with Minix 1.5.10, "make minix68k" of "make minixc68"
176# + for Concurrent/Masscomp with RTU 4.0 or later, BSD environment, "make
177#     rtubsd", "make rtubsd2", "make rtubsd3" (depending on where ndir.h
178#     is stored, see entries below).
179# ? for Concurrent/Masscomp with RTU 4.0 or later, System V R2, "make rtus5"
180# + for Concurrent/Masscomp with RTU 5.0 or later, System V R3, "make rtusvr3"
181# + for Concurrent (Perkin-Elmer) 3200 series, "make sys5".
182# + for Concurrent (Perkin-Elmer) 3200 series with <dirent.h>, "make ccop1"
183# + for Consensys UNIX SV/386 R4V3, "make sys5r4sxtcpc" or "make sys5r4sx"
184# ? for Convergent with CTIX Sys V R2, "make sys5"
185# + for Convergent with CTIX 6.4.1, "make ctix"
186# + for Convex C1, "make convex"
187# + for Convex C210 with Convex/OS 8, "make convex8"
188# + for Convex C2 with Convex/OS 9.1, "make convex9"
189# + for Convex C2 with Convex/OS 10.1 and gcc 2.x, "make convex10gcc"
190# + for Cray Research X/MP or YMP or C90 with UNICOS 6.x (System V R3),
191#       "make cray"
192# + for Cray Research X/MP or YMP or C90 with UNICOS 7.x (System V R4),
193#       "make cray"
194# + for Cray Research X/MP or YMP or C90 with UNICOS 8.0 Alpha, "make cray8"
195# + for Cray Computer Cray-2 or Cray3 with CSOS, "make craycsos"
196# + for Cyber 910 (Silicon-Graphics Iris) with Irix 3.3, "irix33"
197# + for Data General AViiON with DG/UX 5.4, "make dgux540"
198#     or "make dgux540c" (compile ckwart separately if necessary)
199# + for Data General AViiON with DG/UX 5.4R3.00, "make dgux543c"
200# + for DG/UX 5.4 R4.11 on AViiON Intel models, "make dgux544i" or dgux544ic.
201# + for Data General AViiON with DG/UX 4.3x using Sys V-isms, "make dgux430"
202# ? for Data General AViiON with DG/UX 4.3x using BSD-isms, "make dgux430bsd"
203# ? for Data General AViiON, earlier UNIX versions,
204#     "make sys5r3" (maybe compile ckwart separately, or "touch ckcpro.c")
205# ? for Data General MV systems with DG/UX, ???
206# + for Data General MV systems with MV/UX, use AOS/VS C-Kermit (CKDKER.MAK)
207# + for Data General MV systems with AOS/VS, use CKDKER.MAK.
208# + for DEC PDP-11 with Berkeley UNIX 2.x, see Berkeley UNIX 2.x.
209# ? for DEC PDP-11 with Mini-UNIX (Bell 6th Edition for PDP-11 with no MMU),
210#     probably no way to fit C-Kermit without I&D space.
211# ? for DEC PDP-11 with Ultrix-11 3.x, ??? (probably needs overlays)
212# + for DEC VAX with Ultrix 1.x "make bsd"
213# + for DEC VAX with Ultrix 2.x "make ultrix2s"
214# + for DEC VAX or DECstation with Ultrix 3.0, 3.1, "make ultrix3x"
215# + for DECstation or VAX with Ultrix 4.0 or 4.1, "make ultrix40"
216# + for DECstation or VAX with Ultrix 4.2 or later, "make ultrix42" or
217#     "make ultrix42c"
218# + for DECstation 5000/50, /150 or /260 (R4x00 MIPS CPU), Ultrix 4.3A or later
219#     "make ultrix43-mips3" or "make ultrix43c-mips3"
220# + for DECstation or VAX with Ultrix 4.2, Sys V R4 world, "make du42s5r4"
221# + for DECstation or VAX with Ultrix 4.x, POSIX world, "make posix"
222# + for DECstation with Ultrix 4.3, "make ultrix42"
223# + for DECstation 5000/50 or /150 or /260 (R4x00 MIPS CPU), Ultrix 4.3A/4.4
224#     "make ultrix43c-mips3" or "make ultrix44-mips3"
225# ? for DECstation (MIPS) with Berkeley Sprite, "make bsd44"?
226# + for DECstation (MIPS) with OSF/1 V1.0 to 1.3, "make dec-osf"
227# + for DEC Alpha with OSF/1 1.0 to 1.3, "make dec-osf"
228# + for DEC PC 486 with OSF/1, "make dec-osf"
229# + for DEC Alpha with OSF/1 2.x, "make dec-osf20"
230# + for DEC Alpha with OSF/1 3.0, "make dec-osf30"
231# + for DEC Alpha with Digital UNIX 3.2, "make du32"
232# + for DEC Alpha with Digital UNIX 4.0, "make du40"
233# - for DEC Pro-350 with Pro/Venix V1.x, "make provx1" (version 5A is too big)
234# ? for DEC Pro-350 with Pro/Venix V2.0 (Sys V), "make sys3nid"
235# ? for DEC Pro-380 with Pro/Venix V2.0 (Sys V), "make sys3" or "make sys3nid"
236# ? for DEC Pro-380 with 2.9, 2.10, or 2.11 BSD, "make bsd29" or "make bsd210"
237# + for Dell UNIX Issue 2.x (= USL Sys V/386 R4.x + fixes), "make dellsys5r4"
238#     or "make dellsys5r4c"
239# + for DIAB DS90 with DNIX (any version) create an empty <sys/file.h> if
240#     this file does not already exist (or add -DNOFILEH to the make entry).
241# + for DIAB DS90 or LUXOR ABC-9000 with pre-5.2 DNIX, add "getcwd" to libc.a
242#     (see ckuins.doc), then "make dnixold".
243# + for DIAB DS90 with DNIX 5.2 (Sys V.2) or earlier, "make dnix",
244#     "make dnixnd", or (to add curses and TCP/IP) "make dnixnetc",
245# + for DIAB DS90 with DNIX 5.3 (Sys V.3), "make dnix5r3"
246# + for DIAB DS90 with DNIX 5.3 (Sys V.3) and TCP/IP, "make dnix5r3net"
247# + for DIAB DS90 with DNIX 5.3 2.2 (Sys V.3), ANSI C, "make dnix5r3ansi"
248#     or, to include TCP/IP, "make dnix5r3ansinet",
249#     but you have to fix a bug in /usr/include/stdlib.h first:
250#     change "extern void free(char *str);" to "extern void free(void *str);"
251# + for Dolphin Server Technology Triton 88/17 with SV/88 R3.2, "make sv88r32"
252# + for Encore Multimax 310, 510 with Umax 4.2, "make umax42"
253# + for Encore Multimax 310, 510 with Umax 4.3, "make umax43"
254# + for Encore Multimax 310, 510 with Umax V 2.2, use Berkeley cc, "make bsd"
255# + for Encore 88K with Umax V 5.2, "make encore88k"
256# + for ESIX System V R4.0.3 or 4.04 with TCP/IP support, "make esixr4"
257# + for Everex STEP 386/25 Rev G with ESIX Sys V R3.2D, "make sys5r3"
258# ? for Fortune 32:16, For:Pro 1.8, "make ft18"
259# + for Fortune 32:16, For:Pro 2.1, "make ft21"
260# + for FPS 500 with FPX 4.1, "made bsd"
261# + for FreeBSD 1.0, "make freebsd"
262# + for FreeBSD 2.0, "make freebsd2"
263# + for Harris HCX-2900, "make sys5r3"
264# ? for Harris Night Hawk 88K or 68K with CX/UX pre-6.1, "make sys5r3"
265# + for Harris Night Hawk 88K or 68K with CX/UX 6.1 or later, "make cx_ux"
266# ? for Heurikon, "make sys3"
267# ? for HP-3000, MPE/ix, "make posix"?
268# + for HP-9000 Series 500, HP-UX 5.21 with WIN/TCP 1.2 "make hpux500wintcp"
269# + for HP-9000 Series, HP-UX < 6.5, without long filenames, no job control,
270#     "make hpuxpre65"
271# + for HP-9000 Series, HP-UX pre-7.0, without long filenames, "make hpux"
272# + for HP-9000 Series, HP-UX 6.5, without long filenames,
273#     "make hpux65" or "make hpux65c"
274# + for HP-9000 Series, HP-UX 7.0 or later, no long filenames, "make hpux7sf"
275#     or (to include tcp/ip, curses, etc) "make hpux7sftcpc"
276# + for HP-9000 Series with HP-UX Sys V R2, BSD long names, "make hpuxlf"
277# + for HP-9000 Series with HP-UX Sys V R2, dirent long names, "make hpuxde"
278#     or (to include TCP/IP support) "make hpuxdetcp"
279# + for HP-9000 Series with HP-UX Sys V R3, "make hpuxs5r3"
280# + for HP-9000 Series with HP-UX 7.0, TCP/IP, long filenames, "make hpux70lfn"
281# + for HP-9000 300/400 Series (680x0) with HP-UX 8.0, TCP/IP, "make hpux80"
282#      or "make hpux80c"
283# + for HP-9000 700/800 Series (PA-RISC), HP-UX 8.0, TCP/IP, "make hpux80pa"
284#      or "make hpux80pac"
285# + for HP-9000 Series with HP-UX 8.0, no TCP/IP, long filenames,
286#      "make hpux80notcp" or "make hpuxde"
287# + for HP-9000 Series, HP-UX 9.0 - 9.10, TCP/IP, curses, restricted compiler
288#     (no optimization, no ANSI), all models, "make hpux90".  Read the hpux90
289#     entry below for more info.
290# + for HP-9000 700 and 800 Series, HP-UX 9.x, TCP/IP, curses,
291#     HP optimizing ANSI C compiler, "make hpux90o700".
292# + for HP-9000 with Motorola CPUs, HP-UX 9.x, TCP/IP, curses,
293#     HP optimizing ANSI C compiler, "make hpux90mot".
294# + for HP-9000 on other CPUs, HP-UX 9.x, TCP/IP, curses,
295#     HP optimizing ANSI C compiler, "make hpux90o".
296# + for HP-9000 series, HP-UX 9.x, TCP/IP, curses, gcc, all models,
297#     "make hpux90gcc"
298# + for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
299#     curses, restricted compiler (no optimization, no ANSI) "make hpux100".
300# + for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
301#     curses, HP ANSI/optimizing compiler "make hpux100o" or "make hpux100o+"
302# ? for IBM 370 Series with IX/370, "make ix370"
303# + for IBM 370 Series with AIX/370 1.2, "make aix370"
304# ? for IBM 370 Series with AIX/370 3.0, "make aix370"
305# + for IBM 370 Series with AIX/ESA 2.1, "make aixesa"
306# - for IBM PC/AT 286 & compatibles with Mark Williams Coherent OS,
307#     command-line-only version, "make coherent" (version 5A is too big)
308# + for IBM PC 386 & compatibles with Mark Williams Coherent OS,
309#     minimum interactive version, "make coherentmi"
310# + for IBM PC 386 & compatibles with Mark Williams Coherent OS,
311#     full interactive version, prior to v4.2, "make coherentmax"
312# + for IBM PC 386 & compatibles with Mark Williams Coherent OS 4.2,
313#     "make coherent42"
314# + for IBM PC 386 & compatibles with LynxOS 2.0 or 2.1, "make lynx21"
315# + for IBM PC 386 & compatibles with LynxOS 2.2, "make lynx"
316# - for IBM PC/AT & compatibles with original MINIX, "make minix" (too big)
317# + for IBM PC/AT & compatibles with MINIX, new compiler, "make minixnew"
318# + for IBM PC family, 386-based, with MINIX/386, "make minix386"
319#     or if you have GNU CC, "make minix386gcc"
320# + for IBM PS/2 with PS/2 AIX 1.0, 1.1, or 1.2, "make ps2aix" on make level
321#      1009 with U401450
322# + for IBM PS/2 with PS/2 AIX 1.3, "make ps2aix3"
323# + for IBM RISC System/6000 with AIX 3.0 or 3.1 "make rs6000" or
324#     "make rs6000c" on make level 2008, 3.1.8
325# + for IBM RISC System/6000 with AIX 3.2.0 thru 3.2.5
326#     "make rs6aix32" or "make rs6aix32c"
327# + for IBM RISC System/6000 with AIX 4.1 or AIX 4.1.1, "make rs6aix41c"
328# ? for IBM RT PC with AIX 2.1, "make sys3"
329# + for IBM RT PC with AIX 2.2.1, "make rtaix" or "make rtaixc"
330# ? for IBM RT PC with ACIS 4.2, "make bsd"
331# + for IBM RT PC with ACIS 4.3, "make rtacis" or "make bsd KFLAGS=-DNOANSI"
332# + for IBM RT PC with 4.3BSD/Reno, "make bsd44" or "make bsd44c"
333# + for ICL DRS400 or 400E, "make iclsys5r3"
334# + for ICL DRS3000 (80486) with DRS/NX, "make iclsys5r4_486"
335# + for ICL DRS6000 (SPARC) with DRS/NX, "make iclsys5r4"
336# + Integrated Solutions Inc V8S VME 68020, "make isi"
337# + for Intel 302 with Bell Tech Sys V/386 R3.2, "make sys5r3"
338# ? for Intel Xenix/286, "make sco286"
339# ? for Interactive System III (PC/IX), "make pcix" or "make is3"
340# + for Interactive System III (PC/IX) with gcc, "make is3gcc"
341# + for Interactive 386/ix 1.0.6 with TCP/IP networking, "make is5r3net2"
342# + for Interactive 386/ix 2.0.x, "make is5r3" or (POSIX) "make is5r3p"
343# + for Interactive 386/ix 2.0.x with TCP/IP networking, "make is5r3net"
344#     or "make is5r3net2"
345# + for Interactive 386/ix 2.2.1, job control, curses, no net, gcc,
346#     "make is5r3gcc"
347# + for Interactive UNIX Sys V R3.2 V2.2 - 4.0 without TCP/IP, "make is5r3jc"
348# + for Interactive UNIX Sys V R3.2 V2.2 - 4.0 with TCP/IP, "make is5r3netjc"
349# + for Intergraph Clipper, "make clix" or "make clixnetc"
350# + for Jolix (see 386BSD)
351# + for Linux, "make linux" or (to remove TCP/IP) "make linuxnotcp".
352#     For static linking, use "make linuxs".  IMPORTANT: Read the comments
353#     that accompany the "linux:" entry.
354# + for Linux with lcc compiler, "make linuxnotcp-lcc"
355# + for Luxor ABC-9000 (DIAB DS-90) with pre-5.2 DNIX, add "getcwd" to libc.a
356#     (see ckuins.doc), then "make dnixold".
357# + for Mach 2.6 on (anything, e.g. DECstation), "make bsd42" or "make bsd43".
358# + for MachTen (Tenon) 2.1.1.D on (e.g.) Apple Powerbook, "make machten".
359# ? for Masscomp RTU AT&T System III, "make rtu"
360#   for other Masscomp, see Concurrent.
361# ? for Microport SV/AT (System V R2), "make mpsysv" (last edit tested: 144)
362# + for Microport SVR4 2.2, 3.1, or 4.1 "make sys5r4sx"
363# ? for Microsoft,IBM Xenix (/286, PC/AT, etc), "make xenix" or "make sco286"
364# + for MIPS System with RISC/os (UMIPS) 4.52 = AT&T SVR3, "make mips"
365#     or "make mipstcpc"
366# ? for MkLinux on Power Macintosh, "make linux"
367# + for Modcomp 9730, Real/IX, "make sys5r3" (or modify to use gcc = GLS cc)
368# + for Modcomp Realstar 1000 with REAL/IX D.1, "make sv88r32"
369# ? for Motorola Four Phase, "make sys3" or "make sys3nid"
370# + for Motorola Delta System V/68 R3, "make sv68r3"
371# + for Motorola Delta System V/68 R3V5, "make sv68r3v5"
372# + for Motorola Delta System V/68 R3V5.1, "make sv68r3v51"
373# + for Motorola Delta System V/68 R3V6 with NSE TCP/IP, "make sv68r3v6"
374# + for Motorola Delta System V/88 R32, "make sv88r32"
375# + for Motorola Delta System V/88 R40, "make sv88r40"
376# + for Mt Xinu Mach386 on 386/486-based PCs, "make bsd43"
377# ? for NCR Tower 1632, OS 1.02, "make tower1"
378# + for NCR Tower 1632 or Minitower with System V R2, "make sys3"
379#     or "make sys3nv"
380# + for NCR Tower 32, OS Release 1.xx.xx, "make tower32-1"
381# + for NCR Tower 32, OS Release 2.xx.xx, "make tower32-2"
382# + for NCR Tower 32, OS Releases based on Sys V R3, "make tower32"
383# + for NCR Tower 32, OS Releases based on Sys V R3 with gcc "make tower32g"
384# + for NCR System 3000, AT&T UNIX System V R4 2.0, "make sys5r4sxna"
385# + for NCR System 3000, AT&T UNIX System V R4 2.0 with Wollongong TCP/IP,
386#     "make sys5r4net2" or "make sys5r4net2c".
387#      Some header files might misplaced; try this:
388#       ln /usr/include/netinet/in.h /usr/include/sys/in.h
389#       ln /usr/include/arpa/inet.h /usr/include/sys/inet.h
390#       ln /usr/include/sys/termiox.h /usr/include/termiox.h
391# + for NCR System 3000, NCR UNIX 02.02.01, same as above.
392# + for NCR MP-RAS System V R4 V2.03, same as above.
393# + for NCR System 3000, NCR UNIX 02.03.x or 02.04.x, "make sys5r4net2c"
394# + for NetBSD on PC 386/486,..., "make netbsd" or (ncurses) "make netbsdn"
395# + for NeXT with NeXTSTEP 1.0 through 3.2, "make next" (on a NeXT)
396# + for NeXT with NeXTSTEP 3.3, "make next33"
397# + for NeXTSTEP/486, "make next" (on a PC)
398# + for NeXTSTEP portable binary (runs on Intel or Motorola), "make nextfat"
399# + for Nixdorf Targon/31, "make t31tos40x"
400# + for Norsk Data Uniline 88/17 with SV/88 R3.2, "make sv88r32"
401#   for Novell UnixWare - see UnixWare
402# + for OSF/1 (vanilla, from OS/F), "make posix"
403# + for OkiStation 7300 Series, "make sys5r4sxtcp"
404# + for Olivetti LSX-3020 with X/OS R.2.3, "make xos23" or "make xos23c"
405# ? for OpenBSD, "make netbsd"?
406# + for Perkin-Elmer (Concurrent) 3200 series, "make sys5".
407# + for Perkin-Elmer (Concurrent) 3200 series with <dirent.h>, "make ccop1"
408# + for Perkin-Elmer/Concurrent 3200 with Xelos R02, "make ccop1"
409# + for PFU Compact A Series SX/A TISP V10/E50 (Japan), "make sxae50"
410# ? for Plexus, "make sys3"
411# + for Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1,
412#     "ucb make pyramid" or for HDB UUCP, "ucb make pyramid-hdb" or:
413# + for Pyramid MIServer S or ES Series, DataCenter/OSx, "make pyrdcosx"
414# + for Pyramid MIS-S MIPS R3000, DataCenter OSx System V R4, "make pyrdcosx"
415# + for POSIX on anything, "make posix" (but adjustments might be necessary).
416# + for POSIX on SunOS 4.1 or later, "make sunposix"
417# + for Prime 8000 MIPS, SVR3, "make mips" or "make mipstcpc"
418# + for QNX 4.0 or 4.1, 16-bit, on 286 PC, Watcom C 8.5, "make qnx16_41"
419# + for QNX 4.21 - 4.22A (286+), and 4.23 (386+), 16-bit, Watcom C 9.5x,
420#     "make qnx16"
421# + for QNX 4.21 and above, 32-bit, 386 or above, Watcom C 10.6, "make qnx32"
422#     NOTE: Default is qnx32 ("make qnx")
423# ? for Ridge 32 (ROS3.2), "make ridge32"
424# ? for Samsung MagicStation, "make sys5r4"
425# ? for SCO Xenix 2.2.1 with development system 2.2 on 8086/8 "make sco86"
426# + for SCO Xenix/286 2.2.1 with development system 2.2 on 80286, "make sco286"
427#     NOTE: reportedly this makefile is too long for SCO Xenix/286 make, but it
428#     works with "makeL", or if some of the other make entries are edited out.
429# + for SCO Xenix/386 2.2.2, "make sco386"
430# + for SCO Xenix/386 2.3.x, "make sco3r2" or "make sco3r2x"
431# + for SCO Xenix/386 SCO 2.3.3 or 2.3.4 with gcc 1.37 or later,
432#     "make sco386gcc" or (to add curses) "make sco386gccc".
433# + for SCO Xenix/386 or UNIX/386 with Excelan TCP/IP, "make sco3r2net"
434#     or (to add curses support) "make sco3r2netc" or "sco386netc"
435# + for SCO Xenix 2.3.x with Racal-InterLan TCP/IP, "make sco3r2netri"
436# + for other UNIX varieties with Racal Interlan TCP/IP, read sco3r2netri entry
437# + for SCO Xenix 2.3.x with SCO (Lachman) TCP/IP, "make sco3r2lai"
438#     or (to add curses) "make sco3r2laic"
439#   for SCO UNIX...  ALSO READ COMMENTS in the SCO UNIX entries for more info!
440# + for SCO UNIX/386 3.2.0 or 3.2.1, "make sco3r2" or "make sco3r2x"
441# + for SCO UNIX/386 3.2.2, "make sco3r22" or "make sco3r22gcc"
442#     or "make sco3r22c"
443# + for SCO UNIX/386 3.2.2 with SCO TCP/IP, "make sco3r22net"
444#     or "make sco3r22netc" (curses)
445# + for SCO ODT 1.1, "make sco3r22net" or "make sco3r22netc" (curses)
446# + for SCO UNIX/386 3.2 V4.x, no network support, "make sco32v4"
447# + for SCO UNIX/386 3.2 V5.0 - see SCO OpenServer.
448# + for SCO UNIX 3.2v4.x with TCP/IP, <dirent.h> for Extended Acer File
449#     System (EAFS), curses, ANSI C compilation, "make sco32v4net"
450# + for SCO UNIX 3.2v4.2, "make sco_odt30"
451#
452# NOTE: Also see below for other entries that are variations on these,
453# e.g. to compile with gcc rather than the SCO Development System.
454# Also be sure to read the comments accompanying each SCO entry.
455#
456# + for SCO ODT 2.0, "make sco32v4net"
457# + for SCO ODT 3.0, "make sco_odt30"
458# + for SCO OpenServer 5.0 (OSR5), "make sco32v5"
459# + for SCO OpenServer 5.0 (OSR5) with networking, "make sco32v5net"
460# + for SCO OpenServer 5.0 (OSR5), gcc, "make sco32v5gcc"
461# + for SCO OpenServer 5.0 (OSR5), gcc, with networking, "make sco32v5netgcc"
462# + for SCO OpenServer 5.0 (OSR5) as above, ELF binary, "make sco32v5netgccelf"
463#   for SCO UnixWare - see UnixWare
464# + for Sequent with DYNIX/ptx 1.2.1, "make dynixptx12"
465# + for Sequent with DYNIX/ptx 1.3 or 1.4 with TCP/IP, "make dynixptx13"
466# + for Sequent with DYNIX/ptx 2.0 or 2.1 with TCP/IP, "make dynixptx20"
467#     or "dynixptx20c"
468# + for Sequent with DYNIX/ptx 4.0 V4.1.3 with TCP/IP, "make dynixptx41c"
469# + for Sequent Balance 8000 or B8 with DYNIX 3.0.xx, "make dynix3"
470#    or "make dynix3noacu"
471# + for Sequent Symmetry S81 with DYNIX 3.0.xx, "make dynix3"
472# + for Sequent DYNIX 3.1.xx, "make dynix31" or "make dynix31c"
473# + for Siemens/Nixdorf SINIX-N MIPS V5.42, "make sinix542"
474# + for Silicon Graphics Iris System V IRIX 3.2 or earlier, "make iris"
475# + for Silicon Graphics Sys V R3 with IRIX 3.3 or later, "make sys5r3"
476# + for Silicon Graphics Iris Indigo with IRIX 4.0 or 5.0, "make irix40" or
477#     (to include Yellow Pages and Curses) "make irix40ypc"
478# + for Silicon Graphics Iris Indigo or Elan with IRIX 4.0.x with microcode
479#     optimization and -O4, "make irix40u" or "irix40uc" (and read notes
480#     accompanying these entries).
481# + for Silicon Graphics IRIX 5.1/5.2/5.3, "make irix51".
482# + for Silicon Graphics models with IRIX 6.0, "make irix60".
483# + for Solaris 2.0-2.4 on SPARC or Intel, SunPro CC, "make solaris2x",
484# +   or to add SunLink X.25 8.0x support, "make solaris2x25".
485# + for Solaris 2.0-2.4 on SPARC or Intel, GNU CC, "make solaris2xg".
486# + for Solbourne 4/500 with OS/MP 4 "make sunos4"
487# + for Solbourne 4/500 with OS/MP 4.1 "make sunos41" or "make sunos41c"
488# + for SONY NEWS with NEWS-OS 4.0.1C, "make sonynews"
489# + for SONY NEWS with NEWS-OS 4.1.2C, "make sonynews"
490# + for Sperry/UNISYS 5000/20, UTS V 5.2 3R1, "make sys5"
491# + for Sperry/UNISYS 5000/30/35/50/55, UTS V 5.2 2.01, "make unisys5r2"
492# + for Sperry/UNISYS 5000/80 with System V R3, "make sys5r3"
493# + for Sperry/UNISYS 5000/95 with System V R3, "make sys5r3"
494#     For UNISYS SVR3 it might be necessary to "make sys5r3 KFLAGS=-UDYNAMIC"
495# + for Stardent 1520, "make sys5r3"
496# + for Stratus, various models, FTX 2.1, probably also 2.2, "make sys5r4"
497# + for Sun with Sun UNIX 3.5 and gcc, "make sunos3gcc"
498# + for Sun with pre-4.0 SunOS versions, "make bsd" (or appropriate variant)
499# + for Sun with SunOS 4.0, BSD environment, "make sunos4"
500# + for Sun with SunOS 4.0, BSD, with SunLink X.25, make sunos4x25
501# + for Sun with SunOS 4.0, AT&T Sys V R3 environment, "make sunos4s5"
502# + for Sun with SunOS 4.1 or 4.1.1, BSD environment, "make sunos41"
503#     or "make sunos41c" (curses) or "make sunos41gcc" (compile with gcc)
504# + for Sun with SunOS 4.1.x, BSD, with SunLink X.25 7.00 or earlier,
505#     "make sunos41x25" or "make sunos41x25c" (curses)
506# + for Sun with SunOS 4.1, 4.1.1, AT&T Sys V R3 environment, "make sunos41s5"
507# + for Sun with SunOS 4.1, 4.1.1, POSIX environment, "make sunposix"
508# + for Sun with SunOS 4.1.2, "make sunos41" or any of its variations.
509#     NOTE:  All SunOS 4.x systems -- Shared libraries are used by default.
510#       If this causes problems, add -Bstatic to CFLAGS.
511#     NOTE2: When building C-Kermit under SunOS for the BSD universe,
512#       but /usr/5bin/cc is ahead of /usr/ucb/cc in your PATH, add
513#       "CC=/usr/ucb/cc CC2=/usr/ucb/cc" to the make entry.
514#     NOTE3: If an executable built on one type of Sun hardware does not work
515#       on another type, rebuild the program from source on the target machine.
516# + for Sun with Solaris 1.x use SunOS 4.1 entries.
517# + for Sun with Solaris 2.0 through 2.5 and SunPro CC, "make solaris2x"
518# + for Sun with Solaris 2.0 through 2.5 and GNU CC, "make solaris2xg"
519# + for Tandy 16/6000 with Xenix 3.0, "make trs16"
520# + for Tektronix 6130/4132/43xx (e.g.4301) with UTek OS, "make utek"
521#     or (for models without hardware flow control), "make uteknohwfc"
522# + for Tektronix XD88 series with UTekV OS, "make utekvr3"
523# + for Tri Star Flash Cache with Esix SVR3.2, "make sys5r3"
524# ? for Unistar, "make sys5"
525# + for UNISYS S/4040 68040 CTIX SVR3.2 6.4.1, "make ctix" or "make sys5r3"
526# + for UNISYS U5000 UNIX SVR3 6.x, "make sys5r3" or "make sys5r3c"
527# + for UNISYS U6000 UNIX SVR4 1.x, "make sys5r4nx" or "make sys5r4nxnetc"
528#   for UNISYS ... (also see Sperry)
529#   for Univel - see UnixWare
530# + for UnixWare, "make unixware" or "make unixwarenetc"
531# ? for Valid Scaldstar, "make valid"
532# ? for Whitechapel MG01 Genix 1.3, "make white"
533# ? for Zilog ZEUS 3.21, "make zilog"
534#
535# The result should be a runnable program called "wermit" in the current
536# directory.  After satisfactory testing, you can rename wermit to "kermit"
537# and put it where users can find it.
538#
539# To remove intermediate and object files, "make clean".
540# If your C compiler produces files with an extension other than "o",
541# then "make clean EXT=u", "make clean EXT=s", or whatever.
542#
543# To run lint on the source files, "make lintsun", "make lintbsd",
544# "make lints5", as appropriate.
545#
546##############################################################################
547#
548# NOTES FOR V7 AND 2.X BSD (BASED ON VERSION 4E OF C-KERMIT):
549#
550# For Unix Version 7, several variables must be defined to the values
551# associated with your system.  BOOTNAME=/edition7 is the kernel image on
552# okstate's Perkin-Elmer 3230.  Others will probably be /unix.  PROCNAME=proc
553# is the name of the structure assigned to each process on okstate's system.
554# This may be "_proc" or some other variation.  See <sys/proc.h> for more
555# info on your systems name conventions.  NPROCNAME=nproc is the name of a
556# kernel variable that tells how many "proc" structures there are.  Again
557# this may be different on your system, but nproc will probably be somewhere.
558# The variable NPTYPE is the type of the nproc variable -- int, short, etc.
559# which can probably be gleaned from <sys/param.h>.  The definition of DIRECT
560# is a little more complicated.  If nlist() returns, for "proc" only, the
561# address of the array, then you should define DIRECT as it is below.  If
562# however, nlist() returns the address of a pointer to the array, then you
563# should give DIRECT a null definition (DIRECT= ).  The extern declaration in
564# <sys/proc.h> should clarify this for you.  If it is "extern struct proc
565# *proc", then you should NOT define DIRECT.  If it is "extern struct proc
566# proc[]", then you should probably define DIRECT as it is below.  See
567# ckuv7.hlp for further information.
568#
569# For 2.9 BSD, the makefile may use pcc rather than cc for compiles; that's
570# what the CC and CC2 definitions are for (the current version of the
571# makefile uses cc for both; this was tested in version 4E of C-Kermit and
572# worked OK on the DEC Pro 380, but all bets are off for version 5A).  2.9
573# support basically follows the 4.1 path.  Some 2.9 systems use "dir.h" for
574# the directory header file, others will need to change this to "ndir.h".
575#
576# The v7 and 2.9bsd versions assume I&D space on a PDP-11.  When building
577# C-Kermit for v7 on a PDP-11, you should probably add the -i option to the
578# link flags.  Without I&D space, overlays will be necessary (if available),
579# or code segment mapping (a`la Pro/Venix) if that's available.
580#
581# C-Kermit 5A (and 6.0?) can be built for 2.10 and 2.11BSD, using overlays,
582# but a separate makefile is used because this one is too big.
583#
584##############################################################################
585#
586# V7-specific variables.
587# These are set up for Perkin-Elmer 3230 V7 Unix:
588#
589PROC=proc
590DIRECT=
591NPROC=nproc
592NPTYPE=int
593BOOTFILE=/edition7
594#
595# ( For old Tandy TRS-80 Model 16A or 6000 V7-based Xenix, use PROC=_proc,
596#   DIRECT=-DDIRECT, NPROC=_Nproc, NPTYPE=short, BOOTFILE=/xenix )
597#
598###########################################################################
599#
600#  Compile and Link variables:
601#
602#  EXT is the extension (file type) for object files, normally o.
603#  See MINIX entry for what to do if another filetype must be used.
604#
605EXT=o
606#LNKFLAGS=
607SHAREDLIB=
608CC= cc
609CC2= cc
610MAKE= make
611SHELL=/bin/sh
612#
613###########################################################################
614# SAMPLE ONLY.
615# Easy installation. Modify this to suit your own computer's file organization
616# and permissions.  If you don't have write access to the destination
617# directories, "make install" will fail.  In many cases, a real installation
618# will also require you to chown / chgrp for the UUCP lockfile and/or tty
619# devices, and perhaps also to chmod +s the appropriate permission fields.
620
621WERMIT = makewhat
622DESTDIR =
623BINDIR = /usr/local/bin
624MANDIR = /usr/man/manl
625MANEXT = l
626ALL = $(WERMIT)
627
628all: $(ALL)
629
630install: $(ALL)
631        cp wermit $(DESTDIR)$(BINDIR)/kermit
632# The following can fail if the program image was already stripped,
633# for example by the link flags in the makefile entry.
634#       strip $(DESTDIR)$(BINDIR)/kermit
635        chmod 755 $(DESTDIR)$(BINDIR)/kermit
636        cp ckuker.nr $(DESTDIR)$(MANDIR)/kermit.$(MANEXT)
637# To make sure 'man' notices the new source file and doesn't keep
638# showing the old formatted version, remove the old formatted version,
639# something like this:
640#       rm -f $(DESTDIR)$(MANDIR)/../cat$(MANEXT)/kermit.$(MANEXT)
641# or this (which requires CATDIR to be defined):
642#       rm -f $(DESTDIR)$(CATDIR)/kermit.$(MANEXT)
643        chmod 644 $(DESTDIR)$(MANDIR)/kermit.$(MANEXT)
644
645makewhat:
646        @echo 'make what?  You must tell which system to make C-Kermit for.'
647        @echo Examples:  make hpux90, make sys5r4, make solaris2x, etc.
648        @echo Please read the comments at the beginning of the makefile.
649
650###########################################################################
651#
652# Dependencies Section:
653
654manpage: ckuker.nr
655
656wermit: ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
657                ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
658                ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) ckcfns.$(EXT) \
659                ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckucon.$(EXT) \
660                ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
661                ckcnet.$(EXT) ckusig.$(EXT)
662        $(CC2) $(LNKFLAGS) -o wermit ckcmai.$(EXT) ckutio.$(EXT) \
663                ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) \
664                ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) \
665                ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
666                ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) \
667                ckucon.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) \
668                ckusig.$(EXT) $(LIBS)
669
670#Malloc Debugging version
671
672mermit: ckcmdb.$(EXT) ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
673                ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
674                ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
675                ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
676                ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
677                ckuscr.$(EXT) ckcnet.$(EXT) ckusig.$(EXT)
678        $(CC2) $(LNKFLAGS) -o mermit ckcmdb.$(EXT) ckcmai.$(EXT) \
679                ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
680                ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
681                ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
682                ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
683                ckuusr.$(EXT) ckucon.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
684                ckcnet.$(EXT) ckusig.$(EXT) $(LIBS)
685
686###########################################################################
687# man page...
688#
689# WARNING: Using "cc -E" to preprocess the man page is not portable, but it
690# works OK in SunOS 4.1.x, HP-UX, etc.  We use the preprocessor to produce
691# custom man pages based on ifdef, else, and endif directives.  But the
692# preprocessor replaces omitted lines by blank lines and comment lines, so we
693# use grep to filter them out.  THIS MEANS THAT THE SOURCE FILE, ckuker.cpp,
694# MUST NOT CONTAIN ANY BLANK LINES!
695#
696ckuker.nr: ckuker.cpp
697        $(CC) $(CFLAGS) -E ckuker.cpp |grep -v "^$$" |grep -v "^\#" > ckuker.nr
698
699###########################################################################
700# Dependencies for each module...
701#
702ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h ckcsig.h \
703                ckuusr.h
704
705ckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h
706
707ckcpro.c: ckcpro.w wart ckcdeb.h ckcsym.h ckcasc.h ckcker.h
708        ./wart ckcpro.w ckcpro.c
709
710ckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
711                ckuxla.h
712
713ckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h
714
715ckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
716                ckuxla.h
717
718ckuxla.$(EXT): ckuxla.c ckcker.h ckcsym.h ckcdeb.h ckcxla.h ckuxla.h
719
720ckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcsym.h ckcdeb.h ckcxla.h \
721                ckuxla.h ckcasc.h ckcnet.h
722
723ckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
724                ckcasc.h ckcnet.h ckcsym.h
725
726ckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
727                ckcasc.h ckcnet.h ckcsym.h
728
729ckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
730                ckcasc.h ckcnet.h ckuver.h ckcsym.h
731
732ckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
733                 ckcsym.h
734
735ckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
736                 ckcsym.h
737
738ckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
739                ckcasc.h ckcnet.h ckcsym.h
740
741ckuusx.$(EXT): ckuusx.c  ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcsym.h ckcsig.h
742
743ckuusy.$(EXT): ckuusy.c  ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h
744
745ckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h ckcsym.h
746
747ckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h ckcsym.h
748
749ckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h ckcsym.h
750
751ckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h
752
753ckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h ckcsym.h ckcsig.h
754
755wart: ckwart.$(EXT)
756        $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT) $(LIBS)
757
758ckcmdb.$(EXT): ckcmdb.c ckcdeb.h ckcsym.h
759
760ckwart.$(EXT): ckwart.c
761
762ckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h ckcsym.h ckcsig.h
763
764ckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcsig.h
765
766ckusig.$(EXT): ckusig.c ckcasc.h ckcdeb.h ckcker.h ckcnet.h ckuusr.h ckcsig.h
767
768###########################################################################
769#
770# Entries to make C-Kermit for specific systems.
771#
772# Put the ones that need short makefiles first.
773
774bsd210:
775        @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.10BSD.
776
777bsd211:
778        @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.11BSD.
779
780#Apollo Aegis 9.x.  Includes TCP/IP support.
781#You can also add processor-dependent optimization switches like -M570.
782aegis:
783        @echo Making C-Kermit $(CKVER) for Apollo Aegis 9.x...
784        $(MAKE) wermit "CFLAGS= -DBSD4 -DDYNAMIC -DTCPSOCKET \
785        -DCK_CURSES -O $(KFLAGS)" "LIBS = -lcurses -ltermcap"
786
787#Apple Mac II, A/UX pre-3.0
788#Warning, if "send *" doesn't work, try the auxufs makefile entry below.
789aux:
790        @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
791        $(MAKE) wermit "CFLAGS = -DAUX -DDYNAMIC -DTCPSOCKET \
792        $(KFLAGS) -i -O" "LNKFLAGS = -i"
793
794#Apple Mac II, A/UX pre-3.0, compiled with gcc
795auxgcc:
796        @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
797        $(MAKE) wermit "CFLAGS = -DAUX -DDYNAMIC -DTCPSOCKET \
798        -traditional $(KFLAGS) -i -O" "LNKFLAGS = " "CC = gcc" "CC2 = gcc"
799
800#Apple Mac II, A/UX, pre-3.0, but with ufs file volumes, uses <dirent.h>.
801auxufs:
802        @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
803        $(MAKE) wermit "CFLAGS = -DAUX -DDYNAMIC -DTCPSOCKET -DDIRENT \
804        $(KFLAGS) -i -O" "LNKFLAGS = -i"
805
806#Apple Mac II, A/UX 3.0, compiled with gcc
807aux3gcc:
808        @echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
809        $(MAKE) wermit "CFLAGS = -DAUX -DHDBUUCP -DLFDEVNO -DDYNAMIC \
810        -DTCPSOCKET -DDIRENT $(KFLAGS) -O2" "LNKFLAGS = -s" "LIBS = $(LIBS)" \
811        "CC=gcc -pipe -traditional" "CC2=gcc -pipe -traditional"
812
813#Apple Mac II, A/UX 3.0, compiled with gcc, uses curses
814aux3cgcc:
815        @echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
816        $(MAKE) "MAKE=$(MAKE)" aux3gcc "KFLAGS=$(KFLAGS) -DCK_CURSES" \
817        "LIBS = -lcurses $(LIBS)"
818
819#Bell Labs Research UNIX V10
820#Can't add TCP/IP because there is no sockets library.  It would have to
821#be done using streams, but there is no code in C-Kermit for that.
822#Remove -DNOJC if desired (if your system has csh, ksh, or bash).
823bellv10:
824        @echo Making C-Kermit $(CKVER) for Bell Labs Research UNIX V10...
825        $(MAKE) wermit "CFLAGS= -DBELLV10 -DBSD4 -DNDIR -DDYNAMIC -DNOJC \
826        -DNOSYSIOCTLH -DNOSETREU -DNOSETBUF -DNOCSETS -MINIDIAL $(KFLAGS)"
827
828#Berkeley Unix 4.1
829bsd41:
830        @echo Making C-Kermit $(CKVER) for 4.1BSD...
831        $(MAKE) wermit "CFLAGS= -DBSD41" "LIBS = -ljobs"
832
833#Berkeley 4.2, 4.3, also Ultrix-32 1.x, 2.x, 3.x, many others
834# Add -O, -DDYNAMIC, -s, etc, if they work.
835# If you have a version of BSD but signal() is void rather than int,
836# "make bsd KFLAGS=-DSIG_V".
837bsd:
838        @echo Making C-Kermit $(CKVER) for 4.2BSD...
839        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET $(KFLAGS)"
840
841#Berkeley 4.2, 4.3, minimum size
842bsdm:
843        @echo Making C-Kermit $(CKVER) for 4.2BSD...
844        $(MAKE) wermit "CFLAGS= -O -DBSD4 -DDYNAMIC -DNODIAL -DNOHELP \
845        -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOICP $(KFLAGS)" \
846        "LNKFLAGS = -s"
847
848#Berkeley Unix with HoneyDanBer UUCP
849bsdhdb:
850        @echo Making C-Kermit $(CKVER) for 4.2BSD with HDB UUCP...
851        $(MAKE) wermit "CFLAGS= -DHDBUUCP -DBSD4 -DTCPSOCKET $(KFLAGS)"
852
853#Berkeley Unix 4.3 with acucntrl program
854bsd43:
855        @echo Making C-Kermit $(CKVER) for 4.3BSD with acucntrl...
856        $(MAKE) wermit \
857        "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET $(KFLAGS) -O"
858
859#Ditto, with curses support.
860bsd43c:
861        @echo Making C-Kermit $(CKVER) for 4.3BSD with acucntrl and curses...
862        $(MAKE) wermit "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET \
863         -DCK_CURSES $(KFLAGS) -O"  "LIBS=-lcurses -ltermcap"
864
865#Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
866#but without acucntrl program
867bsdlck:
868        @echo Making C-Kermit $(CKVER) for 4.2BSD, /usr/spool/uucp/LCK/...
869        $(MAKE) wermit "CFLAGS= -DLCKDIR -DBSD4 -DTCPSOCKET $(KFLAGS)"
870
871#Berkeley UNIX 4.4-Lite, 4.4-Encumbered, Net/2, etc (Post-Reno),
872#with TCP/IP networking.  This includes NetBSD, FreeBSD, etc.
873#NOTE: This is not a pure POSIX configuration.  Using -DPOSIX instead of
874# -DBSD44 prevents any kind of directory-reading (for wildcard expansion),
875#and disallows use of ENOTCONN symbol for detecting broken network
876#connections, and disallows RTS/CTS flow control, and would also require
877#definition of the appropriate UUCP lockfile convention.
878#Do not add -DCK_POSIX_SIG without reading <signal.h> first!  For example,
879#sigsetjmp(), etc, tend to be defined but not implemented.
880bsd44:
881        @echo Making C-Kermit $(CKVER) for 4.4BSD...
882        $(MAKE) wermit \
883        "CFLAGS= -DBSD44 -DDYNAMIC -DTCPSOCKET $(KFLAGS) -O"
884
885#Berkeley UNIX 4.4, as above, but with curses for fullscreen display
886#Please read notes for bsd44 entry just above.
887bsd44c:
888        @echo Making C-Kermit $(CKVER) for 4.4BSD with curses...
889        $(MAKE) wermit \
890        "CFLAGS= -DBSD44 -DCK_CURSES -DDYNAMIC -DTCPSOCKET $(KFLAGS) -O" \
891        "LIBS= -lcurses -ltermcap"
892
893#NetBSD
894netbsd:
895        $(MAKE) bsd44c "KFLAGS=$(KFLAGS) -DNOCOTFMC"
896
897#NetBSD with ncurses
898netbsdn:
899        @echo Making C-Kermit $(CKVER) for NetBSD with ncurses...
900        $(MAKE) wermit \
901        "CFLAGS= -DBSD44 -DCK_CURSES -DDYNAMIC -DTCPSOCKET -DNOCOTFMC \
902        $(KFLAGS) -O" \
903        "LIBS= -lncurses -ltermcap"
904
905#Acorn RISCiX, based on ...
906#Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
907#but without acucntrl program
908riscix:
909        @echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
910        $(MAKE) wermit "CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
911                -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
912                -DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
913                -DFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL -DNOSETBUF \
914                -DNOANSI -w -O2 -fomit-frame-pointer" \
915                "LIBS= -lcurses -ltermcap " \
916                "CC= /usr/ucb/cc" \
917                "CC2= /usr/ucb/cc"
918
919#Acorn RISCiX, as above, but using gcc
920riscix-gcc:
921        @echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
922        $(MAKE) wermit "CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
923                -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
924                -DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
925                -DFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL -DNOSETBUF \
926                -DNOANSI -w -O2 -fomit-frame-pointer" \
927                "LIBS= -lcurses -ltermcap " \
928                "CC= gcc -mbsd" \
929                "CC2= gcc -mbsd"
930
931#Tektronix 6130, 4319, 4301, etc, with UTek OS, /usr/spool/uucp/LCK./...
932#The models that support hardware flow control.
933utek:
934        @echo 'Making C-Kermit $(CKVER) for 4.2BSD/UTek, hardware flow control'
935        $(MAKE) wermit \
936        "CFLAGS= -O -DLCKDIR -DBSD4 -DTCPSOCKET -DDYNAMIC \
937        -DUTEK -DDCLPOPEN -DLOCK_DIR=\\\"/usr/spool/uucp/LCK.\\\" \
938        -DTRMBUFL=2048 -DCK_DTRCTS $(KFLAGS)"
939
940#Tektronix 4315, 4316, 4317 with UTek OS, /usr/spool/uucp/LCK./...
941#The models that do not fully support hardware flow control.
942uteknohwfc:
943        @echo 'Making C-Kermit $(CKVER) for 4.2BSD/UTek, no h/w flow control'
944        $(MAKE) wermit \
945        "CFLAGS= -O -DLCKDIR -DBSD4 -DTCPSOCKET -DDYNAMIC \
946        -DUTEK -DDCLPOPEN -DLOCK_DIR=\\\"/usr/spool/uucp/LCK.\\\" \
947        -DTRMBUFL=2048 $(KFLAGS)"
948
949#Tektronix XD88 with  UTekV OS
950utekvr3:
951        @echo 'Making C-Kermit $(CKVER) for Tektronix XD88 UTekV R3...'
952        $(MAKE) wermit \
953        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC \
954        -DTCPSOCKET -DSYSUTIMEH -DCK_CURSES $(KFLAGS) -O" \
955        "LIBS= -lcurses" "LNKFLAGS= -s"
956
957#Convergent CTIX 6.4.1
958ctix:
959        @echo 'Making C-Kermit $(CKVER) for Convergent CTIX 6.4.1'
960        $(MAKE) wermit \
961        "CFLAGS= -DSVR3 -DDIRENT -DTCPSOCKET -DHDBUUCP -DCK_CURSES -DDYNAMIC \
962        -DNONAWS $(KFLAGS) -XO" "LNKFLAGS=-s" "LIBS=-lsocket -lcurses -lc_s"
963        mcs -d wermit
964
965# The following makefile entry should work for any Harris Night Hawk system
966# (either 88k or 68k based) running release 6.1 or later of the CX/UX
967# operating system. This is a POSIX and ANSI-C compliant system which also
968# supports BSD networking. (Earlier CX/UX releases will probably work with
969# sys5r3, but this has not been verified).
970#
971cx_ux:
972        @echo Making C-Kermit $(CKVER) for Harris Night Hawk CX/UX 6.1 or later
973        $(MAKE) wermit \
974        "CFLAGS=-DPOSIX -DTCPSOCKET -DHDBUUCP -DPID_T=pid_t -DWAIT_T=int \
975        -Dd_ino=d_fileno -DUID_T=uid_t -DGID_T=gid_t -DDYNAMIC $(KFLAGS) -Xa \
976        -O3 -g" "LNKFLAGS=-O3"
977
978#Perkin-Elmer 3200 Xelos R02 or earlier
979ccop1:
980        @echo 'Making C-Kermit $(CKVER) for Xelos & Public Domain Dirent calls'
981        @echo 'or System V R2 or earlier...'
982        $(MAKE) wermit \
983        "CFLAGS = -DATTSV -Dvoid=int -DDIRENT -DCK_CURSES \
984        $(KFLAGS) -O" "LNKFLAGS =" "LIBS= -lcurses -ltermlib"
985
986#Intergraph Clipper 2000, 3000, 4000, 5000, or 6000 with CLIX 3.1 = Sys V R3
987#Note, cc has been phased out, acc is used instead.  gcc can be substituted.
988clix:
989        $(MAKE) "CC=acc" "CC2=acc" sys5r3
990
991#Intergraph Clipper, as above plus curses, TCP/IP, job control, HDB UUCP.
992#Probably, should be added to regular clix entry too.
993clixnetc:
994        $(MAKE) wermit "CC=acc" "CC2=acc" \
995        "CFLAGS= -DSVR3JC -DSVR3 -DCK_CURSES -DDIRENT -DCK_NEWTERM \
996        -DTCP_SOCKET -HDBUUCP -DDYNAMIC $(KFLAGS) -O" \
997        "LNKFLAGS=" "LIBS= -lcurses -ltermlib -lbsd"
998
999#Mark Williams Coherent 286 or 386 on IBM PC family.
1000#There is a 64K limit on program size, so this is a command-line only version.
1001coherent:
1002        $(MAKE) "CFLAGS = -O -DCOHERENT -DDYNAMIC -DNOANSI -DNOICP -DNOSETKEY \
1003        -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG -DNOXMIT \
1004        -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DSELECT_H $(KFLAGS) -VSUVAR" wermit
1005
1006#Mark Williams Coherent 386 on IBM PC family.
1007#This will make a "minimum interactive" version - no scripts,
1008#no character sets, no help, no dial, no debug/transaction logging, no
1009#transmit, msend, mail, type, etc.
1010coherentmi:
1011        $(MAKE) "CFLAGS = -O -DCOHERENT -DDYNAMIC -DNOANSI -DNOSETKEY \
1012        -DNOSHOW -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG \
1013        -DNOXMIT -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DNOSERVER -DNOUUCP \
1014        -DNOSPL -DNOSETBUF -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ \
1015        -DNOCMDL $(KFLAGS) -VSUVAR -DSELECT_H" wermit
1016
1017#Mark Williams Coherent 386 on IBM PC/AT family.
1018coherentmax:
1019        $(MAKE) "CFLAGS = -O -DCOHERENT -DDYNAMIC -DNOANSI -DSELECT_H \
1020        -DNOSYSIOCTLH $(KFLAGS) -VSUVAR" "LNKFLAGS = -O -s" wermit
1021
1022#Mark Williams Coherent 386 4.2 on IBM PC/AT family
1023coherent42:
1024        $(MAKE) "CFLAGS = -T0 -O -DCOHERENT -DDYNAMIC -DNOANSI -DSELECT \
1025        -DDIRENT -DCK_CURSES -DCK_NEWTERM -DCK_WREFRESH -DNOSYSIOCTLH \
1026        -DSELECT_H $(KFLAGS) -VSUVAR" "LNKFLAGS = -O -s" \
1027        "LIBS  = -lsocket -lcurses" wermit
1028
1029#DEC Ultrix 2.x
1030# Add -O, -DDYNAMIC, -s, etc, if they work.
1031ultrix2x:
1032        @echo Making C-Kermit $(CKVER) for Ultrix 2.x ...
1033        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET -DDU2 $(KFLAGS)"
1034
1035du2:
1036        $(MAKE) "MAKE=$(MAKE)" ultrix2x
1037
1038#DEC Ultrix 3.1 (and probably also 3.0)
1039ultrix3x:
1040        @echo Making C-Kermit $(CKVER) for Ultrix 3.x...
1041        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET -DDIRENT -DSIG_V \
1042        -DDYNAMIC $(KFLAGS) -O" "LNKFLAGS = -s"
1043du3:
1044        $(MAKE) "MAKE=$(MAKE)" ultrix3x
1045
1046
1047#DEC Ultrix 4.0 or 4.1 on DECstation, VAXstation, VAX, etc.
1048ultrix40:
1049        @echo Making C-Kermit $(CKVER) for Ultrix 4.0 or 4.1...
1050        $(MAKE) wermit \
1051        "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDYNAMIC -DDU4 \
1052        $(KFLAGS) -Olimit 1450" "LNKFLAGS = -s"
1053
1054du4:
1055        $(MAKE) "MAKE=$(MAKE)" ultrix4x
1056
1057#DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
1058#Like du4, except now C compiler supports -O2 optimization.
1059ultrix42:
1060        @echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
1061        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDYNAMIC \
1062        $(KFLAGS) -O2 -Olimit 1750" "LNKFLAGS = -s"
1063
1064du42:
1065        $(MAKE) "MAKE=$(MAKE)" ultrix42
1066
1067#DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
1068#Like du42, but with curses support added
1069ultrix42c:
1070        @echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
1071        @echo WARNING - If you have problems with the executable
1072        @echo then rebuild without -O2.
1073        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDYNAMIC \
1074        -DCK_CURSES $(KFLAGS) -O2 -Olimit 1750" "LNKFLAGS = -s" \
1075        "LIBS= -lcurses -ltermcap"
1076
1077du42c:
1078        $(MAKE) "MAKE=$(MAKE)" ultrix42c
1079
1080#DEC Ultrix 4.3A or later on DECsystem and DECstation 5000/50, /150 or /260
1081#with MIPS R4x00 processor.  The "-mips3" switch generates R4000-specific
1082#code, which is faster and more compact, but *won't* run on earlier
1083#DECsystems and DECstations.
1084ultrix43-mips3:
1085        @echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
1086        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDYNAMIC \
1087        $(KFLAGS) -O2 -Olimit 1750 -mips3" "LNKFLAGS = -s -mips3"
1088
1089du43-mips3:
1090        $(MAKE) "MAKE=$(MAKE)" ultrix43-mips3
1091
1092#DEC Ultrix 4.3A or later on MIPS R4x000 based systems.
1093#Like ultrix43-mips3 but with curses support added
1094ultrix43c-mips3:
1095        @echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
1096        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDYNAMIC \
1097        -DCK_CURSES $(KFLAGS) -O2 -Olimit 1750 -mips3" "LNKFLAGS = -s -mips3" \
1098        "LIBS= -lcurses -ltermcap"
1099
1100du43c-mips3:
1101        $(MAKE) "MAKE=$(MAKE)" ultrix43c-mips3
1102
1103#DEC Ultrix 4.4 on DECstation 5000/50 or /150 with R4000 MIPS processor,
1104#or 5000/260 with R4400.  The "-mips3" switch generates R4000-specific code,
1105#which is faster and more compact but *won't* run on earlier DECstations.
1106ultrix44-mips3:
1107        @echo Making C-Kermit $(CKVER) for Ultrix 4.4, R4000 cpu ...
1108        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDYNAMIC \
1109        $(KFLAGS) -O2 -Olimit 1450 -mips3" "LNKFLAGS = -s -mips3"
1110
1111du44-mips3:
1112        $(MAKE) "MAKE=$(MAKE)" ultrix44c-mips3
1113
1114#DEC Ultrix 4.2 on DECstation, VAXstation, VAX, etc, System V R4 environment
1115ultrix42s5r4:
1116        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4 on Ultrix...'
1117        $(MAKE) wermit \
1118        "CFLAGS = -O2 -Olimit 1500 -DSVR4 -DDIRENT -DHDBUUCP \
1119        -DDYNAMIC -DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
1120
1121#OSF/1
1122osf:
1123        $(MAKE) wermit \
1124        "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
1125        -DDYNAMIC -DKANJI -DCK_CURSES -DCK_RTSCTS $(KFLAGS)" \
1126        "LNKFLAGS = -s" "LIBS = -lbsd -lcurses -ltermcap"
1127
1128#DEC OSF/1 V1.0-1.3 on DECstation, VAX, Alpha, or PC.
1129dec-osf:
1130        @echo Making C-Kermit $(CKVER) for DEC OSF/1 V1.x...
1131        @echo If you are building for DEC OSF/1 2.0, please use dec-osf20.
1132        @echo Remove or adjust -O2 and/or -Olimit if they cause trouble.
1133        $(MAKE) osf "KFLAGS= -O2 -Olimit 1460 $(KFLAGS)"
1134
1135#DEC OSF/1 2.0 on Alpha and probably nowhere else.
1136#The only difference from OSF/1 is that optimization is omitted.
1137#The optimized version gets strange runtime errors, like the PAUSE command
1138#not working.  Add "-unsigned" to make all chars unsigned.
1139dec-osf20:
1140        @echo Making C-Kermit $(CKVER) for DEC OSF/1 V2.0...
1141        @echo Optimization omitted because it causes runtime errors.
1142        @echo See comments in makefile.
1143        $(MAKE) osf "KFLAGS= -DOSF20 $(KFLAGS)"
1144
1145dec-osf30:
1146        @echo Making C-Kermit $(CKVER) for DEC OSF/1 V3.0...
1147        $(MAKE) osf "KFLAGS= -DOSF30 -O2 -Olimit 1760 $(KFLAGS)"
1148
1149#Digital UNIX 3.2
1150du32:
1151        @echo Making C-Kermit $(CKVER) for Digital UNIX 3.2...
1152        $(MAKE) osf \
1153        "KFLAGS= -DOSF32 -DHDBUUCP -O2 -Olimit 1760 $(KFLAGS)"
1154
1155dec-osf32:
1156        $(MAKE) "MAKE=$(MAKE)" du32
1157
1158du40:
1159        @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0...
1160        $(MAKE) osf \
1161        "KFLAGS= -DOSF40 -DHDBUUCP -unsigned -std1 -O3 -Olimit 1760 $(KFLAGS)"
1162
1163dec-osf40:
1164        $(MAKE) "MAKE=$(MAKE)" du40
1165
1166du40-ridiculous-checking:
1167        @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0.
1168        @echo Checking everything - assumes DECC...
1169        $(MAKE) osf "KFLAGS= -DOSF40 -DHDBUUCP -w0 -warnprotos -check \
1170        -portable -unsigned -std1 -O3 -Olimit 1760 $(KFLAGS)"
1171
1172#Sequent DYNIX/ptx 1.2.1
1173dynixptx12:
1174        @echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.2.1...
1175        $(MAKE) wermit \
1176        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DPTX \
1177        -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t $(KFLAGS) -i -O" \
1178        "LNKFLAGS = -i"
1179
1180#Sequent DYNIX/ptx 1.3 or 1.4
1181dynixptx13:
1182        @echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.3 TCP/IP...
1183        $(MAKE) wermit \
1184        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DPTX -DCK_POLL -O \
1185        -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DTCPSOCKET $(KFLAGS) -i" \
1186        "LNKFLAGS = -i" "LIBS = -lsocket -linet -lnsl"
1187
1188#Sequent DYNIX/ptx 2.0, ANSI C compilation
1189#Should work on any hardware platform when DYNIX/ptx runs, including
1190#386, 486, Pentium.
1191dynixptx20:
1192        @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
1193        $(MAKE) wermit \
1194        "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
1195        -DWAIT_T=int -DNOSETBUF -DPTX  -O" \
1196        "LIBS = -lsocket -linet -lnsl"
1197
1198#Sequent DYNIX/ptx 2.0, ANSI C compilation, with curses
1199dynixptx20c:
1200        @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
1201        $(MAKE) wermit \
1202        "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
1203        -DWAIT_T=int -DNOSETBUF -DPTX  -DCK_CURSES -DCK_NEWTERM -O" \
1204        "LIBS = -lsocket -linet -lnsl -lcurses -ltermcap"
1205
1206#Sequent DYNIX/ptx 4.0, ANSI C compilation, with curses
1207dynixptx41c:
1208        @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.1...'
1209        $(MAKE) wermit \
1210        "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
1211        -DWAIT_T=int -DNOSETBUF -DPTX  -DCK_CURSES -DCK_NEWTERM -O" \
1212        "LIBS = -lsocket -lnsl -lcurses -ltermcap"
1213
1214#Sequent DYNIX 3.0.x
1215dynix3:
1216        @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
1217        $(MAKE) wermit \
1218        "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -O \
1219        -DPWUID_T=int -DGID_T=int $(KFLAGS)"
1220
1221#Sequent DYNIX 3.0.x, no ACUCNTRL
1222dynix3noacu:
1223        @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
1224        $(MAKE) wermit "CFLAGS= -DBSD43 -DLCKDIR -DTCPSOCKET -O \
1225        -DUID_T=int -DGID_T=int $(KFLAGS)"
1226
1227#Sequent DYNIX 3.1.x
1228dynix31:
1229        @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.x...
1230        $(MAKE) wermit \
1231        "CFLAGS= -O -DDYNAMIC -DDCLPOPEN -DLCKDIR -DBSD4 -DTCPSOCKET $(KFLAGS)"
1232
1233#Sequent DYNIX 3.1.2, as above but with curses, to be compiled by gcc 2.3.3.
1234dynix31c:
1235        @echo 'Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.2, curses...'
1236        $(MAKE) wermit "CFLAGS= -O2 -DDYNAMIC -DDCLPOPEN -DACUCNTRL \
1237        -DBSD43 -DTCPSOCKET -DCK_CURSES -DNOSETBUF -DUID_T=int \
1238        $(KFLAGS)" "LIBS= -lcurses -ltermcap"
1239
1240#Encore, UMAX 4.3 (BSD) but without acucntrl program.
1241encore:
1242        $(MAKE) "MAKE=$(MAKE)" umax43 "KFLAGS=$(KFLAGS)"
1243
1244#Encore, as above, but with curses file transfer display included.
1245encorec:
1246        $(MAKE) "MAKE=$(MAKE)" umax43 "KFLAGS=-DCK_CURSES $(KFLAGS)" \
1247        "LIBS= -lcurses -ltermcap"
1248
1249#Encore, UMAX 4.3 (BSD) but without acucntrl program.
1250umax43:
1251        @echo Making C-Kermit $(CKVER) for Encore UMAX 4.3...
1252        $(MAKE) "MAKE=$(MAKE)" PARALLEL=4 wermit \
1253        "CFLAGS= -DBSD43 -DENCORE -DDYNAMIC -DKANJI -DTCPSOCKET $(KFLAGS) -O"
1254
1255#Encore, UMAX 4.2 (BSD)
1256umax42:
1257        @echo Making C-Kermit $(CKVER) for Encore UMAX 4.2...
1258        $(MAKE) "MAKE=$(MAKE)" PARALLEL=4 wermit \
1259        "CFLAGS= -DBSD4 -DENCORE -DDYNAMIC -DTCPSOCKET $(KFLAGS) -O"
1260
1261#Encore 88K UMAX 5.3 with TCP/IP support
1262encore88k:
1263        @echo 'Making C-Kermit $(CKVER) for Encore 88K UMAX V, TCP/IP...'
1264        $(MAKE) wermit \
1265        "CFLAGS = -q ext=pcc -DSVR3 -DTCPSOCKET -DDIRENT \
1266        -DNOGETID_PROTOS -DHDBUUCP -DDYNAMIC $(KFLAGS) -O" "LNKFLAGS ="
1267
1268#Encore 88K UMAX 5.3 with TCP/IP support
1269encore88kgcc:
1270        @echo 'Making C-Kermit $(CKVER) for Encore 88K UMAX V, TCP/IP, gcc...'
1271        $(MAKE) wermit CC=gcc CC2=gcc \
1272        "CFLAGS = -DSVR3 -DTCPSOCKET -DDIRENT \
1273        -DNOGETID_PROTOS -DHDBUUCP -DDYNAMIC $(KFLAGS) -O" "LNKFLAGS ="
1274
1275#Berkeley Unix 2.8, 2.9 for PDP-11s with I&D space, maybe also Ultrix-11???
1276#C-Kermit(5A) is simply too large (even turning off almost every feature
1277#available) to run without both I&D space plus overlays.  The old comment
1278#suggested running 'pcc' but that won't help.  Changing 'cc' to 'ckustr.sed'
1279#will cause a string extraction to be done, saving D space by moving strings
1280#to a file.
1281bsd29:
1282        @echo Making C-Kermit $(CKVER) for 2.8 or 2.9BSD.
1283        @echo Read the makefile if you have trouble with this...
1284        $(MAKE) ovwermit \
1285        "CFLAGS= -DBSD29 -DNODEBUG -DNOTLOG -DNOCSETS -DNOHELP \
1286        -DNOSCRIPT -DNOSPL -DNOXMIT -DNODIAL $(KFLAGS)" \
1287        "LNKFLAGS= -i -lndir" "CC= cc " "CC2= cc"
1288
1289#Convex C1 with Berkeley Unix
1290convex:
1291        @echo Making C-Kermit $(CKVER) for Convex C1 / BSD...
1292        $(MAKE) wermit "CFLAGS= -DBSD4 $(KFLAGS) -Dmsleep=mnap"
1293
1294#Convex C210 with Convex/OS 8
1295convex8:
1296        @echo Making C-Kermit $(CKVER) for Convex C210 with OS 8
1297        $(MAKE) wermit \
1298        "CFLAGS= -DBSD4 -DTCPSOCKET -DNODEBUG -DDIRENT -DNOFILEH \
1299        -DDYNAMIC $(KFLAGS) -DSIG_V -Dmsleep=mnap"
1300
1301#Convex C2 with Convex OS 9.1 (should also work with 8.1 or later)
1302#with ANSI C compiler, uses BSD 4.3 uucp lockfile convention.
1303convex9:
1304        @echo Making C-Kermit $(CKVER) for Convex C210 with OS 9.1
1305        $(MAKE) wermit \
1306        "CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
1307        -DDYNAMIC -D__STDC__ -DLCKDIR -Dmsleep=mnap -O -ext -tm c1 $(KFLAGS)" \
1308        "LNKFLAGS = -ext"
1309
1310#Convex C2 with Convex OS 10.1 or later
1311#with gcc 2.x C compiler
1312convex10gcc:
1313        @echo Making C-Kermit $(CKVER) for Convex C2 with OS 10.1 using gcc
1314        $(MAKE) wermit \
1315        "CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
1316        -DDYNAMIC -D__STDC__  -Dmsleep=mnap -O2 $(KFLAGS)" CC=gcc CC2=gcc
1317
1318#Cray X-MP or Y-MP UNICOS 6.x or 7.x.
1319#NOTE: NPROC tells how many parallel makes to run.  If your Cray has multiple
1320#processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
1321cray:
1322        @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 6.x or 7.0...
1323        $(MAKE) wermit NPROC=1 \
1324        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
1325
1326#Cray X-MP or Y-MP UNICOS 8.0 Alpha.
1327cray8:
1328        @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 8.0 Alpha...
1329        $(MAKE) wermit NPROC=1 \
1330        "CFLAGS= -DSVR4 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
1331
1332#Cray-2 or Cray 3-CSOS
1333#NOTE: NPROC tells how many parallel makes to run.  If your Cray has multiple
1334#processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
1335craycsos:
1336        @echo 'Making C-Kermit $(CKVER) for Cray-2/3 CSOS
1337        $(MAKE) wermit NPROC=1 \
1338        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET \
1339        $(KFLAGS) -DCK_ANSIC -DCK_CURSES" "LIBS=-lnet"
1340
1341#Charles River Data Systems Universe with UNOS Version 9.2
1342crds:
1343        @echo 'Making C-Kermit $(CKVER) for Charles River Data Systems...'
1344        make wermit \
1345        "CFLAGS = -DATTSV -DNOANSI -DDIRENT -DDYNAMIC -DLONGFN -DTCPSOCKET \
1346        -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DNOSETREU \
1347        -Dsuspend=ksuspend $(KFLAGS) -O" "LNKFLAGS ="
1348
1349#NeXTSTEP 1.0 through 3.2.
1350#Includes fullscreen file transfer display (curses) and TCP/IP support.
1351#Uses shared library to make executable program about 80K smaller.
1352#Remove "LIBS = -lsys_s" if this causes trouble.
1353next:
1354        @echo Making C-Kermit $(CKVER) for NeXTSTEP...
1355        @echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
1356        @echo 'add KFGLAGS=-DNOREDIRECT to your make command.'
1357        $(MAKE) wermit \
1358        "CFLAGS= -DNEXT -DNOSETBUF -DTCPSOCKET -DDYNAMIC -DLCKDIR -DKANJI \
1359        -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
1360
1361nextc:
1362        $(MAKE) "MAKE=$(MAKE)" next
1363
1364nextg:
1365        $(MAKE) "MAKE=$(MAKE)" next KFLAGS=-Wall
1366
1367nextgc:
1368        $(MAKE) "MAKE=$(MAKE)" next KFLAGS=-Wall
1369
1370#NeXTSTEP 3.3.
1371#Includes fullscreen file transfer display and TCP/IP.
1372next33:
1373        @echo Making C-Kermit $(CKVER) for NeXTSTEP 3.3...
1374        $(MAKE) wermit \
1375        "CFLAGS= -DNEXT33 -DNOSETBUF -DTCPSOCKET -DDYNAMIC -DLCKDIR -DKANJI \
1376        -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
1377
1378#NeXT with malloc debugger
1379nextmd:
1380        @echo Making C-Kermit $(CKVER) for NeXT with malloc debugging...
1381        $(MAKE) mermit \
1382        "CFLAGS= -DNEXT -DNOSETBUF -DTCPSOCKET -DDYNAMIC -DLCKDIR -DKANJI \
1383        -DCK_CURSES $(KFLAGS) -O -w -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
1384        "LIBS = -lsys_s -lcurses -ltermcap"
1385
1386#Build for NeXTSTEP with "fat" binaries (MABs) that run on both Motorola
1387#and Intel platforms.
1388nextfat:
1389        $(MAKE) "MAKE=$(MAKE)" next "KFLAGS=-Wall -arch m68k -arch i386" \
1390        "LNKFLAGS = -arch m68k -arch i386"
1391
1392#NeXTSTEP on Intel Platforms.
1393next486:
1394        @echo Making C-Kermit $(CKVER) for NeXTSTEP on Intel Platforms...
1395        @echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
1396        @echo 'add KFGLAGS=D-DNOREDIRECT to your make command.'
1397        $(MAKE) wermit \
1398        "CFLAGS= -DNEXT -DNOSETBUF -DTCPSOCKET -DDYNAMIC -DLCKDIR -DKANJI \
1399        -DNODEBUG -O3 -fno-omit-frame-pointer -fschedule-insns2 -pipe \
1400        -DCK_CURSES $(KFLAGS) -w" "LIBS = -lsys_s -lcurses -ltermcap"
1401
1402#BeBox
1403beboxdr7:
1404        @echo 'Making C-Kermit $(CKVER) for the BeBox...'
1405        @echo 'Link step will fail with default Metroworks linker 64K limit.'
1406        @echo 'Code Warrior Gold required to link big programs.'
1407        $(MAKE) wermit \
1408        "CC=/boot/develop/tools/mwcc" "CC2=/boot/develop/tools/mwld" \
1409        "CFLAGS= -DBEBOX -DBE_DR_7 -DPOSIX -DNOUUCP $(KFLAGS) -O"
1410
1411#BeBox
1412bebox:
1413        @echo 'Making C-Kermit $(CKVER) for the BeBox...'
1414        @echo 'Link step will fail with default Metroworks linker 64K limit.'
1415        @echo 'Code Warrior Gold required to link big programs.'
1416        $(MAKE) wermit \
1417        "CC=/boot/develop/tools/mwcc" "CC2=/boot/develop/tools/mwld" \
1418        "CFLAGS= -DBEBOX -DPOSIX -DNOUUCP $(KFLAGS) -O"
1419
1420#Plan 9 from Bell Labs
1421plan9:
1422        make -f ckpker.mk
1423
1424#POSIX
1425posix:
1426        @echo 'Making C-Kermit $(CKVER) for POSIX, no UUCP lockfile support...'
1427        $(MAKE) wermit "CFLAGS= -DPOSIX -DNOUUCP $(KFLAGS) -O"
1428
1429#Berkeley Software Design Inc. BSDI
1430# Substitute "LIBS= -lnewcurses -ltermcap" if desired.
1431bsdi:
1432        @echo 'Making C-Kermit $(CKVER) for BSD/386 ...'
1433        $(MAKE) wermit \
1434        "CFLAGS= -DBSD44 -DSETREUID -DSW_ACC_ID \
1435        -DTCPSOCKET -DCK_CURSES -DDYNAMIC -DBPS_57K $(KFLAGS) -O" \
1436        "LIBS= -lcurses -ltermcap"
1437
1438# (old name for the above)
1439bsdiposix:
1440        $(MAKE) "MAKE=$(MAKE)" bsdi
1441
1442# make 386bsd 0.0new, posix
1443# for  386bsd 0.1.24, change /usr/include/termios.h to #define NCCS if
1444#  _POSIX_SOURCE is #defined. (source: lewine, posix prgmrs guide, o`reilly)
1445#NOTE: Lock directory is /var/spool/lock.  Formerly, it was /var/spool/uucp,
1446#but reportedly <wjones@halcyon.com> that was due to a typo in 'man tip'.
1447386bsd:
1448        @echo 'Making C-Kermit $(CKVER) for jolix 386BSD 0.0new and 0.1.24...'
1449        $(MAKE) wermit \
1450        "CFLAGS= -DPOSIX -DSETREUID -DPIDSTRING -DUSLEEP \
1451        -D_386BSD -DCK_CURSES -DTCPSOCKET -DDYNAMIC -DNOSETBUF \
1452        -DLOCK_DIR=\\\"/var/spool/lock\\\" \
1453        $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
1454
1455freebsd:
1456        @echo 'Making C-Kermit $(CKVER) for FreeBSD 1.0 Release'
1457        $(MAKE) wermit \
1458        "CFLAGS= -DBSD44 -DCK_CURSES -DDYNAMIC -DTCPSOCKET -DNOCOTFMC \
1459        $(KFLAGS) -O" "LIBS= -lcurses -ltermcap"
1460
1461freebsd2:
1462        @echo 'Making C-Kermit $(CKVER) for FreeBSD 2.0 Release'
1463        $(MAKE) freebsd "KFLAGS=-DNDSYSERRLIST"
1464
1465#Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1
1466pyramid:
1467        @echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
1468        ucb $(MAKE) wermit "CFLAGS= -DBSD43 -DTCPSOCKET -DDYNAMIC \
1469        -DPYRAMID -O $(KFLAGS)" "LNKFLAGS = -s"
1470
1471#Pyramid Dual Port OSx using HonyDanBer UUCP, curses and TCP
1472pyramid-hdb:
1473        @echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
1474        ucb $(MAKE) wermit "CFLAGS= -DBSD43 -DTCPSOCKET -DDYNAMIC \
1475        -DHBDUUCP -DCK_CURSES -O $(KFLAGS)" \
1476        "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
1477
1478#Pyramid DC/OSx (UNIX System V R4).
1479#Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
1480#are not misplaced in sys (rather than netinet and arpa, respectively).
1481#Uses ANSI C constructs, <sys/termiox.h>, etc etc.
1482#NOTE: Remove -O and Olimit:1500 from CFLAGS if TELNET connections do not work.
1483pyrdcosx:
1484        @echo 'Making C-Kermit $(CKVER) for Pyramid DC/OSx...'
1485        $(MAKE) wermit \
1486        "CFLAGS = -Xa -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
1487        -DCK_CURSES -DSTERMIOX -DTCPSOCKET -DPYRAMID -K Olimit:1500 \
1488        $(KFLAGS)" "LIBS= -lcurses -lsocket -lnsl" "LNKFLAGS = -s"
1489
1490#SONY NEWS, NEWS-OS 4.01C
1491sonynews:
1492        @echo Making C-Kermit $(CKVER) for SONY NEWS-OS 4.01C...
1493        $(MAKE) wermit "CFLAGS= -DBSD43 -DKANJI -DACUCNTRL \
1494        -DTCPSOCKET -O"
1495
1496#SUNPOSIX
1497#SunOS 4.1.x in the POSIX universe (but with HDB UUCP added)...
1498sunposix:
1499        @echo Making C-Kermit $(CKVER) for POSIX...
1500        $(MAKE) wermit "CC= /usr/5bin/cc " "CC2= /usr/5bin/cc " \
1501        "CFLAGS= -DPOSIX -DHDBUUCP -DVOID=void -O"
1502
1503#IBM's AIX 3.0 on IBM 370 mainframe, tested on AIX F44 thru F50.
1504aix370:
1505        @echo Making C-Kermit $(CKVER) for IBM System/370 AIX 3.0...
1506        $(MAKE) wermit \
1507        "CFLAGS= -DAIX370 -DTCPSOCKET -DLCKDIR -DDIRENT -DDYNAMIC $(KFLAGS)" \
1508        "LIBS = -lbsd"
1509
1510#IBM's AIX/ESA 2.1 (OSF/1) on IBM mainframe
1511aixesa:
1512        @echo Making C-Kermit $(CKVER) for IBM AIX/ESA...
1513        $(MAKE) wermit \
1514        "CFLAGS= -DAIXESA -DDYNAMIC -DTCPSOCKET $(KFLAGS) -O"
1515
1516#IBM's AIX 1.3 on IBM PS/2, tested on AIX F44 thru F50.
1517#This is exactly the same as AIX370 except for the version herald.
1518ps2aix3:
1519        @echo Making C-Kermit $(CKVER) for IBM PS/2 AIX 3.0...
1520        $(MAKE) wermit \
1521        "CFLAGS= -DAIXPS2 -DTCPSOCKET -DLCKDIR -DDIRENT -DDYNAMIC $(KFLAGS)" \
1522        "LIBS = -lbsd"
1523
1524#IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000.
1525rs6000:
1526        @echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
1527        $(MAKE) wermit \
1528        "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DDYNAMIC -DCK_ANSIC \
1529        -DCK_POLL -DNOSETBUF -DCLSOPN -DKANJI -DSELECT_H -O $(KFLAGS)" \
1530        "LNKFLAGS = -s"
1531
1532#IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000, with curses.
1533rs6000c:
1534        @echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
1535        $(MAKE) wermit \
1536        "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DDYNAMIC -DCK_ANSIC \
1537        -DCK_POLL -DNOSETBUF -DCLSOPN -DCK_CURSES -DKANJI  -DSELECT_H \
1538        -O $(KFLAGS)" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -s"
1539
1540#IBM AIX 3.2 for RISC System/6000.
1541#In case of "subprogram too complex" warnings, add "-qmaxmem=4000" to CFLAGS.
1542rs6aix32:
1543        @echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000...
1544        $(MAKE) wermit \
1545        "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DDYNAMIC -DCK_ANSIC \
1546        -DSELECT_H -DCLSOPN -DKANJI -O $(KFLAGS)" "LNKFLAGS = -s"
1547
1548#IBM AIX 3.2 for RISC System/6000.
1549rs6aix32c:
1550        @echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000, TCP+curses...
1551        @echo In case of Subprogram Too Complex warnings,
1552        @echo add -qmaxmem=4000 to CFLAGS.
1553        $(MAKE) wermit \
1554        "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DDYNAMIC -DCK_ANSIC \
1555        -DCLSOPN -DCK_CURSES -DKANJI -DSELECT_H -O $(KFLAGS)" \
1556        "LNKFLAGS = -s" "LIBS=-lcurses"
1557
1558#IBM AIX 4.1 (Beta) or AIX 4.1.1 for RISC System/6000 or Power Series
1559rs6aix41c:
1560        @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
1561        $(MAKE) wermit \
1562        "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
1563        -DDYNAMIC -DCK_ANSIC -DCLSOPN -DCK_CURSES -DKANJI -DSELECT -DSELECT_H \
1564        -qmaxmem=6000 -O $(KFLAGS)" "LNKFLAGS = -s" "LIBS=-lcurses"
1565
1566#IBM AIX 4.1 (Beta) or AIX 4.1.1 for RISC System/6000 or Power Series
1567rs6aix41d:
1568        @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 - debugging...
1569        $(MAKE) wermit \
1570        "CFLAGS= -g -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
1571        -DDYNAMIC -DCK_ANSIC -DCLSOPN -DCK_CURSES -DKANJI -DSELECT -DSELECT_H \
1572        -DRLOGCODE -qcheck -qextchk -qinfo -qproto -qflag=i:i -langlvl=ansi \
1573        -qtbtable=full -bnoquiet $(KFLAGS)" "LNKFLAGS = -s" "LIBS=-lcurses"
1574
1575#Bull DPX/2 with BOS/X, somewhat like AIX/RS6000
1576bulldpx2:
1577        @echo Making C-Kermit $(CKVER) for Bull DPX/2 with BOS/X...
1578        $(MAKE) wermit \
1579        "CFLAGS= -DSVR3 -DDIRENT -DDYNAMIC -DCK_ANSIC -DCKTYP_H=<sys/types.h> \
1580        -DCK_POLL -DNOSETBUF -DCLSOPN -O $(KFLAGS)" "LNKFLAGS = -s"
1581
1582#Sun UNIX 3.5 with gcc 2.3.3.
1583sunos3gcc:
1584        @echo Making C-Kermit $(CKVER) for Sun UNIX 3.5 and gcc...
1585        $(MAKE) wermit CC=gcc CC2=gcc \
1586        CFLAGS="-g -O -DBSD4 -DTCPSOCKET $(KFLAGS)"
1587
1588#SunOS version 4.0, BSD environment, has saved original euid feature.
1589# Add "CC=/usr/ucb/cc CC2=/usr/ucb/cc" if necessary.
1590sunos4:
1591        @echo Making C-Kermit $(CKVER) for SunOS 4.0, BSD environment...
1592        $(MAKE) wermit \
1593        "CFLAGS= -O -DSUNOS4 -DDIRENT -DTCPSOCKET -DSAVEDUID \
1594        -DKANJI -DDYNAMIC $(KFLAGS)"
1595
1596#As above, but with SunLink X.25 support
1597sunos4x25:
1598        @echo SunLink X.25 support
1599        $(MAKE) "MAKE=$(MAKE)" sunos4 "KFLAGS=$(KFLAGS) -DSUNX25"
1600
1601#SUN OS version 4.1 - 4.1.3, BSD environment, has saved original euid feature.
1602#Uses Honey DanBer UUCP.  Requires presence of /usr/spool/locks directory.
1603# /var/spool/ should be a symbolic link to  /usr/spool/.
1604# ... or 'make wermit "CC= /usr/ucb/cc " \'
1605sunos41:
1606        @echo Making C-Kermit $(CKVER) for SunOS 4.1 / BSD...
1607        $(MAKE) wermit "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
1608        -DNOSETBUF -DKANJI -DSAVEDUID -DDYNAMIC -DHADDRLIST $(KFLAGS)"
1609
1610#As above, but compile with gcc.  Gives 24-32K size reduction
1611#with gcc 2.1 or 2.2.2.  CAUTION: make sure "fixincludes" has been run on
1612#the include files, so gcc's are in sync with the regular Sun ones!
1613#This includes the curses library for fullscreen file transfer display.
1614#NDGPWNAM needed for GCC 2.5.6, not needed for 2.4.0, but it's uncertain
1615#whether it will do any harm for 2.4.0 compilation -- if so, remove it.
1616sunos41gcc:
1617        @echo Making C-Kermit $(CKVER) for SunOS 4.1/BSD with gcc and curses...
1618        $(MAKE) wermit "CC= gcc " "CC2= gcc" \
1619        "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET -DNOSETBUF \
1620        -DNDGPWNAM -DSAVEDUID -DDYNAMIC -DKANJI -DCK_CURSES $(KFLAGS)" \
1621        "LIBS= -lcurses -ltermcap"
1622
1623# Tenon MachTen, tested on Apple Powerbook with MachTen 2.1.1.D.
1624# NOTE: This doesn't do anything about UUCP.  It only works if /usr/spool/uucp
1625# has permission of 777, and dialout device is world read/writeable.
1626machten:
1627        @echo Making C-Kermit $(CKVER) for MachTen...
1628        $(MAKE) wermit "CFLAGS= -DBSD43 -DTCPSOCKET -DSIG_V -DNDGPWNAM \
1629        -DCK_CURSES -O $(KFLAGS)"  "LIBS=-lcurses -ltermcap"
1630
1631#SUNOS 4.1 as sunos41 above, but also with curses support
1632sunos41c:
1633        @echo Curses support
1634        $(MAKE) "MAKE=$(MAKE)" sunos41 "KFLAGS=$(KFLAGS) -DCK_CURSES" \
1635        "LIBS= -lcurses -ltermcap"
1636
1637#SUNOS 4.1 with SunLink X.25 support
1638sunos41x25:
1639        @echo SunLink X.25 support
1640        $(MAKE) "MAKE=$(MAKE)" sunos41 "KFLAGS=$(KFLAGS) -DSUNX25"
1641
1642#SUNOS 4.1 with SunLink X.25 support and curses
1643sunos41x25c:
1644        @echo SunLink X.25 support, curses
1645        $(MAKE) "MAKE=$(MAKE)" sunos41c "KFLAGS=$(KFLAGS) -DSUNX25"
1646
1647# NOTE: The sunsolxx and sunos5xx entries should no longer be necessary, but
1648# are retained just in case.  Instead, please use the solarisxx entries.
1649
1650#SUN with Solaris 2.0 = SunOS 5.0.
1651#Mostly the same as System V R4.
1652sunsol20:
1653        @echo 'Making C-Kermit $(CKVER) for Sun with Solaris 2.0 and curses...'
1654        $(MAKE) wermit "CFLAGS = -O -DSVR4 -DSOLARIS \
1655        -DDIRENT -DHDBUUCP -DDYNAMIC -DSTERMIOX -DTCPSOCKET -DCK_CURSES \
1656        -DCK_POLL $(KFLAGS)" \
1657        "LIBS= -lsocket -lnsl -lcurses -ltermlib" "LNKFLAGS = -s"
1658
1659#SUN with Solaris 2.0.
1660#As above, but built with the gcc compiler from the Cygnus CD-ROM.
1661sunsol20gcc:
1662        @echo 'Making C-Kermit $(CKVER) for Sun Solaris 2.0, gcc, and curses..'
1663        $(MAKE) wermit "CFLAGS = -O -DSVR4 -DSOLARIS \
1664        -DDIRENT -DHDBUUCP -DDYNAMIC -DSTERMIOX -DTCPSOCKET -DCK_CURSES \
1665        -DCK_POLL $(KFLAGS)" \
1666        "LIBS= -lsocket -lnsl -lcurses -ltermlib" "LNKFLAGS = -s" \
1667        CC=/opt/cygnus-sol2-1.1/bin/gcc CC2=/opt/cygnus-sol2-1.1/bin/gcc
1668
1669#SunOS 5.1 = Solaris 2.1.
1670#NOTE: A C compiler is no longer bundled with SunOS 5.1, so to compile C
1671#programs, you might have to change your PATH to include the directory
1672#/usr/ccs/bin AFTER the directory containing the compiler.  SunPRO C is
1673#installed by default in /opt/SUNWspro/bin.  So a sample PATH might be:
1674#
1675# /usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin:\
1676# /usr/ucb:/usr/sbin:/sbin:.
1677#
1678# or:
1679#
1680# /usr/openwin/bin:/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin.
1681#
1682#NOTE 2: Compilation with the Apogee C compiler (apcc) might not work,
1683#because it refuses to allow "-Usun".  Reportedly, newer releases of apcc
1684#(such as 1.057) work OK, use: "make -e sunos51 CC=apcc CC2=apcc".
1685sunos51:
1686        @echo 'Making C-Kermit $(CKVER) for SunOS 5.x....'
1687        $(MAKE) wermit \
1688        "CFLAGS = -O -Usun -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP \
1689        -DSELECT -DDYNAMIC -DNODEBUG -DSTERMIOX $(KFLAGS)" "LNKFLAGS = -s"
1690
1691#C-Kermit for Solaris 2.x compiled with gcc, includes curses and TCP/IP.
1692#Change -O2 to -O if -O2 gives trouble.
1693#Remove -Usun if it causes trouble.
1694#Your PATH should start with something like:
1695#  /usr/local/gnu/bin:/usr/ccs/bin:
1696#Produces a huge executable -- strip with /usr/ccs/bin/strip (not Gnu strip).
1697#Also don't add "LNKFLAGS = -s" -- strip manually instead.
1698#Also note: this can NOT be linked statically - Sun makes it impossible.
1699#And for Solaris 2.4, you might have replace:
1700# /usr/local/lib/gcc-lib/i486-sun-solaris2/2.4.5/include/sys/stat.h
1701#with /usr/include/sys/stat.h.
1702solaris2xg:
1703        @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc...'
1704        @echo 'Please read the comments that accompany this entry.'
1705        $(MAKE) wermit CC=gcc CC2=gcc \
1706        "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT \
1707        -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DDYNAMIC -DNOSETBUF \
1708        -DTCPSOCKET -DKANJI $(KFLAGS)" \
1709        "LIBS= -ltermlib -lsocket -lnsl"
1710
1711#As above with SunLink X.25 added.
1712solaris2xg25:
1713        @echo 'Making C-Kermit $(CKVER) for Solaris 2.x + X.25 with GNU cc...'
1714        @echo 'Please read the comments that accompany the solaris2xg entry.'
1715        $(MAKE) wermit CC=gcc CC2=gcc \
1716        "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DSUNX25 \
1717        -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DDYNAMIC -DNOSETBUF \
1718        -DTCPSOCKET -DKANJI $(KFLAGS)" \
1719        "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
1720        -lsockx25 -lsocket -lnsl"
1721
1722sunos51cgcc:
1723        $(MAKE) "MAKE=$(MAKE)" solaris2xg
1724
1725#Solaris 2.x, SunPro compiler, includes curses and TCP/IP.
1726#When using SUNWspro CC 2.0.1 under Solaris 2.3, be sure all cc patches
1727#are applied, otherwise corrupt or truncated object files can result.
1728#To build, set your PATH as follows:
1729#  /usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin:\
1730#  /usr/ucb:/usr/sbin:/sbin:.
1731# or (depending on where the compiler has been installed):
1732#  /usr/openwin/bin:/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin.
1733#For additional optimization try using "-fast -xO4 -xdepend".
1734solaris2x:
1735        @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with SunPro cc...'
1736        $(MAKE) wermit \
1737        "CFLAGS = -O -Usun -i -DSVR4 -DDIRENT -DSOLARIS -DHDBUUCP \
1738        -DDYNAMIC -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX -DNOSETBUF \
1739        -DTCPSOCKET -DKANJI -DHADDRLIST $(KFLAGS)" "LNKFLAGS = -s" \
1740        "LIBS= -ltermlib -lsocket -lnsl"
1741
1742#Solaris 2.x with SunLink X.25 support.
1743#This will only run if user has /opt/SUNWconn/lib/libsockx25.so.1
1744#exists and can be dynamically linked.
1745solaris2x25:
1746        @echo 'Making C-Kermit $(CKVER) for Solaris 2.x+X.25 with SunPro cc...'
1747        $(MAKE) wermit \
1748        "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DDIRENT \
1749        -DSUNX25 -DTCPSOCKET -DHADDRLIST -DHDBUUCP \
1750        -DDYNAMIC -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX -DNOSETBUF \
1751        -DKANJI $(KFLAGS)" "LNKFLAGS = -s" \
1752        "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
1753        -lsockx25 -lsocket -lnsl"
1754
1755sunos51tcp:
1756        $(MAKE) "MAKE=$(MAKE)" solaris2x
1757
1758sunos51tcpc:
1759        $(MAKE) "MAKE=$(MAKE)" solaris2x
1760
1761#The following sunosxxx entries are for debugging and testing only.
1762
1763sunos41x:
1764        $(MAKE) wermit "CFLAGS= -O -DSUNOS41 -DDIRENT -DNOTLOG -DNOMSEND \
1765        -DNOUUCP -DNOSIGWINCH -DNOREDIRECT -DNOPUSH -DNOCCTRAP \
1766        -DNOSETBUF -DKANJI -DDYNAMIC -DNOICP -DNOLOCAL $(KFLAGS)"
1767
1768#SunOS 4.1.x, debugging with Pure Software, Inc., Purify 2 (commercial runtime
1769#error-detection software for catching wild array references, etc).
1770#Before running the resulting wermit, you'll also need to define and export
1771#the following environment variables (as in this example):
1772#PURIFYHOME=/usr/local/purify ; export PURIFYHOME
1773#PURIFYCACHEDIR=/tmp ; export PURIFYCACHEDIR
1774sunos41cp:
1775        @echo Making C-Kermit $(CKVER) for SunOS 4.1 / BSD / Curses / Purify...
1776        $(MAKE) wermit \
1777        "CC2= purify -cache_dir=/usr/tmp cc" \
1778        "CFLAGS= -g -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET -DNOSETBUF \
1779        -DKANJI -DSAVEDUID -DDYNAMIC -DCK_CURSES $(KFLAGS)" \
1780        "LIBS= -lcurses -ltermcap"
1781
1782#SunOS 4.1 with malloc debugger
1783sunos41md:
1784        @echo Making C-Kermit $(CKVER) for SunOS 4.1 malloc debug...
1785        $(MAKE) mermit \
1786        "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
1787        -DSAVEDUID -DDYNAMIC $(KFLAGS) -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG"
1788
1789sunos41gmd:
1790        @echo Making C-Kermit $(CKVER) for SunOS 4.1/BSD with gcc and curses...
1791        $(MAKE) mermit "CC= gcc " "CC2= gcc" \
1792        "CFLAGS= -g -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET -DNOSETBUF \
1793        -DNDGPWNAM -DSAVEDUID -DDYNAMIC -DKANJI -DCK_CURSES -DRLOGCODE \
1794        $(KFLAGS) -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
1795        "LIBS= -lcurses -ltermcap"
1796
1797#SunOS version 4.1, gcc, profiling with gprof, no debugging.
1798#To get profile, "make sunos4p" (on Sun), then "./wermit".  After running
1799#wermit, "gprof ./wermit | lpr" (or whatever) to get execution profile.
1800sunos41p:
1801        @echo Making C-Kermit $(CKVER) for SunOS 4.x with profiling...
1802        $(MAKE) wermit "CC= gcc " "CC2= gcc" \
1803        "CFLAGS= -DSUNOS41 -DNODEBUG -DSAVEDUID -DDIRENT -DTCPSOCKET \
1804        -DNDGPWNAM -DDYNAMIC $(KFLAGS) -pg" "LNKFLAGS = -pg"
1805
1806#SunOS version 4.1, BSD environment, minimum size...
1807sunos41m:
1808        @echo Minimum size
1809        $(MAKE) "MAKE=$(MAKE)" sunos41 \
1810        "KFLAGS=$(KFLAGS) -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOCKSPEED \
1811        -DNOSCRIPT -DNOCSETS -DNOICP -DNOMSEND -UTCPSOCKET" \
1812        "LNKFLAGS = -s"
1813
1814#SunOS version 4.1 or later, BSD environment, minimum size w/command parser.
1815sunos41mi:
1816        @echo Minimum interactive
1817        $(MAKE) "MAKE=$(MAKE)" sunos41 \
1818        "KFLAGS=-DNOSPL -DNOXMIT -DNOMSEND -DNOFRILLS -DNORETRY -DNOCKSPEED \
1819        -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS \
1820        -DNOSHOW -DNOSETKEY -DNOSERVER -DNOUUCP -DNORECALL -DNOREDIRECT \
1821        -DNOSETBUF -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ \
1822        -DNOCMDL -UTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
1823
1824#SunOS 4.1, System V R3 environment (-i option omitted).
1825sunos41s5:
1826        @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
1827        @echo For testing purposes only - NOT for production use.
1828        @echo For a useable version, make sunos41 instead.
1829        $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
1830        "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DDYNAMIC -DCK_POLL $(KFLAGS) -O"
1831
1832#As above, but with curses support
1833sunos41s5c:
1834        @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
1835        @echo Curses included.
1836        @echo For testing purposes only - NOT for production use.
1837        @echo For a useable version, make sunos41 instead.
1838        $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
1839        "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DDYNAMIC \
1840        -DCK_POLL -DCK_CURSES -DCK_NEWTERM $(KFLAGS) -O" "LIBS= -lcurses"
1841
1842#As above, but with curses support AND net support
1843sunos41s5tcpc:
1844        @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
1845        @echo TCP/IP and curses included.  No debug log.
1846        @echo For testing purposes only - NOT for production use.
1847        @echo For a useable version, make sunos41 instead.
1848        $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
1849        "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DDYNAMIC -DNOSETBUF -DCK_POLL \
1850        -DNODEBUG -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET $(KFLAGS) -O" \
1851        "LIBS= -lcurses -lresolv"
1852
1853# (End of SunOS test entries...)
1854
1855#Apollo with Domain SR10.0 or later, BSD environment
1856#Reportedly, it might also help to add '-A,systype=bsd4.3' to CFLAGS.
1857#Reportedly, there is also a problem with getc & putc macros that can
1858#be handled by using '#ifdef apollo' somewhere to redefine them???
1859#On the other hand, other reports indicate that it works fine as-is.
1860#NOTE: This entry was previously like this:
1861#       $(MAKE) wermit "CFLAGS= -DNOFILEH -DBSD4 $(KFLAGS) -Uaegis \
1862#       -DTCPSOCKET -U__STDC__"
1863#Reports (Dec 91) indicate SR10 has an ANSI-compliant C compiler,
1864#in addition to an older one that claimed to be ANSI-compliant but wasn't.
1865#The following make entry (plus checks that are made in ckcdeb.h) detect
1866#which compiler is used and define the CK_ANSIC or NOANSI flags accordingly.
1867sr10-bsd:
1868        @echo Making C-Kermit $(CKVER) for Apollo SR10.0 / BSD ...
1869        $(MAKE) wermit \
1870        "CFLAGS= -O -DDYNAMIC -DBSD43 -DTCPSOCKET -DCK_CURSES \
1871        -Uaegis $(KFLAGS)" "LIBS= -lcurses -ltermcap"
1872
1873#Apollo with Domain SR10.0 or later, System V R3 environment.
1874#Don't use the optimizer (-O), it causes problems at runtime.
1875sr10-s5r3:
1876        @echo Making C-Kermit $(CKVER) for Apollo SR10.0 / Sys V R3 ...
1877        $(MAKE) wermit \
1878        "CFLAGS= -DNOFILEH -DSVR3 $(KFLAGS) -Uaegis -U__STDC__"
1879
1880#Apollo Domain/IX (untested, try this if sr10-bsd doesn't work)
1881# -DTCPSOCKET -DYNAMIC can probably be added here.
1882apollobsd:
1883        @echo Making C-Kermit $(CKVER) for Apollo Domain/IX...
1884        $(MAKE) wermit "CC= /bin/cc " "CC2= /bin/cc " \
1885        "CFLAGS= -DNOFILEH -DBSD4 $(KFLAGS) -Uaegis"
1886
1887#Version 7 Unix (see comments near top of makefile)
1888v7:
1889        @echo Making C-Kermit $(CKVER) for UNIX Version 7.
1890        @echo Read the makefile if you have trouble with this...
1891        $(MAKE) wermit "CFLAGS=-DV7 -DPROCNAME=\\\"$(PROC)\\\" \
1892        -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
1893        -DNPTYPE=$(NPTYPE) $(DIRECT) -DO_RDWR=2 -DO_NDELAY=0 -DO_SCCS_ID \
1894        $(KFLAGS)"
1895
1896#AT&T UNIX System V R3, signal() is void rather than int.
1897#Uses dirent.h and Honey DanBer UUCP.
1898#Add the -i link option if necessary.
1899#If you get errors like "ws_row undefined" in ckutio.c, add -DNONAWS.
1900sys5r3:
1901        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
1902        $(MAKE) wermit \
1903        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC $(KFLAGS) -O" \
1904        "LNKFLAGS="
1905
1906#As above, plus curses.
1907sys5r3c:
1908        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3 + curses...'
1909        $(MAKE) wermit \
1910        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC \
1911        -DCK_CURSES $(KFLAGS) -O" \
1912        "LNKFLAGS=" \
1913        "LIBS = -ltermlib"
1914
1915iclsys5r3:
1916        make sys5r3 KFLAGS=-DICLSVR3
1917
1918#AT&T UNIX System V R3.  As above, but no ANSI prototyping.
1919sys5r3na:
1920        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
1921        $(MAKE) wermit \
1922        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DNOANSI $(KFLAGS) -O" \
1923        "LNKFLAGS="
1924
1925#AT&T UNIX System V R3, for 3B computers with Wollongong TCP/IP.
1926sys5r3net3b:
1927        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX SVR3/3B/Wollongong...'
1928        $(MAKE) wermit \
1929        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DWOLLONGONG $(KFLAGS) \
1930        -O" "LIBS= -lnet -lnsl_s" "LNKFLAGS ="
1931
1932#AT&T UNIX System V R3, signal() is void rather than int.
1933#Uses dirent.h and Honey DanBer uucp, has <termiox.h>.
1934#Has <termiox.h> for RTS/CTS flow control.
1935sys5r3tx:
1936        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
1937        $(MAKE) wermit "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC \
1938        -DTERMIOX $(KFLAGS) -i -O" "LNKFLAGS ="
1939
1940#AT&T UNIX System V R3, signal() is void rather than int.
1941#Uses dirent.h and Honey DanBer uucp, has <termiox.h>.
1942#Has <sys/termiox.h> for RTS/CTS flow control.
1943sys5r3sx:
1944        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
1945        $(MAKE) wermit "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC \
1946        -DSTERMIOX $(KFLAGS) -i -O" "LNKFLAGS ="
1947
1948#AT&T UNIX System V R4.
1949#Has <termiox.h>.
1950sys5r4:
1951        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
1952        $(MAKE) wermit \
1953        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC -DTERMIOX $(KFLAGS)" \
1954        "LNKFLAGS = -s"
1955
1956#AT&T UNIX System V R4 with Wollongong TCP/IP.
1957#Has <termiox.h>.
1958sys5r4net:
1959        @echo 'Making C-Kermit $(CKVER) for System V R4 + Wollongong TCP/IP...'
1960        @echo ' If sockets-library routines are missing at link time, then'
1961        @echo ' try the sys5r4net2 entry.'
1962        $(MAKE) wermit \
1963        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
1964        -DTERMIOX -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
1965
1966#As above, but needs libs included.
1967sys5r4net2:
1968        @echo ' PLEASE READ ckuins.doc IF YOU GET MISSING HEADER FILES.'
1969        @echo ' (Search for WOLLONGONG...)'
1970        $(MAKE) sys5r4net "LIBS= -lsocket -lnsl"
1971
1972#As above plus curses.
1973sys5r4net2c:
1974        echo 'Making C-Kermit $(CKVER) for System V R4 + Wollongong TCP/IP...'
1975        @echo ' PLEASE READ ckuins.doc IF YOU GET MISSING HEADER FILES.'
1976        @echo ' (Search for WOLLONGONG...)'
1977        $(MAKE) wermit \
1978        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
1979        -DTERMIOX -DWOLLONGONG -DCK_CURSES $(KFLAGS)" "LNKFLAGS = -s" \
1980        "LIBS= -lsocket -lnsl -lcurses"
1981
1982#DELL UNIX System V R4.
1983#Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
1984#are not misplaced in sys (rather than netinet and arpa, respectively).
1985#Uses ANSI C constructs, advisory file locking on devices, etc.
1986#Warning: -DSTERMIOX enables hardware flow control (RTS/CTS), but reportedly
1987#this does not work with the normal drivers.  However, it might still work
1988#on non-Dell systems, or even Dell systems with different drivers installed.
1989dellsys5r4:
1990        @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
1991        $(MAKE) wermit \
1992        "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DHDBUUCP \
1993        -DDYNAMIC -DTCPSOCKET -DSTERMIOX -DCK_POLL -DKANJI $(KFLAGS)" \
1994        "LIBS= -lsocket -lnsl" "LNKFLAGS = -s"
1995
1996#As above, curses support added...
1997dellsys5r4c:
1998        @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
1999        $(MAKE) wermit \
2000        "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DHDBUUCP \
2001        -DDYNAMIC -DTCPSOCKET -DSTERMIOX -DKANJI -DCK_CURSES -DCK_POLL \
2002        $(KFLAGS)" "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
2003
2004#Mininum interactive: As above, but with every conceivable option removed.
2005dellsys5r4mi:
2006        @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
2007        @echo 'Minimum-size interactive'
2008        $(MAKE) wermit "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT \
2009        -DDYNAMIC -UTCPSOCKET -DNOCMDL -DNOSPL -DNOXMIT -DCK_POLL \
2010        -DNOMSEND -DNOFRILLS -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
2011        -DNOSCRIPT -DNOCSETS -DNOSHOW -DNOSETKEY -DNOSERVER -DNOUUCP \
2012        -DNOSETBUF -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ  \
2013        $(KFLAGS)" "LNKFLAGS = -s"
2014
2015#Command-line only version.
2016dellsys5r4m:
2017        @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
2018        @echo 'Command-line only'
2019        $(MAKE) wermit \
2020        "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DDYNAMIC \
2021        -UTCPSOCKET -DNOICP -DNOFRILLS -DNODIAL -DNODEBUG -DNOTLOG -DNOCSETS \
2022        -DNOSETKEY -DNOESCSEQ -DNOSETBUF -DNOJC -DNOFDZERO -DCK_POLL \
2023        $(KFLAGS)" "LNKFLAGS = -s"
2024
2025#AT&T UNIX System V R4.
2026#Has <sys/termiox.h>.
2027sys5r4sx:
2028        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
2029        $(MAKE) wermit \
2030        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2031        -DSTERMIOX $(KFLAGS)" "LNKFLAGS = -s"
2032
2033#AT&T UNIX System V R4.
2034#Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
2035#are not misplaced in sys (rather than netinet and arpa, respectively).
2036#Uses ANSI C constructs, <sys/termiox.h>, etc etc.
2037sys5r4sxtcp:
2038        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
2039        $(MAKE) wermit \
2040        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2041        -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
2042        "LIBS= -lsocket -lnsl" "LNKFLAGS = -s"
2043
2044#AT&T UNIX System V R4.
2045#As above + curses.
2046sys5r4sxtcpc:
2047        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
2048        $(MAKE) wermit \
2049        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2050        -DSTERMIOX  -DCK_CURSES -DTCPSOCKET $(KFLAGS)" \
2051        "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
2052
2053#AT&T UNIX System V R4.  CONSENSYS SVR4.2-1.
2054#Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
2055#are not misplaced in sys (rather than netinet and arpa, respectively).
2056#Uses ANSI C constructs, <sys/termiox.h>, etc.
2057# Fullscreen -DCK_CURSES added (with curses & termcap libs)
2058# Submission by Robert Weiner/Programming Plus, rweiner@watsun.cc.columbia.edu
2059sys5r4sxtcpf:
2060        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
2061        $(MAKE) wermit \
2062        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2063        -DSTERMIOX -DTCPSOCKET -DCK_CURSES $(KFLAGS)" \
2064        "LIBS= -lsocket -lnsl -L/usr/ccs/lib -lcurses -ltermcap" \
2065        "LNKFLAGS = -s"
2066
2067#Smallest possible version for System V R4
2068s5r4m:
2069        @echo Minimum size
2070        $(MAKE) "MAKE=$(MAKE)" sys5r4sx \
2071        "KFLAGS=$(KFLAGS) -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
2072        -DNOSCRIPT -DNOCSETS -DNOICP -DNOMSEND -UTCPSOCKET" "LNKFLAGS = -s"
2073
2074#Smallest possible interactive version of above
2075s5r4mi:
2076        @echo Minimum interactive
2077        $(MAKE) "MAKE=$(MAKE)" sys5r4sx \
2078        "KFLAGS=-DNOSPL -DNOXMIT -DNOMSEND -DNOFRILLS -DNOSHOW \
2079        -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOSETKEY \
2080        -UTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
2081
2082#AT&T UNIX System V R4, has <sys/termiox.h>
2083#ANSI C function prototyping disabled.
2084sys5r4sxna:
2085        @echo No ANSI C prototyping...
2086        $(MAKE) "MAKE=$(MAKE)" sys5r4sx "KFLAGS=$(KFLAGS) -DNOANSI"
2087
2088#SINIX V5.42 - includes curses, tcp/ip, everything
2089sinix542:
2090        @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf SINIX V5.42...'
2091        $(MAKE) wermit "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2092        -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DKANJI CK_ANSIC \
2093        -kansi -W0 -O -KOlimit,1600 $(KFLAGS)" \
2094        "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
2095
2096#Commodore Amiga with AT&T UNIX System V R4 and TCP/IP support.
2097#Has <sys/termiox.h>.
2098svr4amiganet:
2099        @echo 'Making C-Kermit $(CKVER) for Amiga SVR4 + TCP/IP...'
2100        $(MAKE) wermit "CC=gcc" "CC2=gcc" \
2101        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC -DSTERMIOX \
2102        -DTCPSOCKET -DCK_CURSES $(KFLAGS)" "LNKFLAGS = -s" \
2103        "LIBS = -lsocket -lnsl -ltermlib"
2104
2105#SCO (Novell (Univel)) UnixWare 1.x or 2.x, no TCP/IP.
2106#This assumes the Novell SDK 1.0, which has <sys/termiox.h>.
2107#UnixWare users with the "Prime Time Freeware" CD-ROM SDK will probably have
2108#to use the sys5r4 entry (no termiox.h file, so no hardware flow control).
2109#Change -DSELECT to -DCK_POLL if -DSELECT causes problems.
2110unixware:
2111        $(MAKE) "MAKE=$(MAKE)" sys5r4sx \
2112        "KFLAGS=-DUNIXWARE -DSELECT $(KFLAGS)"
2113
2114#UnixWare 1.x or 2.x with TCP/IP and curses.
2115unixwarenetc:
2116        $(MAKE) "MAKE=$(MAKE)" sys5r4sxtcpc \
2117        "KFLAGS=-DUNIXWARE -DSELECT $(KFLAGS)"
2118
2119#No difference between 1.x and 2.x as far as Kermit is concerned.
2120unixware2:
2121        $(MAKE) "MAKE=$(MAKE)" sys5r4sxtcpc \
2122        "KFLAGS=-DUNIXWARE -DSELECT $(KFLAGS)"
2123
2124#ESIX SVR4.0.3 or 4.04 with TCP/IP support.
2125#Has <sys/termiox.h>, ANSI C function prototyping disabled.
2126#Add -m486 to CFLAGS if desired.
2127esixr4:
2128        @echo 'Making C-Kermit $(CKVER) for ESIX SVR4 + TCP/IP...'
2129        $(MAKE) wermit \
2130        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC -DNOANSI \
2131        -DSTERMIOX -DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s" \
2132        "LIBS = -lsocket -lnsl"
2133
2134#AT&T UNIX System V R4.
2135#Has <sys/termiox.h>, Wollongong WIN/TCP TCP/IP.
2136sys5r4sxnet:
2137        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
2138        $(MAKE) wermit \
2139        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2140        -DSTERMIOX -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
2141
2142#AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>.
2143sys5r4nx:
2144        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
2145        $(MAKE) wermit \
2146        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC $(KFLAGS)" \
2147        "LNKFLAGS = -s"
2148
2149#AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>, curses, TCP/IP.
2150sys5r4nxnetc:
2151        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
2152        $(MAKE) wermit \
2153        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2154        -DCK_CURSES -DTCPSOCKET $(KFLAGS)" \
2155        "LIBS = -lcurses -lsocket -lnsl -ltcpip" \
2156        "LNKFLAGS = -s"
2157
2158#AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>, Wollongong TCP/IP.
2159sys5r4nxtwg:
2160        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
2161        $(MAKE) wermit \
2162        "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2163        -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
2164
2165#ICL UNIX System V R4.(DRS N/X) version :-
2166#UNIX System V Release 4.0 ICL DRS 6000 (SPARC)
2167#DRS/NX 6000 SVR4 Version 5  Level 1  Increment 4
2168#Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
2169#are not misplaced in sys (rather than netinet and arpa, respectively).
2170#Uses ANSI C constructs, advisory file locking on devices, etc.
2171iclsys5r4:
2172        @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 (DRS N/X)'
2173        $(MAKE) wermit \
2174        "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP \
2175        -DDYNAMIC -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
2176        "LIBS= -lsocket " "LNKFLAGS = -s"
2177
2178#ICL UNIX System V R4.(DRS N/X) version :-
2179#UNIX System V Release 4.0 ICL DRS 3000 (486)
2180#DRS/NX 6000 SVR4 Version 5  Level 1  Increment 4
2181#As above, but also needs -lnsl.
2182iclsys5r4_486:
2183        @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 (DRS N/X)'
2184        $(MAKE) wermit \
2185        "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP \
2186        -DDYNAMIC -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
2187        "LIBS= -lsocket -lnsl " "LNKFLAGS = -s"
2188
2189#Data General DG/UX 4.30 (System V R3) for DG AViiON, with TCP/IP support.
2190dgux430:
2191        @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 4.30...'
2192        $(MAKE) wermit \
2193        "CFLAGS = -O -DDGUX430 -DSVR3 -DDIRENT -DDYNAMIC \
2194        -DTCPSOCKET $(KFLAGS)"
2195
2196#Data General DG/UX 4.30 for DG AViiON, with TCP/IP support with BSDisms.
2197dgux430bsd:
2198        @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 4.30...'
2199        $(MAKE) wermit "CFLAGS = -O -DDGUX430 -D_BSD_SOURCE -DBSD4 \
2200        -DDYNAMIC -DTCPSOCKET $(KFLAGS)"
2201
2202#Data General DG/UX 5.4 (System V R4) for DG AViiON, with TCP/IP support.
2203dgux540:
2204        @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
2205        $(MAKE) wermit "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP \
2206        -DKANJI -DDYNAMIC -DSTERMIOX -DTCPSOCKET -DCK_POLL $(KFLAGS)"
2207
2208dgux54:
2209        make dgux540
2210
2211#DG/UX 5.4R3.00
2212dgux543c:
2213        @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.4R3...'
2214        $(MAKE) wermit "CFLAGS = -O -DDGUX540 -DDGUX543 -DDIRENT -DHDBUUCP \
2215        -DDYNAMIC -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_POLL $(KFLAGS)" \
2216        "LIBS= -lcurses8 -ltermcap" "LNKFLAGS = -s"
2217
2218#Data General DG/UX 5.4 (= System V R4) for DG AViiON, with TCP/IP support.
2219# And curses.
2220dgux540c:
2221        @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.4...'
2222        $(MAKE) wermit "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP \
2223        -DDYNAMIC -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_POLL $(KFLAGS)" \
2224        "LIBS= -lcurses8 -ltermcap" "LNKFLAGS = -s"
2225
2226dgux54c:
2227        make dgux540c
2228
2229#Data General DG/UX 5.40 (System V R4) for Intel AViiON, with TCP/IP support.
2230dgux540i:
2231        @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
2232        $(MAKE) wermit "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
2233        -DKANJI -DDYNAMIC -DSTERMIOX -DTCPSOCKET -DCK_POLL $(KFLAGS)" \
2234        "LIBS = -lsocket -lnsl"
2235
2236#As above + curses.
2237dgux540ic:
2238        @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
2239        $(MAKE) wermit "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
2240        -DKANJI -DDYNAMIC -DSTERMIOX -DTCPSOCKET -DCK_POLL -DCK_CURSES \
2241        $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
2242
2243#Silicon Graphics System V R3 with BSD file system (IRIS)
2244iris:
2245        @echo Making C-Kermit $(CKVER) for Silicon Graphics IRIX pre-3.3...
2246        $(MAKE) wermit "CFLAGS = -O -DSVR3 -DLONGFN  $(KFLAGS) \
2247        -I/usr/include/bsd" "LIBS = -lbsd"
2248
2249#Silicon Graphics IRIS System V R3
2250irix33:
2251        @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 3.3...'
2252        $(MAKE) wermit \
2253        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC $(KFLAGS) -O" \
2254        "LNKFLAGS = -s"
2255
2256#Silicon Graphics Iris Indigo with IRIX 4.0.0 or 5.0...
2257#Strict ANSI C compilation, TCP/IP support included
2258irix40:
2259        @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
2260        $(MAKE) wermit \
2261        "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DPWID_T=uid_t \
2262        -DCK_ANSIC -DTCPSOCKET $(KFLAGS) -O -Olimit 1500 -I/usr/include/bsd" \
2263        "LNKFLAGS = -s"
2264
2265#As above, but with fullscreen display (curses) and Sun Yellow Pages support.
2266#NOTE: IRIX versions prior to 5 run COFF binaries.
2267irix40ypc:
2268        @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0.'
2269        @echo 'Includes fullscreen file display and Sun Yellow Pages...'
2270        $(MAKE) wermit \
2271        "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DCK_CURSES \
2272        -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET $(KFLAGS) \
2273        -O -Olimit 1500 -I/usr/include/bsd" \
2274        "LIBS = -lcurses -lsun" "LNKFLAGS = -s"
2275
2276# Silicon Graphics Iris Series 4D/*, IRIX 4.0.x, -O4 ucode optimized.
2277# Huge temporary file space needed for ucode optimizer.  If you get an error
2278# like "ugen: internal error writing to /tmp/ctmca08777: Error 0", define the
2279# the TMPDIR environment variable to point to a file system that has more
2280# space available, e.g. "setenv TMPDIR /usr/tmp".
2281irix40u:
2282        @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
2283        $(MAKE) wermit \
2284        "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DPWID_T=uid_t \
2285        -DCK_ANSIC -DTCPSOCKET $(KFLAGS) -O4 -Olimit 1500" \
2286        "LNKFLAGS=-O4 -Olimit 1500 -s" "EXT=u"
2287
2288# As above, with Curses Support added
2289irix40uc:
2290        @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
2291        $(MAKE) wermit \
2292        "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DPWID_T=uid_t \
2293        -DCK_ANSIC -DCK_CURSES -DTCPSOCKET $(KFLAGS) -O4 -Olimit 1500" \
2294        "LNKFLAGS=-O4 -Olimit 1500 -s" "EXT=u" "LIBS= -lcurses -ltermcap"
2295
2296#Silicon Graphics IRIX 5.x.
2297#Yellow Pages and Curses support included.
2298#IRIX version 5.x can run COFF or ELF binaries.
2299irix51:
2300        @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 5.x'
2301        @echo 'Includes fullscreen file display and Yellow Pages...'
2302        @echo 'Add -mips<n> to CFLAGS specify a particular hardware target.'
2303        $(MAKE) wermit \
2304        "CFLAGS = -DIRIX51 -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC -DCK_CURSES \
2305        -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET -DSELECT -DKANJI \
2306        $(KFLAGS) -O -Olimit 1500" "LIBS = -lcurses" "LNKFLAGS = -s"
2307
2308irix51ypc:
2309        $(MAKE) "MAKE=$(MAKE)" irix51
2310
2311#Silicon Graphics IRIX 6.0 or later.
2312#Yellow Pages and Curses support included.
2313#IRIX version 6.0 and later runs only ELF binaries.
2314irix60:
2315        @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.0'
2316        @echo 'Includes fullscreen file display and Yellow Pages...'
2317        @echo 'Add -mips<n> to specify a particular hardware target.'
2318        $(MAKE) wermit \
2319        "CFLAGS = -DIRIX51 -DIRIX60 -DSVR4 -DDIRENT -DHDBUUCP -DDYNAMIC \
2320        -DCK_CURSES -DCK_NEWTERM -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET \
2321        -DSELECT -DKANJI -O $(KFLAGS)" "LIBS = -lcurses" "LNKFLAGS = -s"
2322
2323#In case they type "make sys5"...
2324sys5:
2325        $(MAKE) "MAKE=$(MAKE)" sys3
2326
2327#Generic ATT System III or System V (with I&D space)
2328sys3:
2329        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
2330        @echo 'or System V R2 or earlier...'
2331        @echo 'add -DNOMKDIR if mkdir is an undefined symbol.'
2332        $(MAKE) wermit "CFLAGS = -DATTSV $(KFLAGS) -i -O" \
2333        "LNKFLAGS = -i"
2334
2335#Generic ATT System III or System V R2 or earlier, "no void":
2336#special entry to remove "Illegal pointer combination" warnings.
2337sys3nv:
2338        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
2339        @echo 'or System V R2 or earlier...'
2340        $(MAKE) wermit "CFLAGS = -DATTSV -Dvoid=int  $(KFLAGS) -i -O" \
2341        "LNKFLAGS = -i"
2342
2343#Generic ATT System III or System V (no I&D space)
2344sys3nid:
2345        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
2346        @echo 'or System V R2 or earlier, no I&D space...'
2347        $(MAKE) wermit "CFLAGS = -DATTSV $(KFLAGS) -O" "LNKFLAGS ="
2348
2349#AT&T 7300/UNIX PC (3B1) systems, sys3 but special handling for internal modem.
2350#Link with the shared library -- the conflict with openi in shared library
2351#is solved with -Dopeni=xopeni
2352sys3upc:
2353        @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, shared lib...'
2354        @echo 'If shared lib causes trouble, use make sys3upcold.'
2355        $(MAKE) wermit \
2356        "CFLAGS = -O -DATT7300 -DDYNAMIC -DNOSETBUF -DNOMKDIR $(KFLAGS) \
2357        -Dopeni=xopeni" \
2358        "CC2 = ld /lib/crt0s.o /lib/shlib.ifile" "LNKFLAGS = -s"
2359
2360#AT&T 7300/UNIX PC (3B1) systems, with curses support.
2361#Curses and the shared library don't get along, so we don't use the
2362#shared library.  We need to include CK_NEWTERM to avoid a conflict
2363#with curses and buffering on stdout.  Merged with submission by
2364#Robert Weiner/Programming Plus, rweiner@watsun.cc.columbia.edu.
2365#We don't need -Dopeni=xopeni since we're not using the shared library,
2366#but we keep it to be consistent with the other entries.
2367sys3upcc:
2368        @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
2369        $(MAKE) wermit "CFLAGS = -O -DATT7300 -DDYNAMIC -DNOSETBUF \
2370        -DCK_CURSES -DCK_NEWTERM -DNOMKDIR $(KFLAGS) -Dopeni=xopeni" \
2371        "LIBS = -lcurses" "LNKFLAGS = -s"
2372
2373#AT&T 7300 UNIX PC (3B1), as above, but no newterm().
2374sys3upcx:
2375        @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
2376        $(MAKE) wermit "CFLAGS = -O -DATT7300 -DDYNAMIC -DNOSETBUF \
2377        -DCK_CURSES -DNOMKDIR $(KFLAGS) -Dopeni=xopeni" \
2378        "LIBS = -lcurses -ltermcap" "LNKFLAGS = -s"
2379
2380#AT&T 7300/UNIX PC (3B1) systems, with curses and shared library support.
2381sys3upcshcc:
2382        @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, shared lib...'
2383        @echo 'With curses.  Requires shcc.'
2384        $(MAKE) wermit "CFLAGS = -O -DATT7300 -DDYNAMIC -DNOMKDIR \
2385        -DNOSETBUF -DCK_NEWTERM -DCK_CURSES $(KFLAGS) -Dopeni=xopeni" \
2386        "LNKFLAGS = -i -s" "CC = shcc" "CC2 = shcc" "LIBS = -lcurses"
2387
2388#AT&T 7300/UNIX PC (3B1) systems, as above, no curses, but use gcc.
2389sys3upcg:
2390        @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC...'
2391        $(MAKE) wermit \
2392        "CFLAGS = -O -DATT7300 -DDYNAMIC -DNOSETBUF -DNOMKDIR $(KFLAGS) \
2393        -Dopeni=xopeni" \
2394        "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s -shlib"
2395
2396#AT&T 7300/UNIX PC (3B1) systems, curses and gcc.
2397sys3upcgc:
2398        @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
2399        $(MAKE) wermit "CFLAGS = -O -DATT7300 -DDYNAMIC -DNOSETBUF \
2400        -DCK_CURSES -DIFDEBUG -DCK_NEWTERM -DNOMKDIR $(KFLAGS)" \
2401        "CC = gcc" "CC2 = gcc" "LIBS = -lcurses" "LNKFLAGS = -s"
2402
2403#AT&T 7300/UNIX PC (3B1) systems, special handling for internal modem.
2404#No FULLSCREEN file transfer display (curses).
2405sys3upcold:
2406        @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC...'
2407        $(MAKE) wermit "CFLAGS = -DATT7300 -DNOMKDIR $(KFLAGS) -O" \
2408        "LNKFLAGS = -i"
2409
2410#AT&T 7300/Unix PC systems, minimum kermit for those with smaller amounts
2411#of memory.
2412sys3upcm:
2413        @echo Minimum interactive
2414        $(MAKE) "MAKE=$(MAKE)" sys3upc \
2415        "KFLAGS=-DNOSPL -DNOFRILLS -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS \
2416        -DNOSETKEY -DNOSETBUF"
2417
2418#As above, but with gcc...
2419sys3upcgm:
2420        @echo Minimum interactive
2421        $(MAKE) "MAKE=$(MAKE)" sys3upcg \
2422        "KFLAGS=-DNOSPL -DNOFRILLS -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS \
2423        -DNOSETKEY -DNOSETBUF"
2424
2425#AT&T 6300 PLUS (warning, -O might make it run out of space).
2426#NOTE: Remove -DHDBUUCP if not using Honey DanBer UUCP.
2427att6300:
2428        @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS...'
2429        $(MAKE) wermit "CFLAGS = -DATT6300 -DHDBUUCP -DNOFILEH \
2430        $(KFLAGS) -O -Ml -i" "LNKFLAGS = -i -Ml"
2431
2432#As above, but with curses support.  Debugging disabled to prevent thrashing.
2433att6300c:
2434        @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS...'
2435        $(MAKE) wermit \
2436        "CFLAGS = -DATT6300 -DHDBUUCP -DNOFILEH -DNOCSETS \
2437        -DCK_CURSES -DNODEBUG $(KFLAGS) -O -Ml -i" "LNKFLAGS = -i -Ml" \
2438        "LIBS = -lcurses"
2439
2440#AT&T 6300 PLUS with no curses, no debugging (about 34K smaller)
2441# -Optimization saves about 20K too.
2442att6300nd:
2443        @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS, no debugging...'
2444        $(MAKE) wermit \
2445        "CFLAGS = -DATT6300 -DHDBUUCP -DNODEBUG -DNOFILEH $(KFLAGS) \
2446        -O -i -Ml" "LNKFLAGS = -i -Ml"
2447
2448#AT&T 3B2, 3B20-series computers running AT&T UNIX System V.
2449#This is just generic System V with Honey DanBer UUCP, so refer to sys3hdb.
2450#Might need addition of -DNONAWS if ckutio.c compilation fails in ttgwsiz().
2451att3bx:
2452        $(MAKE) "MAKE=$(MAKE)" sys3hdb
2453
2454#AT&T 3B2, 3B20-series computers running AT&T UNIX System V,
2455#with fullscreen file transfer display
2456att3bxc:
2457        @echo 'Making C-Kermit $(CKVER) for AT&T 3B2 or 3B20'
2458        @echo 'with Honey DanBer UUCP and curses...'
2459        $(MAKE) wermit "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) \
2460                -DCK_CURSES -DCK_NEWTERM -i -O" \
2461        "LNKFLAGS = -i" "LIBS=-lcurses"
2462
2463#Any System V R2 or earlier with Honey DanBer UUCP (same as above)
2464sys3hdb:
2465        @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
2466        @echo 'or System V R2 or earlier with Honey DanBer UUCP...'
2467        $(MAKE) wermit "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) -i -O" \
2468        "LNKFLAGS = -i"
2469
2470#Sperry/UNISYS 5000 UTS V 5.2 (System V R2), Honey DanBer UUCP
2471unisys5r2:
2472        @echo 'Making C-Kermit $(CKVER) for Sperry/UNISYS 5000 UTS V 5.2...'
2473        $(MAKE) wermit \
2474        "CFLAGS = -DATTSV -DUNISYS52 -DHDBUUCP $(KFLAGS) -i -O" \
2475        "LNKFLAGS = -i"
2476
2477#In case they say "make sys5hdb" instead of "make sys3hdb"...
2478sys5hdb:
2479        $(MAKE) "MAKE=$(MAKE)" sys3hdb
2480
2481#IBM PS/2 with AIX 1.0.
2482#  Reports indicate that -O switch must be omitted.
2483#  It is also possible that "make bsd" will work (reports welcome).
2484#  One report said "make LIBS=-lbsd bsd" did the trick.
2485ps2aix:
2486        @echo 'Making C-Kermit $(CKVER) for IBM AIX 1.0 PS/2...'
2487        $(MAKE) wermit \
2488        "CFLAGS = -DATTSV -DPS2AIX10 $(KFLAGS) -i" "LNKFLAGS = -i"
2489
2490#IBM RT PC with AIX 2.2.1
2491#This one has unique and strange lockfiles.
2492rtaix:
2493        @echo 'Making C-Kermit $(CKVER) for IBM RT PC, AIX 2.2.1...'
2494        $(MAKE) wermit \
2495        "CFLAGS = -DATTSV -DRTAIX -DHDBUUCP -DTCPSOCKET -Wq,-SJ2 \
2496        -DCLSOPN $(KFLAGS) -O -w" "LNKFLAGS = -s"
2497
2498#IBM RT PC with AIX 2.2.1
2499#This one has unique and strange lockfiles.
2500rtaixc:
2501        @echo 'Making C-Kermit $(CKVER) for IBM RT PC, AIX 2.2.1, curses...'
2502        $(MAKE) wermit \
2503        "CFLAGS = -DATTSV -DRTAIX -DHDBUUCP -DTCPSOCKET -DCK_CURSES \
2504        -DCLSOPN -Wq,-SJ2 $(KFLAGS) -O -w" "LIBS=-lcurses" "LNKFLAGS = -s"
2505
2506#IBM RT PC with AIX (ACIS) 2.2.1 (BSD 4.3)
2507# Add -O, -DDYNAMIC, -s, etc, if they work.
2508rtacis:
2509        @echo Making C-Kermit $(CKVER) for RT PC with ACIS 2.2.1 = BSD 4.3...
2510        $(MAKE) wermit "CFLAGS= -DBSD4 -DTCPSOCKET $(KFLAGS) -U__STDC__" \
2511        "LNKFLAGS = -s"
2512
2513hpux:
2514        @echo 'Please pick a more specific HP-UX entry.'
2515
2516#HP 9000 series 300, 500, 800, no long filenames and no job control.
2517#This works for HP-UX versions earlier than 6.5.
2518#It definitely works with HP-UX 5.21.
2519hpuxpre65:
2520        @echo 'Making C-Kermit $(CKVER) for HP-9000 HP-UX, no long filenames.'
2521        $(MAKE) wermit \
2522        "CFLAGS = -DHPUX -DHPUXPRE65 $(KFLAGS) -O" "LNKFLAGS ="
2523
2524#HP-9000 500 HP-UX 5.21 with Wollongong WIN/TCP 1.2 TCP/IP
2525#Requires /usr/wins/usr/include and /usr/lib/libnet.a from Wollongong
2526hpux500wintcp:
2527        @echo 'Making C-Kermit $(CKVER) for HP-9000 500 HP-UX 5.21 WIN/TCP'
2528        $(MAKE) wermit \
2529        "CFLAGS = -DHPUX -DHPUXPRE65 -DTCPSOCKET -DDYNAMIC \
2530        -I/usr/wins/usr/include $(KFLAGS) -O" \
2531        "LIBS = /usr/lib/libnet.a" "LNKFLAGS = "
2532
2533#HP 9000 series 300, 800, long filenames (using BSD file system)
2534# (This one is probably necessary for the Series 300)
2535hpuxlf:
2536        @echo 'Making C-Kermit $(CKVER) for HP-9000 HP-UX, long filenames...'
2537        $(MAKE) wermit \
2538        "CFLAGS = -DHPUX -DNDIR -DLONGFN -DDYNAMIC $(KFLAGS) -O" \
2539        "LNKFLAGS ="
2540
2541#HP 9000 series 300, 800, long filenames (using <dirent.h>)
2542hpuxde:
2543        @echo 'Making C-Kermit $(CKVER) for HP-9000 HP-UX, long filenames...'
2544        $(MAKE) wermit \
2545        "CFLAGS = -DHPUX -DDIRENT -DDYNAMIC $(KFLAGS) -O" \
2546        "LNKFLAGS ="
2547
2548#HP 9000 series 300, 800, long filenames (using <dirent.h>) and TCP/IP
2549hpuxdetcp:
2550        @echo 'Making C-Kermit $(CKVER) for HP-9000 HP-UX, long filenames...'
2551        $(MAKE) wermit \
2552        "CFLAGS = -DHPUX -DDIRENT -DDYNAMIC -DTCPSOCKET $(KFLAGS) -O" \
2553        "LNKFLAGS ="
2554
2555#HP 9000 series 300, 800, long filenames, System V R3 or later
2556# (Does anybody know what is the earliest release of HP-UX based on SVR3?)
2557hpuxs5r3:
2558        @echo 'Making C-Kermit $(CKVER) for HP-9000 HP-UX, long filenames...'
2559        $(MAKE) wermit \
2560        "CFLAGS = -DHPUX -DSVR3 -DDIRENT -DTCPSOCKET -DDYNAMIC \
2561        -DNOSETBUF $(KFLAGS) -O" "LNKFLAGS =" "LIBS=-lBSD"
2562
2563#HP-UX 6.5, short filenames, no network support.
2564#ckcpro and ckuusr are broken out because they make the optimizer run away.
2565hpux65:
2566        @echo 'Making C-Kermit $(CKVER) for HP-UX 6.5, no long filenames.'
2567        $(MAKE) ckcpro.$(EXT) \
2568        "CFLAGS = -DHPUX -DDYNAMIC -DNOSETBUF -DSIG_V $(KFLAGS)"
2569        $(MAKE) ckuusr.$(EXT) \
2570        "CFLAGS = -DHPUX -DDYNAMIC -DNOSETBUF -DSIG_V $(KFLAGS)"
2571        $(MAKE) wermit \
2572        "CFLAGS = -DHPUX -DDYNAMIC -DNOSETBUF -DSIG_V $(KFLAGS) -O"
2573
2574#HP-UX 6.5, as above, plus curses:
2575hpux65c:
2576        @echo 'Making C-Kermit $(CKVER) for HP-UX 6.5 + curses.'
2577        $(MAKE) ckcpro.$(EXT) \
2578        "CFLAGS = -DHPUX -DDYNAMIC -DNOSETBUF -DCK_CURSES -DSIG_V $(KFLAGS)"
2579        $(MAKE) ckuusr.$(EXT) \
2580        "CFLAGS = -DHPUX -DDYNAMIC -DNOSETBUF -DCK_CURSES -DSIG_V $(KFLAGS)"
2581        $(MAKE) wermit \
2582        "CFLAGS = -DHPUX -DDYNAMIC -DNOSETBUF -DCK_CURSES -DSIG_V $(KFLAGS) \
2583        -O" "LIBS= -lcurses -ltermcap"
2584
2585#HP-UX 7.0, no long filenames, no network support.
2586hpux7sf:
2587        @echo 'Making C-Kermit $(CKVER) for HP-9000 HP-UX, no long filenames.'
2588        $(MAKE) ckcpro.$(EXT) \
2589        "CFLAGS = -DHPUX $(KFLAGS) -DSIG_V"
2590        $(MAKE) wermit \
2591        "CFLAGS = -DHPUX $(KFLAGS) -DSIG_V -O" "LNKFLAGS ="
2592
2593#HP-UX 7.0, short filenames, but with tcp/ip and curses.
2594#There must be <arpa/telnet.h> & <arpa/inet.h> present to support this
2595#configuration.  To use this, you must have bought the ARPA Services
2596#Product from HP, and you must get the files "telnet.h" and "inet.h"
2597#from the Berkeley Standard Distribution because (reportedly) they are not
2598#part of the HP product.  And you need /usr/lib/libBSD.a.
2599hpux70sftcpc:
2600        @echo 'Making C-Kermit $(CKVER) for HP9000/8xx HP-UX V. 7.0'
2601        @echo 'supporting: NO long filenames, networking, curses, HDB uucp...'
2602        $(MAKE) ckcpro.$(EXT) \
2603        "CFLAGS = -DHPUXDEBUG -DHPUX -DSVR3 -DCK_REDIR -DDYNAMIC -DNOSETBUF \
2604        -DTCPSOCKET -DCK_CURSES $(KFLAGS)"
2605        $(MAKE) wermit \
2606        "CFLAGS = -DHPUXDEBUG -DHPUX -DSVR3 -DCK_REDIR -DDYNAMIC -DNOSETBUF \
2607        -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DCK_RTSCTS \
2608        -DTCPSOCKET -DCK_CURSES $(KFLAGS) -O" \
2609        "LNKFLAGS = -s" "LIBS= -lcurses -ltermcap -lBSD"
2610
2611#HP 9000 series 800 HP-UX 7.0, long filenames, network support, HDB uucp.
2612#See comments in hpux70sftcpc about TCP/IP support.
2613hpux70lfn:
2614        @echo 'Making C-Kermit $(CKVER) for HP9000/8xx HP-UX V. 7.0'
2615        @echo 'supporting: long filenames, networking, HDB uucp...'
2616        $(MAKE) ckcpro.$(EXT) \
2617        "CFLAGS = -DHPUXDEBUG -DHPUX -DSVR3 -DDYNAMIC -DNOSETBUF \
2618        -DCK_REDIR -DCK_RTSCTS -DTCPSOCKET $(KFLAGS)"
2619        $(MAKE) wermit \
2620        "CFLAGS = -DHPUXDEBUG -DHPUX -DSVR3 -DDYNAMIC -DNOSETBUF \
2621        -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DLONGFN \
2622        -DCK_REDIR -DCK_RTSCTS -DTCPSOCKET  $(KFLAGS) -O" \
2623        "LNKFLAGS = -s" "LIBS = -lBSD"
2624
2625hpux70lfnc:
2626        @echo 'Making C-Kermit $(CKVER) for HP9000/8xx HP-UX V. 7.0'
2627        @echo 'supporting: curses, long filenames, networking, HDB UUCP...'
2628        $(MAKE) ckcpro.$(EXT) \
2629        "CFLAGS = -DHPUXDEBUG -DHPUX -DSVR3 -DDIRENT -DLONGFN \
2630        -DDYNAMIC -DNOSETBUF -DCK_REDIR -DTCPSOCKET -DCK_CURSES $(KFLAGS)"
2631        $(MAKE) wermit \
2632        "CFLAGS = -DHPUXDEBUG -DHPUX -DSVR3 -DDIRENT -DLONGFN \
2633        -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DCK_RTSCTS \
2634        -DDYNAMIC -DNOSETBUF -DCK_REDIR -DTCPSOCKET -DCK_CURSES $(KFLAGS) -O" \
2635        "LIBS= -lcurses -ltermcap -lBSD" "LNKFLAGS = -s"
2636
2637#HP 9000 Series 300 or 400, HP-UX 8.0, long filenames and TCP/IP support.
2638#This one should also work on 700/800, but without PA-specific optimization.
2639#In case -DCK_RTSCTS and -DCK_REDIR make trouble, remove them.
2640#NOTE: ckcpro.c blows up the optimizer, so don't optimize it. For HP-UX 8.0
2641#on Motorola CPUs, you might have to reinstall your kernel with maxdsiz >=
2642#0x02000000.  But if physical memory is small, that still will not help much.
2643hpux80:
2644        @echo 'Making C-Kermit $(CKVER) for HP9000 HP-UX V. 8.0'
2645        @echo 'supporting: long filenames, TCP/IP, HDB UUCP...'
2646        $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" ckcpro.$(EXT) \
2647        "CFLAGS = -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DSVR3 -DRENAME \
2648        -DDYNAMIC -DTCPSOCKET $(KFLAGS)"
2649        $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" wermit \
2650        "CFLAGS = -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DSVR3 -DRENAME \
2651        -DDIRENT -DLONGFN -DCK_RTSCTS \
2652        -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DNOSETBUF \
2653        -DDYNAMIC -DTCPSOCKET $(KFLAGS) -O" \
2654        "LNKFLAGS = -s" "LIBS = -lBSD"
2655
2656#Exactly as above + curses.
2657hpux80c:
2658        @echo 'Making C-Kermit $(CKVER) for HP9000 HP-UX V. 8.0'
2659        @echo 'supporting: long filenames, TCP/IP, HDB UUCP, curses...'
2660        $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" ckcpro.$(EXT) \
2661        "CFLAGS = -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DSVR3 -DRENAME \
2662        -DDYNAMIC -DTCPSOCKET $(KFLAGS)"
2663        $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" wermit \
2664        "CFLAGS = -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DSVR3 -DRENAME \
2665        -DDIRENT -DLONGFN -DCK_RTSCTS -DCK_CURSES \
2666        -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DNOSETBUF \
2667        -DDYNAMIC -DTCPSOCKET $(KFLAGS) -O" \
2668        "LNKFLAGS = -s" "LIBS = -lBSD -lcurses"
2669
2670#HP 9000 Series 700 or 800, HP-UX 8.0, long filenames and TCP/IP support.
2671# Like the previous entries, but with PA-specific optimization.
2672hpux80pa:
2673        $(MAKE) hpux80 "KFLAGS = $(KFLAGS) +Obb1100"
2674
2675#As above, but with curses.
2676hpux80pac:
2677        $(MAKE) hpux80c "KFLAGS = $(KFLAGS) +Obb1100"
2678
2679#As above, but compiled with GCC 2.3.3.
2680hpux80pagcc:
2681        @echo 'Making C-Kermit $(CKVER) for HP9000 HP-UX 8.0 with gcc,'
2682        @echo 'supporting: long filenames, networking, HDB uucp...'
2683        $(MAKE) "CC=gcc" "CC2=gcc" hpux80
2684
2685#HP 9000 HP-UX 8.0, no TCP/IP because /usr/lib/libBSD.a can't be found,
2686#or TCP/IP header files missing.
2687hpux80notcp:
2688        $(MAKE) "MAKE=$(MAKE)" hpux80 "KFLAGS = $(KFLAGS) -UTCPSOCKET"
2689
2690#HP-UX 9.0, 9.01, 9.03, 9.04, 9.05, 9.07, 9.10 ..., + TCP/IP + curses, fully
2691#configured.  Use this entry with the restricted compiler: no optimization, no
2692#ANSI support.  If you get unresolved sockets library references at link time,
2693#then try adding -lBSD to LIBS, or else remove -DTCPSOCKET to build a version
2694#without TCP/IP support.
2695hpux90:
2696        @echo 'Making C-Kermit $(CKVER) for HP9000 HP-UX V. 9.0...'
2697        @echo 'Read comments in the hpux90 entry if you have trouble.'
2698        $(MAKE) wermit "CFLAGS = -DHPUX9 -DDIRENT -DHPUXDEBUG -DLONGFN \
2699        -DTCPSOCKET -DCK_CURSES -DHDBUUCP -DDYNAMIC -DNOSETBUF -DKANJI \
2700        -DSTERMIOX -DCK_REDIR -DRENAME \
2701        -DLOCK_DIR=\\\"/usr/spool/uucp\\\" $(KFLAGS)" \
2702        "LNKFLAGS = -s" "LIBS = -lcurses" "CC=$(CC)" "CC2=$(CC2)"
2703
2704#Like hpux90, but for the "value-added" compiler on all HP 9000 models.
2705#Adds optimization and ANSI compilation:
2706# +O2 makes smaller executable (= -O = Level-1 and global optimization)
2707# +O3 adds interprocedural global optimization, makes bigger executable.
2708# If optimization fails on some modules, you can add:
2709#  +Obb<n>, +Olimit <n>, or +Onolimit, depending on your cc version,
2710# where <n> is a number, e.g. +Obb1200.  In other words, if you get optimizer
2711# warnings, add (for example) +Obb1200; if you still get optimizer warnings,
2712# increase the number.  Repeat until warnings go away.  If your compiler
2713# permits it, use +Onolimit. If optimizer blows up on ckcpro.c, see next entry.
2714# Reportedly, on some configurations, such as HP9000/425e or /340, perhaps
2715# depending on the amount of main memory, this entry might fail no matter what
2716# you do ("Out of Memory", "cc: Fatal error in /lib/c.c1", etc).  In that case
2717# use "make hpux90" (no "o").
2718hpux90o:
2719        $(MAKE) hpux90 \
2720        "KFLAGS = $(KFLAGS) -Aa -DCK_ANSIC -D_HPUX_SOURCE +O2"
2721
2722# For HP-UX 9.0 on Motorola CPUs, optimization of ckcpro.c tends to blow up
2723# the compiler.  You might have to reinstall your kernel with maxdsiz >=
2724# 0x03000000.  But if physical memory is small, that still will not help much.
2725# In that case, use this entry to skip optimization of ckcpro.c.
2726hpux90mot:
2727        $(MAKE) ckcpro.$(EXT) "CFLAGS = -DHPUX9 -DHPUXDEBUG \
2728        -DTCPSOCKET -DDYNAMIC -DCK_REDIR -DRENAME $(KFLAGS)"
2729        $(MAKE) hpux90 \
2730        "KFLAGS = $(KFLAGS) -Aa -DCK_ANSIC -D_HPUX_SOURCE +O2"
2731
2732#Like hpux90o but with additional model-700/800-specific optimizations.
2733# +ESlit = consolidate strings in read-only memory.
2734# +ESfsc = inline millicode calls when comparing pointers.
2735hpux90o700:
2736        @echo 'If you get optimizer warnings'
2737        @echo 'Try "make hpux90o700 KFLAGS=+Obb1200"'
2738        $(MAKE) hpux90o "KFLAGS = $(KFLAGS) +ESlit +ESsfc"
2739
2740#HP-UX 9.0, 9.01, 9.03, 9.04, ..., + TCP/IP + curses, fully configured,
2741#built with gcc, all models except 800 series.
2742hpux90gcc:
2743        $(MAKE) hpux90 CC=gcc CC2=gcc \
2744        "KFLAGS = $(KFLAGS) -DCK_ANSIC -O2"
2745
2746#HP-9000 HP-UX 10.0 + TCP/IP + curses, fully configured.
2747#Use with restricted (bundled) compiler: no optimization, no ANSI support.
2748#libcurses needed for fullscreen file xfer display in HP-UX 10.00 and 10.01.
2749#libHcurses (NOT libcurses!) for fullscreen display, to work around fatal bugs
2750#in HP-UX 10.10 and 10.20 curses. Maybe we could use lcurses for 10.30, since
2751#the 10.10 curses problem is supposedly fixed in 10.30.
2752hpux100:
2753        @echo 'Making C-Kermit $(CKVER) for HP9000 HP-UX V.10.xx...'
2754        @touch ckuker.cpp
2755        $(MAKE) "SHELL=/usr/bin/sh" "CFLAGS=-DHPUX10" manpage
2756        @case `uname -r` in \
2757           [AB].10.0*)  KFLAGS='-DHPUX1000 $(KFLAGS)' ; \
2758                        LIBS='  -lcurses'  ;; \
2759           [AB].10.1*)  KFLAGS='-DHPUX1010 -D__HP_CURSES $(KFLAGS)' ; \
2760                        LIBS='  -lHcurses' ;; \
2761           [AB].10.2*)  KFLAGS='-DHPUX1020 -D__HP_CURSES $(KFLAGS)' ; \
2762                        LIBS='  -lHcurses' ;; \
2763           [AB].10.3*)  KFLAGS='-DHPUX1030 -D__HP_CURSES $(KFLAGS)' ; \
2764                        LIBS='  -lHcurses' ;; \
2765           [AB].10.?*)  KFLAGS='-DHPUX10XX -D__HP_CURSES $(KFLAGS)' ; \
2766                        LIBS='  -lHcurses' ;; \
2767        esac ; \
2768        $(MAKE) "SHELL=/usr/bin/sh" wermit \
2769        "CFLAGS = -DHPUX10 -DDIRENT -DSTERMIOX -DCK_DSYSINI -DHDBUUCP \
2770        -DCK_CURSES -DCK_WREFRESH -DKANJI -DDYNAMIC -DNOSETBUF \
2771        -DTCPSOCKET -DCK_REDIR -DRENAME $$KFLAGS" \
2772        "LNKFLAGS=-s $(LNKFLAGS)" "LIBS = $$LIBS"
2773
2774#HP-9000 HP-UX 10.00 and higher with ANSI prototyping and optimization.
2775#PA-RISC only, no Motorola or other hardware is support in HP-UX 10.00++.
2776#The unbundled optional compiler is required.
2777#Your path should start with /opt/ansic/bin.
2778# -Wl,-Fw = Remove stack unwind table (info used by debuggers).
2779# +O2 makes a smaller executable (= -O = Level-1 and global optimization).
2780# +O3 adds interprocedural global optimization, makes a bigger executable.
2781# +Onolimit allows all modules to be optimized, no matter how complex.  But:
2782#  (a) +Onolimit does not seem to always be there in HP-UX 10.00, and:
2783#  (b) some modules might take hours on low-memory and/or slow systems.
2784# The following are PA-RISC-specific optimizations:
2785# +ESlit = Consolidate strings in read-only memory.
2786# +ESfsc = Inline millicode calls when comparing pointers.
2787# +DA1.0 = Generate code that runs on both 700 and 800 models.
2788# You might need to configure your kernel for a maxdsiz of 0x06000000 (96MB)
2789# or greater to prevent the optimizer from running out of space.
2790hpux100o:
2791        $(MAKE) "SHELL=/usr/bin/sh" "PATH=/opt/ansic/bin:$$PATH" hpux100 \
2792        "KFLAGS = $(KFLAGS) \
2793        -Aa -D_HPUX_SOURCE -DCK_ANSIC -DUTIMEH \
2794        +O2 -Wl,-Fw +ESlit +ESsfc +DA1.0"
2795
2796#The same like hpux100o but with "+Onolimit"
2797hpux100o+:
2798        $(MAKE) hpux100o \
2799        "KFLAGS = $(KFLAGS) +Onolimit"
2800
2801#Regulus on CIE Systems 680/20
2802cie:
2803        @echo 'Making C-Kermit $(CKVER) for CIE Systems 680/20 Regulus...'
2804        $(MAKE) wermit \
2805        "CFLAGS = -DATTSV -DNOFILEH -DCIE $(KFLAGS) -O" "LNKFLAGS ="
2806
2807# Linux 0.99.14 or later with gcc, dynamic libraries, curses, TCP/IP.
2808#
2809# -DLINUXFSSTND (Linux File System Standard) gives UUCP lockfil /var/lock with
2810# string pid.  Remove this and get /usr/spool/uucp with int pid, which was used
2811# in early Linux versions.
2812#
2813# If you get compiler errors regarding <linux/serial.h>, add -DNOHISPEED.
2814#
2815# -DCK_POSIX_SIG (POSIX signal handling) is good for Linux releases back to at
2816# least 0.99.14; if it causes trouble for you, just remove it.
2817#
2818# -DCK_CURSES: Here we link with the regular curses library.  But you should
2819# be using ncurses.  Internally, the ckuusx.c module includes <curses.h>, but
2820# this really should be <ncurses.h>.  Thus if you have the new curses
2821# material, you should either install it with the standard names, or else
2822# create symbolic links from the standard names to the new ones.  If you get
2823# compile-time errors complaining about data definitions in termcap.h, it
2824# means you have new kernel material mixed with older libc header files.  To
2825# fix, add "#include <termios.h>" to the <termcap.h> file.  Or if all this is
2826# too confusing, create a new makefile entry based on this one, but with
2827# -DCK_CURSES removed from CFLAGS and the entire LIBS= clause removed.
2828#
2829# But wait, there's more.  On most Linux systems, -ltermcap must be included
2830# in LIBS.  But on others, the linker complains that libtermcap can't be
2831# found.  In that case, try removing -ltermcap from LIBS=.
2832#
2833# But wait, there's more.  The format of the PID string in the UUCP lockfile
2834# changed between Linux FSSTND 1.0 and 1.2.  In the earlier standard, it had
2835# leading zeros; in the second, it has leading spaces.  By default this entry
2836# uses the newer standard.  To force the second one, add -DFSSTND10.
2837#
2838# "The nice thing about the Linux standard is there are so many to choose from"
2839#
2840# NOTE: Remove -DBIGBUFOK for small-memory or limited-resource systems.
2841linux:
2842        @echo 'Making C-Kermit $(CKVER) for Linux...'
2843        @echo 'IMPORTANT: Read the comments in the linux section of the'
2844        @echo 'makefile if you get compilation or link errors.'
2845        $(MAKE) wermit "CC = gcc" "CC2 = gcc" \
2846        "CFLAGS = -O -DPOSIX -DDYNAMIC -DCK_CURSES -DCK_POSIX_SIG \
2847        -DBIGBUFOK -DTCPSOCKET -DLINUXFSSTND $(KFLAGS)" \
2848        "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lncurses"
2849
2850#This version was used for Linux prior to C-Kermit 6.0.192.
2851#Now the "Linux File System Standard" is considered standard, ditto TCP/IP.
2852linuxold:
2853        @echo 'Making C-Kermit $(CKVER) for Linux...'
2854        @echo 'For FSSTND-recommended UUCP lockfiles, use:'
2855        @echo '  make linux "KFLAGS=-DLINUXFSSTND".'
2856        @echo 'Use "make linuxtcp" to add TCP/IP support.'
2857        @echo 'Read comments in makefile for additional options.'
2858        $(MAKE) wermit "CC = gcc" "CC2 = gcc" \
2859        "CFLAGS = -O -DPOSIX -DDYNAMIC -DCK_CURSES -DCK_POSIX_SIG \
2860        $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
2861
2862# "make linux", but with static linking to avoid confusion with DLL versions.
2863# Use this to make a portable binary.  Adds about 100K to the executable.
2864linuxs:
2865        $(MAKE) linux "KFLAGS = $(KFLAGS)" "LNKFLAGS = -static"
2866
2867linuxnotcp:
2868        $(MAKE) linux "KFLAGS = -DNONET $(KFLAGS)"
2869
2870# "make linuxnotcp" with lcc (see http://www.cs.princeton.edu/software/lcc)
2871# lcc does not understand various gcc extensions:
2872#  "__inline__" -- can be eliminated by adding "-D__inline__="
2873#  "__asm__ and "long long" -- in header files, should be surrounded by
2874#                              "#ifndef(__STRICT_ANSI__)"/"#endif"
2875#  however, TCP requires some __asm__ functions, so cannot be compiled
2876linuxnotcp-lcc:
2877        @echo 'Making C-Kermit $(CKVER) for Linux with lcc ...'
2878        @echo 'Read comments in makefile for additional information.'
2879        $(MAKE) wermit "CC = lcc" "CC2 = lcc" \
2880        "CFLAGS = -DPOSIX -DDYNAMIC -DCK_CURSES -DCK_POSIX_SIG \
2881        -UTCPSOCKET -DLINUXFSSTND $(KFLAGS)" \
2882        "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
2883
2884# LynxOS 2.2 with GCC compiler, TCP/IP and fullscreen display.
2885# Probably also works with Lynx 2.1, and maybe even Lynx 2.0.
2886# -X means use termios serial drivers rather than BSD4.3-style sgtty drivers.
2887# If you have trouble with this, try "make bsd KFLAGS=-DNOFDZERO".
2888lynx:
2889        @echo 'Making C-Kermit $(CKVER) for LynxOS 2.2 with TCP/IP'
2890        $(MAKE) wermit "CC = gcc" "CC2 = gcc" \
2891        "CFLAGS= -O -DPOSIX -DDIRENT -DSETREUID -DCK_CURSES -DTCPSOCKET \
2892        -DCK_ANSIC -DLYNXOS" "LNKFLAGS = -X" "LIBS = -lcurses -lbsd"
2893
2894lynx22:
2895        $(MAKE) lynx "KFLAGS=$(KFLAGS)"
2896
2897# LynxOS 2.1 with GCC compiler 1.40 and TCP/IP.
2898lynx21:
2899        @echo 'Making C-Kermit $(CKVER) for LynxOS 2.1 with TCP/IP'
2900        $(MAKE) kermit "CC = gcc" "CC2 = gcc" \
2901        "CFLAGS= -O -DSETREUID -DTCPSOCKET -DCK_ANSIC -DBSD4 -DLYNXOS" \
2902        "LIBS = -lbsd"
2903
2904#Microport SV/AT for IBM PC/AT 286 and clones, System V R2.
2905#The -O flag may fail on some modules (like ckuus2.c), in which case you
2906#should compile them by hand, omitting the -O.  If you get "hash table
2907#overflow", try adding -DNODEBUG.
2908#Also, reportedly this compiles better with gcc than with cc.
2909mpsysv:
2910        @echo 'Making C-Kermit $(CKVER) for Microport SV/AT 286...'
2911        $(MAKE) wermit \
2912        "CFLAGS= -DATTSV $(KFLAGS) -O -Ml" "LNKFLAGS = -Ml"
2913
2914#Microsoft "Xenix/286" e.g. for IBM PC/AT
2915xenix:
2916        @echo 'Making C-Kermit $(CKVER) for Xenix/286'
2917        $(MAKE) wermit \
2918        "CFLAGS= -DXENIX -DNOFILEH $(KFLAGS) -Dunix -F 3000 -i" \
2919        "LNKFLAGS = -F 3000 -i"
2920
2921#SCO Xenix 2.2.1 for IBM PC, XT, PS2/30, or other 8088 or 8086 machine
2922#Should this not work, try some of the tricks from sco286.
2923#NOTE: -DRENAME is omitted for early SCO Xenix releases because it didn't
2924#exist, or its semantics were different from the later POSIX-compliant
2925#version of rename().
2926sco86:
2927        @echo 'Making C-Kermit $(CKVER) for SCO Xenix/86...'
2928        $(MAKE) wermit \
2929        "CFLAGS= -DXENIX -DNOFILEH $(KFLAGS) -Dunix -F 3000 -i -M0me" \
2930        "LNKFLAGS = -F 3000 -i -s -M0me" "LIBS = -lx"
2931
2932#SCO Xenix/286 2.2.1, e.g. for IBM PC/AT, PS/2 Model 50, etc.
2933#Reportedly, this "make" can fail simply because of the size of this
2934#makefile.  If that happens, use "makeL", or edit out some of the
2935#other entries.  No debugging or character-set translation.
2936sco286:
2937        @echo 'Making C-Kermit $(CKVER) for SCO Xenix/286...'
2938        @echo 'If make fails, try using makeL.'
2939        $(MAKE) wermit \
2940        "CFLAGS= -s -O -LARGE -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP \
2941        -DNODEBUG -DNOTLOG -DNOCSETS \
2942        $(KFLAGS) -F 3000 -i -M2let32" \
2943        "LIBS = -lx" "LNKFLAGS = -s -O -LARGE -F 3000 -i -M2let32"
2944
2945#SCO Xenix/286 2.2.1, e.g. for IBM PC/AT, PS/2 Model 50, etc.
2946#As above, but with HDBUUCP
2947sco286hdb:
2948        @echo 'Making C-Kermit $(CKVER) for SCO Xenix/286 with HDB UUCP...'
2949        @echo 'If make fails, try using makeL.'
2950        $(MAKE) wermit \
2951        "CFLAGS= -s -O -LARGE -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP \
2952        -DHDBUUCP $(KFLAGS) -F 3000 -i -M2let32" \
2953        "LIBS = -lx" "LNKFLAGS = -s -O -LARGE -F 3000 -i -M2let32"
2954
2955#SCO Xenix/386 2.2.2 and 2.2.3
2956sco386:
2957        @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.2.2...'
2958        $(MAKE) wermit \
2959        "CFLAGS= -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP $(KFLAGS) -Otcl -M3e" \
2960        "LNKFLAGS = -s" "LIBS = -lx"
2961
2962#SCO XENIX/386 2.2.3 with Excelan TCP/IP + curses.
2963# NOTE: This one might need some work in C-Kermit 6.0.
2964# You might need to include /usr/include/sys/types.h
2965# containing "typedef char *caddr_t;".  Then at least it compiles, but the
2966# stack
2967sco386netc:
2968        @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.2.3 + Excelan TCP'
2969        $(MAKE) wermit \
2970        "CFLAGS= -I/usr/include/exos -DXENIX -DNOFILEH -DCK_CURSES -DDYNAMIC \
2971        -Dunix -DRDCHK -DNAP -DTCPSOCKET -DEXCELAN -DNOJC -DNOMKDIR \
2972        $(KFLAGS) -Otcl -M3e" \
2973        "LNKFLAGS = -s" "LIBS = -lc -lx -lsocket -lcurses -ltermcap"
2974
2975#SCO XENIX/386 2.3.3 with gcc 1.37 or later...
2976sco386gcc:
2977        @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.3.3, gcc...'
2978        @echo 'Add -D_NO_PROTOTYPE if you have trouble with Xenix header files'
2979        $(MAKE) wermit "CC = gcc" "CC2 = gcc" \
2980        "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
2981        -DNOJC -DNODEBUG -DDYNAMIC $(KFLAGS) \
2982        -traditional -fpcc-struct-return -fstrength-reduce \
2983        -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
2984        -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
2985        -DM_SYSIII -DM_SYSV -DM_WORDSWAP -DM_XENIX \
2986        -DPWID_T=int " "LNKFLAGS = -s" "LIBS = -lx"
2987
2988#As above, but with curses...
2989sco386gccc:
2990        @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.3.3, gcc...'
2991        @echo 'Add -D_NO_PROTOTYPE if you have trouble with Xenix header files'
2992        $(MAKE) wermit "CC = gcc" "CC2 = gcc" \
2993        "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
2994        -DNOJC -DNODEBUG -DDYNAMIC -DCK_CURSES $(KFLAGS) \
2995        -traditional -fpcc-struct-return -fstrength-reduce \
2996        -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
2997        -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
2998        -DM_SYSIII -DM_SYSV -DM_WORDSWAP -DM_XENIX \
2999        -DPWID_T=int " "LNKFLAGS = -s" "LIBS = -lx -lcurses -ltermlib"
3000
3001#SCO UNIX (and ODT) entries...
3002#
3003#NOTE: All SCO UNIX entry LIBS should have "-lc_s -lc -lx" IN THAT ORDER (if
3004#shared C library is desired), or else "-lc -lx" IN THAT ORDER.  Use shared C
3005#libraries to save memory, but then don't expect to run the resulting binary
3006#on a different machine.  When using -lc_s, you must also use -lc, because the
3007#shared C library does not contain all of libc.a.  And in all cases, -lc must
3008#ALWAYS precede -lx.
3009#
3010#ANOTHER NOTE: -DRENAME is included in all SCO UNIX entries.  Remove it if it
3011#causes trouble.  No harm is done by removing it (see ckuins.doc).
3012#
3013#AND ANOTHER: In theory, it should be possible to run SCO UNIX binaries on
3014#SCO Xenix 2.3 and later.  In practice, this might not work because of the
3015#libraries, etc.  Also, don't add the -link -z switch (which is supposed to
3016#root out references to null pointers) because it makes UNIX binaries core
3017#dump when they are run under Xenix.
3018
3019#NOTE: -Otcl removed and replaced by -O, since -Otcl produced incorrect code.
3020#SCO UNIX/386 3.2.0, 3.2.1, and SCO Xenix 2.3.x
3021sco3r2:
3022        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2.0 or 3.2.1 ...'
3023        @echo 'Warning: If make blows up, edit the makefile to join'
3024        @echo 'the following three continued lines into one line.'
3025        @echo 'Also, remove -DRENAME if _rename unresolved at link time.'
3026        $(MAKE) wermit \
3027        "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
3028        -DRENAME -DNOJC $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lc -lx"
3029
3030# Exactly the same as above, but enables some special SCO-specific code
3031# that allegedly clears up some problems with HANGUP and with uugetty.
3032# For satisfactory operation on bidirectional lines that are handled by
3033# uugetty, you must install the kermit program with owner=group=uucp
3034# and permission 06755.
3035sco3r2x:
3036        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386...'
3037        @echo 'Warning: If make blows up, edit the makefile to join'
3038        @echo 'the following four continued lines into one line.'
3039        @echo 'Also, remove -DRENAME if _rename unresolved at link time.'
3040        $(MAKE) wermit \
3041        "CFLAGS= -DSCO32 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
3042        -DNOJC -DRENAME -DNOCOTFMC $(KFLAGS) -Otcl" \
3043        "LNKFLAGS = -s" "LIBS = -lc -lx"
3044
3045#SCO UNIX/386 3.2.0 and SCO Xenix 2.3.x with Excelan TCP/IP support.
3046#In case of compilation or runtime problems, try adding
3047#"-DUID_T=int -DGID_T=int" to the CFLAGS.  If that doesn't work, try
3048#"-DUID_T=uid_t -DGID_T=gid_t".
3049sco3r2net:
3050        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Excelan...'
3051        @echo 'Warning: If make blows up, edit the makefile to join'
3052        @echo 'the following three continued lines into one line.'
3053        $(MAKE) wermit \
3054        "CFLAGS= -I/usr/include/exos -DXENIX -DSVR3 -DDYNAMIC -DNOFILEH \
3055        -DHDBUUCP -DRDCHK -DNAP -DRENAME -DTCPSOCKET -DEXCELAN -DNOJC \
3056        $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lc -lx -lsocket"
3057
3058#SCO UNIX/386 3.2.0 and SCO Xenix 2.3.x with Excelan TCP/IP support.
3059#As above, with curses library added for FULLSCREEN file transfer display.
3060#See comments for sco3r2net.
3061sco3r2netc:
3062        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Excelan / curses...'
3063        @echo 'Warning: If make blows up, edit the makefile to join'
3064        @echo 'the following three continued lines into one line.'
3065        $(MAKE) wermit \
3066        "CFLAGS= -I/usr/include/exos -DXENIX -DSVR3 -DDYNAMIC -DNOFILEH \
3067        -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET -DEXCELAN -DNOJC $(KFLAGS) \
3068        -DRENAME -DCK_CURSES -O" "LNKFLAGS = -s" \
3069        "LIBS = -lc -lx -lsocket -lcurses -ltermcap"
3070
3071#SCO UNIX 3.2.x or SCO Xenix 2.3.x with Racal InterLan TCP/IP support
3072# Extra compile flags for other version of Racal InterLan TCP/IP:
3073# Xenix286/NP621-286, use -Ml -DPARAMH -DINTERLAN -Di286 -DSYSV
3074# Xenix386/NP621-386, use -DPARAMH -DINTERLAN -Di386 -DSYSV
3075# ISC386ix/NP622I, use -DSYSV -Di386
3076# SCO Unix3.2/NP622S, use -DSYSV -Di386 -DSCO_UNIX
3077# AT&T SVR3.2/NP622A, use -DSYSV -Di386 -DATT
3078sco3r2netri:
3079        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Racal InterLan...'
3080        @echo 'Warning: If make blows up, edit the makefile to join'
3081        @echo 'the following five continued lines into one line.'
3082        $(MAKE) wermit \
3083        "CFLAGS= -I/usr/include/interlan -DXENIX -DNOFILEH -DHDBUUCP \
3084        -DSVR3 -DRDCHK -DNAP -DTCPSOCKET -DPARAMH -DINTERLAN -Di386 -DSYSV \
3085        -DRENAME -DNOJC $(KFLAGS) -Otcl -M3e" "LNKFLAGS = -s" \
3086        "LIBS = -lc -lx -ltcp"
3087
3088# SCO XENIX/386 2.3.3 SysV with SCO TCP/IP
3089# System V STREAMS TCP developed by Lachman Associates Inc and
3090# Convergent Technologies.
3091# -DRENAME removed since some reports indicate it is not supported
3092# (whereas others say it is.)
3093sco3r2lai:
3094        @echo 'Making C-Kermit $(CKVER) for SCO XENIX/386 2.3.3 + TCP/IP...'
3095        @echo 'Warning: If make blows up, edit the makefile to join'
3096        @echo 'the following four continued lines into one line.'
3097        $(MAKE) wermit \
3098        "CFLAGS= -DLAI_TCP -Di386 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
3099        -DNAP -DTCPSOCKET -DPWID_T=int $(KFLAGS) -Otcl -i -M3e" \
3100        "LNKFLAGS = -i -s" "LIBS = -lc -lx -lsocket"
3101
3102sco3r2laic:
3103        @echo 'Making C-Kermit $(CKVER) for SCO XENIX/386 2.3.3 + TCP/IP...'
3104        @echo 'Warning: If make blows up, edit the makefile to join'
3105        @echo 'the following five continued lines into one line.'
3106        $(MAKE) wermit \
3107        "CFLAGS= -DLAI_TCP -Di386 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
3108        -DNAP -DTCPSOCKET -DDYNAMIC -DCK_ANSIC -DCK_CURSES -DM_TERMINFO \
3109        -DPWID_T=int $(KFLAGS) -Otcl -i -M3e" \
3110        "LNKFLAGS = -i -s" "LIBS = -ltinfo -lc -lx -lsocket"
3111
3112#SCO UNIX/386 3.2v2 (POSIX job control), shared libraries.
3113sco3r22:
3114        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 ...'
3115        @echo 'Warning: If make blows up, edit the makefile to join'
3116        @echo 'the following three continued lines into one line.'
3117        make wermit \
3118        "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DRENAME \
3119        -DPID_T=pid_t -DPWID_T=int -DDIRENT -DDYNAMIC $(KFLAGS) -O" \
3120        "LNKFLAGS = -s" "LIBS = -lc_s -lc -lx"
3121
3122#SCO UNIX/386 3.2v2, POSIX job control, fullscreen file transfer display,
3123#dynamic memory allocation, shared C library
3124sco3r22c:
3125        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 ...'
3126        @echo 'Warning: If make blows up, edit the makefile to join'
3127        @echo 'the following four continued lines into one line.'
3128        make wermit \
3129        "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
3130        -DCK_CURSES -DDYNAMIC -DDIRENT -DRENAME \
3131        -DPID_T=pid_t -DPWID_T=int $(KFLAGS) -O" \
3132        "LNKFLAGS = -s" "LIBS = -lcurses -lc_s -lc -lx"
3133
3134#SCO UNIX/386 3.2v2 with gcc 1.40 or later (POSIX job control)
3135sco3r22gcc:
3136        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2, gcc'
3137        @echo 'Warning: If make blows up, edit the makefile to join'
3138        @echo 'the following seven continued lines into one line.'
3139        make wermit "CC = gcc" \
3140        "CFLAGS= -O -DPOSIX -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
3141        -DRENAME -traditional -fpcc-struct-return -fstrength-reduce \
3142        -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
3143        -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
3144        -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
3145        -DPID_T=pid_t -DPWID_T=int $(KFLAGS) " "LNKFLAGS = -s" \
3146        "LIBS = -lc_s -lc -lx"
3147
3148#SCO UNIX/386 3.2v2 (ODT 1.1) (POSIX job control) with SCO TCP/IP, shared libs
3149#Requires SCO TCP/IP or ODT development system for telnet.h, etc.
3150sco3r22net:
3151        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2.2 + TCP/IP...'
3152        @echo 'Warning: If make blows up, edit the makefile to join'
3153        @echo 'the following three continued lines into one line.'
3154        make wermit \
3155        "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET \
3156        -DRENAME -DPID_T=pid_t -DPWID_T=int -DDIRENT -DDYNAMIC \
3157        $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lsocket -lc_s -lc -lx"
3158
3159#As above, but with curses for fullscreen file transfer display.
3160#Requires SCO TCP/IP or ODT development system for telnet.h, etc.
3161sco3r22netc:
3162        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 + TCP/IP...'
3163        @echo 'Warning: If make blows up, edit the makefile to join'
3164        @echo 'the following three continued lines into one line.'
3165        make wermit "CFLAGS= \
3166        -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET -DRENAME \
3167        -DCK_CURSES -DDIRENT -DDYNAMIC \
3168        -DPID_T=pid_t -DPWID_T=int -O $(KFLAGS)" \
3169        "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
3170
3171#SCO UNIX/386 3.2v4 (POSIX job control), curses, ANSI C compilation,
3172#<dirent.h> (EAFS) file system.  Remove -lmalloc if it causes trouble.
3173#It was put there to avoid core dumps caused by regular libc.a malloc.
3174#CK_POLL is used instead of SELECT because SELECT requires gettimeofday(),
3175#which is in libsocket.a, which is available only on systems with the
3176#TCP/IP development system.  Add -J to make all chars unsigned.
3177sco32v4:
3178        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
3179        @echo 'If you get _ftime redefinition_ complaint,'
3180        @echo 'Try adding -DODT30 to CFLAGS.'
3181        make wermit \
3182        "CFLAGS= -DXENIX -DSVR3 -DDIRENT -DNOFILEH -DHDBUUCP -DCK_POLL -DNAP \
3183        -DRENAME -DCK_CURSES -DM_TERMINFO -DNOANSI -DPID_T=pid_t -DPWID_T=int \
3184        -DNOSETBUF -DDYNAMIC -DSVR3JC -DCK_RTSCTS $(KFLAGS) -O" \
3185        "LNKFLAGS = -s" "LIBS = -lcurses -lmalloc -lc_s -lc -lx"
3186
3187#SCO UNIX/386 3.2v4 with gcc 1.40 or later, POSIX job control
3188#gcc 1.40 or later.  Also see comments in sco32r4 entry.
3189sco32v4gcc:
3190        make wermit "CC = gcc" \
3191        "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DCK_POLL -DNAP \
3192        -DNOANSI -DRENAME -DDIRENT -DCK_CURSES -DM_TERMINFO -DNOSETBUF \
3193        -traditional -fpcc-struct-return -fstrength-reduce \
3194        -D_KR -D_NO_PROTOTYPE -D_SVID \
3195        -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
3196        -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
3197        -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
3198        -DPID_T=pid_t -DPWID_T=int -DSVR3JC -DCK_RTSCTS $(KFLAGS) " \
3199        "LNKFLAGS = -s" "LIBS = -lcurses -lc_s -lc -lx"
3200
3201#SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
3202#Requires SCO TCP/IP or ODT development system for telnet.h, etc.
3203#<dirent.h> (EAFS) file system.  With DIRENT, -lc must come before -lx.
3204#gcc 1.40 or later.  Also see comments in sco32r4 entry.
3205sco32v4netgcc:
3206        make wermit "CC = gcc" "CC2=gcc" \
3207        "CFLAGS= -O2 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DSELECT -DNAP \
3208        -DNOANSI -DRENAME -DTCPSOCKET -DDIRENT -DCK_CURSES -DM_TERMINFO \
3209        -DNOSETBUF -DDYNAMIC -D_KR -D_NO_PROTOTYPE -D_SVID \
3210        -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
3211        -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
3212        -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
3213        -DPID_T=pid_t -DPWID_T=int -DSVR3JC -DCK_RTSCTS $(KFLAGS) " \
3214        "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
3215
3216#SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
3217#<dirent.h> (EAFS) file system.  With DIRENT, -lc must come before -lx.
3218#Reportedly it's OK to add -DCK_REDIR and -DCK_WREFRESH, and to remove -lc_s.
3219#Requires SCO TCP/IP development system or ODT for telnet.h, etc.
3220#See sco32v4 above for additional comments.
3221sco32v4net:
3222        @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
3223        @echo 'If you get _ftime redefinition_ complaint,'
3224        @echo 'use make sco_odt30.'
3225        $(MAKE) wermit \
3226        "CFLAGS= -DXENIX -DSVR3 -DDIRENT -DNOFILEH -DHDBUUCP -DRENAME \
3227        -DDYNAMIC -DTCPSOCKET -DCK_ANSIC -DCK_CURSES -DNAP -DCK_WREFRESH \
3228        -D_IBCS2 -DSELECT -DNOSETBUF -DPID_T=pid_t -DPWID_T=int -DSVR3JC \
3229        -DCK_RTSCTS -O -DCK_SCOV4 $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS) -s" \
3230        "LIBS = $(LIBS) -lcurses -lsocket -lmalloc -lc_s -lc -lx"
3231
3232sco32v4netnd:
3233        @echo sco32v4net with no debug
3234        $(MAKE) "MAKE=$(MAKE)" sco32v4net \
3235        "KFLAGS=$(KFLAGS) -DNODEBUG -DNOTLOG" "LIBS=$(LIBS)"
3236
3237sco3r2netnd:
3238        @echo sco32v4netnd built for SCO XENIX 2.3 under SCO UNIX...
3239        @echo   requires copying /lib/386/Slibc.a to /lib/386/Slibc_s.a and
3240        @echo   getting /lib/386/Slibsocket.a from a XENIX devkit.
3241        @echo   WARNING: poll/CK_POLL supported only on XENIX 2.3.4
3242        echo    For earlier XENIX systems, replace CK_POLL with RDCHK.
3243        $(MAKE) "MAKE=$(MAKE)" sco32v4netnd \
3244        "KFLAGS=$(KFLAGS) -x2.3 -DNORENAME" "LNKFLAGS = $(LNKFLAGS) -x2.3" \
3245        "LIBS=-ldir $(LIBS)"
3246
3247sco_odt30:
3248        @echo SCO ODT 3.0
3249        $(MAKE) "MAKE=$(MAKE)" sco32v4net "KFLAGS=$(KFLAGS) -DODT30"
3250
3251#SCO OpenServer 5.0 (SCO UNIX 3.2v5.0) with SCO development tools, no TCP/IP.
3252#SCO OSR5 is much more like standard System V than previous SCO releases.
3253#Thanks to Robert Lipe for the simplified makefile entries.
3254sco32v5:
3255        @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5...
3256        $(MAKE) wermit CC=$(CC) CC2=$(CC2) \
3257        "CFLAGS= -O -DBIGBUFOK -DDYNAMIC -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 \
3258        -DCK_RTSCTS -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT \
3259        -DSELECT_H $(KFLAGS)" "LIBS=-lcurses $(LIBS)" "LNKFLAGS=-s $(LNKFLAGS)"
3260
3261#SCO OpenServer 5.0 with gcc, no networking.
3262sco32v5gcc:
3263        @echo Using gcc...
3264        $(MAKE) "MAKE=$(MAKE)" sco32v5 CC=gcc CC2=gcc
3265
3266#SCO OpenServer 5.0 with networking, SCO development tools.
3267#Networking libraries are now provided with the OS.
3268sco32v5net:
3269        @echo TCP/IP networking added...
3270        $(MAKE) "MAKE=$(MAKE)" sco32v5 KFLAGS="-DTCPSOCKET $(KFLAGS)" \
3271        LIBS="-lsocket"
3272
3273#SCO OpenServer 5.0 with networking, gcc.
3274sco32v5netgcc:
3275        @echo TCP/IP networking added - using gcc...
3276        $(MAKE) "MAKE=$(MAKE)" sco32v5 CC=gcc CC2=gcc KFLAGS="-DTCPSOCKET" \
3277        LIBS="-lsocket"
3278
3279#SCO OpenServer 5.0 with networking, gcc, elf.
3280sco32v5netgccelf:
3281        @echo TCP/IP networking added - using gcc, dynamic elf library
3282        $(MAKE) "MAKE=$(MAKE)" sco32v5 CC=gcc CC2=gcc \
3283        KFLAGS="-DTCPSOCKET -O3 -belf" \
3284        LNKFLAGS="-belf" LIBS="-lsocket"
3285
3286#PC/IX, Interactive Corp System III for IBM PC/XT
3287pcix:
3288        @echo 'Making C-Kermit $(CKVER) for PC/IX...'
3289        $(MAKE) wermit \
3290        "CFLAGS= -DPCIX -DISIII $(KFLAGS) -Dsdata=sdatax -O -i" "LNKFLAGS = -i"
3291
3292#Integrated Solutions Inc V8S VME 68020
3293isi:
3294        @echo Making C-Kermit $(CKVER) for 4.2BSD on ISI...
3295        $(MAKE) wermit "CC = cc" \
3296        "CFLAGS= -DBSD4 -DTCPSOCKET -DINADDRX -DDCLPOPEN -DDEBUG -DNOSETREU \
3297        -DCK_CURSES $(KFLAGS)" "LIBS = -lcurses -ltermcap"
3298
3299#Interactive Corp System III port in general --
3300#is3: (very old, probably not sufficient for 5A)
3301#       @echo 'Making C-Kermit $(CKVER) for Interactive System III...'
3302#       make wermit "CFLAGS = -DISIII -Ddata=datax -O -i" "LNKFLAGS = -i"
3303#The following should work, use it if you don't have gcc.
3304#Use is3gcc if you have gcc.
3305is3:
3306        @echo 'Making C-Kermit $(CKVER) for Interactive System III...'
3307        $(MAKE) wermit \
3308        "CFLAGS= -DISIII $(KFLAGS) -Ddata=datax -DNAP -DHDBUUCP
3309        -DLOCK_DIR=\"/usr/spool/uucp\" -DSIGTYP=void -O -i' "LNKFLAGS = -i"
3310
3311#Interactive UNIX System V R3, no network support.  Uses <dirent.h> and Honey
3312#DanBer UUCP.  If this entry does not compile correctly, try any or all of the
3313#following.  These suggestions also apply more or less to the other is5r3xxx
3314#entries that follow this one.
3315# . Remove the UID_T and GID_T definitions, or change them as required.
3316# . Change -DDIRENT to -DSDIRENT.
3317# . Add -DSIGTYP=void.
3318# . Remove -g from LNKFLAGS.
3319# . Add -DNOANSI to remove compiler complaints about ANSI C constructions
3320# . Add other -DNOxxx's to save space (e.g. -DNOCSETS)
3321# See the next few makefile entries for related examples.
3322is5r3:
3323        @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix or later...'
3324        @echo 'If this does not work please read the makefile entry.'
3325        $(MAKE) wermit \
3326        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -g -DNOCSETS \
3327        -DUID_T=ushort -DGID_T=ushort -DDYNAMIC -DI386IX $(KFLAGS)" \
3328        "LNKFLAGS = -g"
3329
3330#Interactive Corp System System V R3 with gcc
3331is3gcc:
3332        @echo 'Making C-Kermit $(CKVER) for Interactive System V R3 / gcc...'
3333        $(MAKE) wermit CC=gcc CC2=gcc \
3334        'CFLAGS = -D_SYSV3 -DISIII -Ddata=datax -DNAP -DHDBUUCP \
3335        -DLOCK_DIR=\"/usr/spool/uucp\" -DSIGTYP=void -O' "LNKFLAGS ="
3336
3337#Interactive UNIX System V R3, POSIX variant.  Untested.
3338#Uses dirent.h and Honey DanBer uucp.  Read comments in is5r3 entry.
3339is5r3p:
3340        @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix or later...'
3341        $(MAKE) wermit \
3342        "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -g -DNOCSETS \
3343        -DDYNAMIC -DI386IX -DPOSIX $(KFLAGS)" "LNKFLAGS=" "LIBS=-lcposix"
3344
3345#Interactive UNIX SVR3 2.2.1, job control, curses, no net, gcc.
3346is5r3gcc:
3347        $(MAKE) wermit CC=gcc CC2=gcc \
3348        "CFLAGS=-g -posix -DSVR3 -DDIRENT \
3349        -DHDBUUCP -O -DNOCSETS -DDYNAMIC -DI386IX -DSVR3JC -DCK_CURSES \
3350        $(KFLAGS)" LNKFLAGS="-posix" LIBS="-lcurses -lc_s"
3351
3352#Interactive UNIX System V R3 with TCP/IP network support.
3353#Needs -linet for net functions.  signal() is void rather than int.
3354#Uses dirent.h and Honey DanBer uucp. Read comments in is5r3 entry.
3355#Also see is5r3net2 if you have trouble with this entry.
3356is5r3net:
3357        @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix...'
3358        @echo 'If this does not work please read the makefile entry.'
3359        $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
3360        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
3361        -DI386IX $(KFLAGS) -O" "LIBS = -linet"
3362
3363is5r3netgcc:
3364        $(MAKE) is5r3net CC=gcc CC2=gcc
3365
3366#Interactive UNIX System V R3, no job control, signal() void rather than int.
3367#Uses dirent.h and Honey DanBer uucp.  Needs -linet for net functions.
3368#Read comments in is5r3 entry.  Use this entry if is5r3net fails.
3369#Saves some space by stripping (-s) and using shared library (-lc_s).
3370is5r3net2:
3371        @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix...'
3372        $(MAKE) wermit \
3373        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DTCPSOCKET -DNOJC \
3374        -DSIGTYP=void -DNOANSI -DI386IX $(KFLAGS) -O" \
3375        "LNKFLAGS= -s" "LIBS = -linet -lc_s"
3376
3377#Interactive UNIX System V R3 (version 2.2 or later) with job control & curses.
3378#Uses dirent.h and Honey DanBer UUCP.
3379is5r3jc:
3380        @echo 'Making C-Kermit $(CKVER) for Interactive Unix 2.2 or later...'
3381        $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
3382        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS \
3383        -DUID_T=ushort -DGID_T=ushort -DDYNAMIC -DI386IX -DSVR3JC -DCK_CURSES \
3384        -DPOSIX_JC -DCK_REDIR -DNOSETBUF \
3385        -DCK_POLL \
3386        $(KFLAGS)" "LIBS=-lcurses -lc_s"
3387
3388is5r3jcgcc:
3389        $(MAKE) is5r3jc CC="gcc -DCK_ANSILIBS -DDCGPWNAM -O4" CC2=gcc \
3390        KFLAGS="$(KFLAGS)" LNKFLAGS="$(LNKFLAGS)"
3391
3392#Sunsoft/Interactive UNIX System V R3 (version 2.2 or later)
3393#with job control, curses, and TCP/IP networking.
3394#Uses dirent.h and Honey DanBer UUCP.
3395is5r3netjc:
3396        @echo 'Making C-Kermit $(CKVER) for Interactive Unix 2.2 or later...'
3397        $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
3398        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS \
3399        -DUID_T=ushort -DGID_T=ushort -DDYNAMIC -DI386IX -DSVR3JC -DCK_CURSES \
3400        -DPOSIX_JC -DCK_REDIR -DNOSETBUF \
3401        -DTCPSOCKET -DSELECT -DHADDRLIST \
3402        $(KFLAGS)" "LIBS=-linet -lcurses -lc_s"
3403
3404is5r3netjcgcc:
3405        $(MAKE) is5r3netjc CC="gcc -DCK_ANSILIBS -DDCGPWNAM -O4" CC2=gcc \
3406        KFLAGS="$(KFLAGS)" LNKFLAGS="$(LNKFLAGS)"
3407
3408#Masscomp System III
3409rtu:
3410        @echo 'Making C-Kermit $(CKVER) for Masscomp RTU System III...'
3411        $(MAKE) wermit \
3412        "CFLAGS= -UFIONREAD -DATTSV $(KFLAGS) -O" "LNKFLAGS =" "LIBS= -ljobs"
3413
3414#Masscomp/Concurrent RTU 4.0 or later, Berkeley environment.
3415#Includes <ndir.h> = /usr/include/ndir.h
3416#Note "LIBS = -lndir" might not be necessary because of "ucb make".
3417rtubsd:
3418        @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.1A...'
3419        ucb make wermit \
3420        "CFLAGS= -DBSD4 -DRTU -DNDIR -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
3421        "LIBS = -lndir"
3422
3423#Masscomp/Concurrent RTU 4.0 or later, same as above,
3424#Includes "usr/lib/ndir.h"
3425#Note "LIBS = -lndir" might not be necessary because of "ucb make".
3426rtubsd2:
3427        @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.1A...'
3428        ucb make wermit \
3429        "CFLAGS= -DBSD4 -DRTU -DXNDIR -DHDBUUCP $(KFLAGS)" \
3430        "LIBS = -lndir"
3431
3432#Masscomp/Concurrent RTU 4.0 or later, same as above,
3433#Includes <sys/ndir.h>
3434#Note "LIBS = -lndir" might not be necessary because of "ucb make".
3435rtubsd3:
3436        @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.x BSD...'
3437        ucb make wermit "CFLAGS= -DBSD4 -DRTU -DHDBUUCP $(KFLAGS)" \
3438        "LIBS = -lndir"
3439
3440#Masscomp/Concurrent RTU 4.0 or later, System V R2, using <dirent.h>.
3441#In case of problems, add back the -DRTU switch.
3442#In case -DTCPSOCKET gives trouble, remove it.
3443rtus5:
3444        @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.x...'
3445        $(MAKE) wermit \
3446        "CFLAGS= -DATTSV -DHDBUUCP -DDIRENT -DTCPSOCKET -DDYNAMIC \
3447        -DNOSETBUF $(KFLAGS)"
3448
3449#Masscomp/Concurrent RTU 4.x, System V R3, using <dirent.h>.
3450#Use this one if rtus5 gives warnings about pointer type mismatches.
3451#In case of problems, add back the -DRTU switch.
3452rtus5r3:
3453        @echo 'Making C-Kermit $(CKVER) for Masscomp RTU Sys V R3...'
3454        $(MAKE) wermit "CFLAGS= -DSVR3 -DHDBUUCP -DDIRENT $(KFLAGS)"
3455
3456#DEC Pro-3xx with Pro/Venix V1.0 or V1.1
3457# Requires code-mapping on non-I&D-space 11/23 processor, plus some
3458# fiddling to get interrupt targets into resident code section.
3459# This almost certainly doesn't work any more.
3460provx1:
3461        @echo 'Making C-Kermit $(CKVER) for DEC Pro-3xx, Pro/Venix 1.x...'
3462        $(MAKE) wart "CFLAGS= -DPROVX1 $(KFLAGS)" "LNKFLAGS= "
3463        $(MAKE) wermit "CFLAGS = -DPROVX1 -DNOFILEH -md780" \
3464                "LNKFLAGS= -u _sleep -lc -md780"
3465
3466#Nixdorf Targon/31.
3467#AT&T UNIX System V R3, signal() is void rather than int.
3468#Uses dirent.h without Honey DanBer uucp.
3469t31tos40x:
3470        @echo 'Making C-Kermit $(CKVER) for Targon/31 with TOS 4.0.xx...'
3471                $(MAKE) wermit \
3472                "CFLAGS= -DSVR3 -DDIRENT -DDYNAMIC $(KFLAGS) -O" \
3473                "LNKFLAGS="
3474
3475#NCR Tower 1632, OS 1.02
3476tower1:
3477        @echo 'Making C-Kermit $(CKVER) for NCR Tower 1632, OS 1.02...'
3478        $(MAKE) wermit "CFLAGS= -DTOWER1 $(KFLAGS)"
3479
3480#NCR Tower 32, OS Release 1.xx.xx
3481tower32-1:
3482        @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 Rel 1 System V R2...'
3483        @echo 'Add KFLAGS=-DISDIRBUG if you get errors about S_ISREG/S_ISDIR.'
3484        $(MAKE) wermit \
3485        "CFLAGS = -DATTSV -DDYNAMIC $(KFLAGS) -O" "LNKFLAGS = -n"
3486
3487#NCR Tower 32, OS Release 2.xx.xx
3488tower32-2:
3489        @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 Rel 2 System V R2...'
3490        $(MAKE) wermit \
3491        "CFLAGS = -DATTSV -DHDBUUCP -DDYNAMIC $(KFLAGS) -O2" \
3492        "LNKFLAGS = -n"
3493
3494#NCR Tower 32, OS Releases based on System V R3
3495#Don't add -DNAP (doesn't work right) or -DRDCHK (not available in libc).
3496tower32:
3497        @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 System V R3...'
3498        $(MAKE) wermit \
3499        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DNOSYSIOCTLH $(KFLAGS) \
3500        -DUID_T=ushort -DGID_T=ushort -O1"
3501
3502#NCR Tower 32, OS Releases based on System V R3
3503tower32g:
3504        @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 System V R3, gcc...'
3505        $(MAKE) wermit "CC = gcc" \
3506        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DNOSYSIOCTLH $(KFLAGS) \
3507        DUID_T=ushort -DGID_T=ushort -O -fstrength-reduce -fomit-frame-pointer"
3508
3509#Fortune 32:16, For:Pro 1.8 (mostly like 4.1bsd)
3510ft18:
3511        @echo 'Making C-Kermit $(CKVER) for Fortune 32:16 For:Pro 1.8...'
3512        $(MAKE) wermit \
3513        "CFLAGS= -DNODEBUG -DBSD4 -DFT18 -DNOFILEH $(KFLAGS) \
3514        -DPID_T=short"
3515
3516#Fortune 32:16, For:Pro 2.1 (mostly like 4.1bsd).
3517#The modules that break the optimizer are compiled separately.
3518ft21:
3519        @echo 'Making C-Kermit $(CKVER) for Fortune 32:16 For:Pro 2.1...'
3520        $(MAKE) ckuusx.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
3521        -SYM 800  -DDYNAMIC -DNOSETBUF -DCK_CURSES $(KFLAGS) -DPID_T=short" \
3522        "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
3523        $(MAKE) ckuxla.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
3524        -SYM 800  -DDYNAMIC -DNOSETBUF -DCK_CURSES $(KFLAGS) -DPID_T=short" \
3525        "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
3526        $(MAKE) ckudia.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
3527        -SYM 800  -DDYNAMIC -DNOSETBUF -DCK_CURSES $(KFLAGS) -DPID_T=short" \
3528        "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
3529        $(MAKE) wermit \
3530        "CFLAGS= -O -DNODEBUG -DBSD4 -DFT21 -DNOFILEH -SYM 800 \
3531        -DDYNAMIC -DNOSETBUF -DCK_CURSES $(KFLAGS) -DPID_T=short" \
3532        "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
3533
3534#Valid Scaldstar
3535#Berkeleyish, but need to change some variable names.
3536valid:
3537        @echo 'Making C-Kermit $(CKVER) for Valid Scaldstar...'
3538        $(MAKE) wermit \
3539        "CFLAGS= -DBSD4 -DNODEBUG -DNOTLOG -Dcc=ccx -DFREAD=1 $(KFLAGS)"
3540
3541#IBM IX/370 on IBM 370 Series mainframes
3542#Mostly like sys3, but should buffer packets.
3543ix370:
3544        @echo 'Making C-Kermit $(CKVER) for IBM IX/370...'
3545        $(MAKE) wermit "CFLAGS = -DIX370 -DATTSV $(KFLAGS) -i -O" \
3546        "LNKFLAGS = -i"
3547
3548#Amdahl UTS 2.4 on IBM 370 series compatible mainframes.
3549#Mostly like V7, but can't do initrawq() buffer peeking.
3550uts24:
3551        @echo 'Making C-Kermit $(CKVER) for Amdahl UTS 2.4...'
3552        $(MAKE) wermit "CFLAGS=-DV7 -DPROCNAME=\\\"$(PROC)\\\" \
3553        -DUTS24 -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
3554        -DNPTYPE=$(NPTYPE) $(DIRECT) $(KFLAGS)"
3555
3556#Amdahl UTSV UNIX System V = System V R2 or earlier.
3557utsv:
3558        @echo 'Making C-Kermit $(CKVER) for Amdahl UTSV...'
3559        $(MAKE) wermit \
3560        "CFLAGS = -DUTSV $(KFLAGS) -i -O" "LNKFLAGS = -i"
3561
3562#Amdahl UTSV UNIX System V = System V R2 or earlier, with TCP sockets library.
3563utsvtcp:
3564        @echo 'Making C-Kermit $(CKVER) for Amdahl UTSV w/tcp...'
3565        $(MAKE) wermit "CFLAGS = \
3566        -DTCPSOCKET -DUTSV $(KFLAGS) -i -O" "LNKFLAGS = -i" \
3567        "LIBS = -lsocket"
3568
3569#BBN C/70 with IOS 2.0
3570#Mostly Berkeley-like, but with some ATTisms
3571c70:
3572        @echo 'Making C-Kermit $(CKVER) for BBN C/70 IOS 2.0...'
3573        $(MAKE) wermit "CFLAGS= -DBSD4 -DC70 $(KFLAGS)"
3574
3575#Zilog ZEUS 3.21
3576zilog:
3577        @echo 'Making C-Kermit $(CKVER) for Zilog Zeus 3.21...'
3578        $(MAKE) wermit \
3579        "CFLAGS = -DATTSV -DZILOG -DNODEBUG $(KFLAGS) -i -O" \
3580        "LNKFLAGS = -i -lpw"
3581
3582#Whitechapel MG-1 Genix 1.3
3583white:
3584        @echo 'Making C-Kermit $(CKVER) for Whitechapel MG-1 Genix 1.3...'
3585        @touch ckcpro.c
3586        $(MAKE) wermit "CFLAGS= -DBSD4 -Dzkself()=0  $(KFLAGS)"
3587
3588#Pixel 1000
3589pixel:
3590        @echo 'Making C-Kermit $(CKVER) for Pixel 1000...'
3591        $(MAKE) wermit "CFLAGS= -DBSD4 -Dzkself()=0 $(KFLAGS)"
3592
3593ptx:
3594        $(MAKE) "MAKE=$(MAKE)" dynixptx12
3595
3596#CDC VX/VE 5.2.1
3597vxve:
3598        @echo 'Making C-Kermit $(CKVER) for CDC VX/VE 5.2.1...'
3599        $(MAKE) wermit \
3600        "CFLAGS = -DATTSV -DVXVE -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
3601        "LNKFLAGS = -i"
3602
3603#Tandy 16/6000 with Xenix 3.0
3604#Add more -DNOxxx options to remove features if program won't load.
3605#Successful operation is a function of program size, physical memory,
3606#available swap space, etc.  The following stripped-down configuration
3607#seems to work on most Tandy 6000s.  NOTE: "-+" means allow long variable
3608#names, needed for C-Kermit 6.0 because some identifiers are not unique
3609#within the first six characters.
3610trs16:
3611        @echo 'Making C-Kermit $(CKVER) for Tandy 16/6000, Xenix 3.0...'
3612        $(MAKE) wermit \
3613        "CFLAGS = -+ -DATTSV -DTRS16 -DNOMKDIR -DDCLPOPEN -DCK_CURSES \
3614        -DDYNAMIC -DNODEBUG -DNOTLOG -DNOHELP -DNOSCRIPT -DNOCSETS \
3615        $(KFLAGS) -O" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -+ -n -s"
3616
3617#DIAB DS90 or LUXOR ABC-9000 with pre-5.2 DNIX.  Sys V with nap() and rdchk().
3618# nd = no opendir(), readdir(), closedir(), etc.
3619# Some of the modules fail to compile with -O.
3620dnixnd:
3621        @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with very old DNIX 5.2.'
3622        $(MAKE) wermit \
3623        "CFLAGS = -DATTSV -DNAP -DRDCHK -DDYNAMIC -DDCLPOPEN \
3624        -U__STDC__ $(KFLAGS)"
3625
3626#DIAB DS90 with DNIX 5.2.  Sys V with nap() and rdchk().
3627# This one has opendir(), readdir(), closedir(), etc.
3628# Some of the modules fail to compile with -O.
3629dnix:
3630        @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with old DNIX 5.2...'
3631        $(MAKE) wermit \
3632        "CFLAGS = -DATTSV -DNAP -DRDCHK -DDIRENT -DDYNAMIC  \
3633        -U__STDC__ $(KFLAGS)"
3634
3635#DIAB DS90 with DNIX 5.2.  Sys V with nap() and rdchk().
3636# As above, but with curses and TCP/IP.
3637# You might get complaints about redefinition of O_RDONLY, etc, because
3638# of bugs in the DNIX header files, which can be fixed by adding #ifndef...
3639# around the offending definitions in the header files.
3640dnixnetc:
3641        @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with old DNIX 5.2...'
3642        $(MAKE) wermit \
3643        "CFLAGS = -DATTSV -DNAP -DRDCHK -DDIRENT -DDYNAMIC  \
3644        -DTCPSOCKET -DCK_CURSES -I/usr/include/bsd -U__STDC__ $(KFLAGS)" \
3645        "LIBS = -ln -lcurses"
3646
3647#DIAB DS90 with DNIX 5.3 or later, with HDB UUCP, nap() and rdchk().
3648dnix5r3:
3649        @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
3650        @echo 'with Honey DanBer UUCP'
3651        $(MAKE) wermit \
3652        "CFLAGS = -DSVR3 -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
3653        -DDYNAMIC -DCK_CURSES -DRENAME $(KFLAGS) -O" "LIBS= -lcurses"
3654
3655#DIAB DS90 with DNIX 5.3 or later, with HDB UUCP, nap() and rdchk() + TCP/IP
3656dnix5r3net:
3657        @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
3658        @echo 'with Honey DanBer UUCP and TCP/IP'
3659        $(MAKE) wermit \
3660        "CFLAGS = -DSVR3 -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
3661        -DTCPSOCKET -DDYNAMIC -DCK_CURSES -DRENAME $(KFLAGS) -O \
3662        -I/usr/include/bsd" "LIBS = -ln -lcurses"
3663
3664#DIAB DS90 with DNIX 5.3 2.2 or later, with HDB UUCP, nap() and rdchk(),
3665#ANSI C compilation and libraries.
3666#Note that for DNIX 5.3 2.2 you have to correct a bug in /usr/include/stdlib.h:
3667#change "extern void free(char *str);"
3668#to     "extern void free(void *str);"
3669#NOTE: This bug is reportedly fixed in DNIX 5.3 2.2.1.
3670#Should you get fatal errors caused by harmless pointer-type mismatches,
3671#like between signed and unsigned char, just remove -X7.
3672dnix5r3ansi:
3673        @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
3674        @echo 'with ANSI C Honey DanBer UUCP'
3675        $(MAKE) wermit \
3676        "CFLAGS = -DSVR3 -DDIAB -DHDBUUCP -DNAP -DRDCHK -DDIRENT -DDYNAMIC \
3677        -DCK_ANSILIBS -DCK_CURSES -DRENAME -O -X7 -X9 $(KFLAGS)" \
3678        "LIBS= -lcurses"
3679
3680#DIAB DS90 with DNIX 5.3 2.2 or later, with HDB UUCP, nap() and rdchk(),
3681# + TCP/IP, ANSI C compilation and libraries.
3682#Should you get fatal errors caused by harmless pointer-type mismatches,
3683#like between signed and unsigned char, just remove -X7.
3684dnix5r3ansinet:
3685        @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
3686        @echo 'with ANSI C Honey DanBer UUCP'
3687        $(MAKE) wermit \
3688        "CFLAGS = -DSVR3 -DDIAB -DHDBUUCP -DNAP -DRDCHK -DDIRENT -DDYNAMIC \
3689        -DTCPSOCKET -DCK_ANSILIBS -DCK_CURSES -DRENAME -O -X7 -X9 $(KFLAGS) \
3690        -I/usr/include/bsd" "LIBS= -ln -lcurses"
3691
3692# QNX 4.21 and above, 32-bit version, Watcom C32 10.6, register calling
3693# conventions, fully configured, except no job control because QNX 4.x
3694# does not support it.  New NCURSES library used instead of CURSES.
3695#
3696# -Oatx optimizes to favor speed over size: loop optimization, inline fn's.
3697# -Os favors size over speed.  The size difference is about 30-40K.
3698# -NOUUCP is included because QNX is shipped without UUCP and no native
3699# QNX software uses UUCP lockfiles.  Remove -DNOUUCP if you want to use
3700# UUCP lockfiles for exclusive access to dialout devices.
3701qnx32:
3702        @echo 'Making C-Kermit $(CKVER) for QNX 4.2x, 32-bit...'
3703        $(MAKE) wermit \
3704        "LNKFLAGS = -3r" \
3705        "CFLAGS = -3r -ms -DQNX -DDYNAMIC -DKANJI -DTCPSOCKET -DCK_CURSES \
3706        -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS -DNOJC \
3707        -DNOUUCP -DNOSETBUF -DCK_ANSIC -DPID_T=pid_t -Oatx -zc $(KFLAGS)" \
3708        "LIBS= -lsocket -lncurses -ltermcap"
3709        @wermit -h >use.qnx
3710        @usemsg wermit use.qnx
3711        @rm use.qnx
3712
3713# Synonym for qnx32.
3714qnx:
3715        $(MAKE) qnx32 "KFLAGS=$(KFLAGS)"
3716
3717# QNX 4.21 and above, 16-bit version, Watcom C 8.5 - Watcom 9.52
3718# on i286 PCs and above.
3719#
3720#       IMPORTANT: Do not use Watcom C 10.6!!!
3721#       If you have it installed, add "-v9.52 to CFLAGS"
3722#
3723# NOTE: QNX 4.23 onward does not work on 286's anyway.
3724# Stacksize 26000, objects larger than 100 bytes in their own segments,
3725# string constants to the codesegment, etc.  Fully configured except job ctrl.
3726# This entry works for building a 16-bit executable on a 32-bit system, but
3727# has not been tested on a 16-bit system.  Uses large memory model, links
3728# explicitly with large-model sockets library.  Correct-model curses library
3729# is chosen automatically.  See comment in qnx32 entry about -DNOUUCP.
3730#
3731# WARNING:
3732#
3733# Watcom C prior to 10.6 never had released curses library. To link against it,
3734# you must obtain ported free curses source from ftp://ftp.qnx.com/usr/free,
3735# then compile and build library (cursesl.lib) and place it in /usr/lib.  You
3736# must also copy curses.h to /usr/include.  Be aware that if you have Watcom
3737# 10.6 installed, you should already have curses.h, which is for new ncurses
3738# library. You must back it up and use free curses.h instead, since ncurses is
3739# only for 32-bit applications and some definitions in these files are
3740# different (e.g., clearok()).
3741#
3742qnx16:
3743        @echo 'Making C-Kermit $(CKVER) for QNX 4.21, 16-bit...'
3744        $(MAKE) wermit \
3745        "LNKFLAGS = -2 -ml -N 26000" \
3746        "CFLAGS = -2 -Oatx -zc -zt100 -ml -DNOSETBUF -DNOUUCP \
3747        -DQNX -DDYNAMIC -DCK_REDIR -DSELECT -DSELECT_H -DNOJC -DTCPSOCKET \
3748        -DCK_RTSCTS -DCK_CURSES -DCK_WREFRESH -DCK_ANSIC -DKANJI \
3749        -DPID_T=pid_t $(KFLAGS)" \
3750        "LIBS=-lsocketl -lcurses -ltermcap -ltermlib"
3751        @wermit -h >use.qnx
3752        @usemsg wermit use.qnx
3753        @rm use.qnx
3754
3755# QNX 4.1, 16-bit version, with Watcom C 8.5 on i286 PCs and above.
3756# stacksize 26000, objects larger than 100 bytes in their own segments,
3757# string constants to the codesegment, etc.  Add -DNOUUCP if desired.
3758qnx16_41:
3759        @echo 'Making C-Kermit $(CKVER) for QNX 4.1, 16-bit...'
3760        $(MAKE) wermit \
3761        "LNKFLAGS = -mh -N 26000" "CFLAGS = -Wc,-fpc -Wc,-j \
3762        -Wc,-Ols -Wc,-zdf -Wc,-zc -Wc,-zt100 -mh -DPOSIX -DQNX -DDIRENT \
3763        -DNOCYRIL -DNODEBUG -DNOMSEND -DMINIDIAL -DNOXMIT -DNOSCRIPT -DNOSPL \
3764        -DNOSETKEY -DDYNAMIC -DPID_T=pid_t $(KFLAGS)"
3765        @wermit -h >use.qnx
3766        @usemsg wermit use.qnx
3767        @rm use.qnx
3768
3769#Ridge 32 with ROS 3.2
3770ridge32:
3771        @echo 'Making C-Kermit $(CKVER) Ridge 32 ROS 3.2'
3772        $(MAKE) wermit \
3773        "CFLAGS = -DATTSV -DNOFILEH -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
3774        "LNKFLAGS = -i"
3775
3776#Altos 486, 586, or 986 with Xenix 3.0
3777altos:
3778        @echo 'Making C-Kermit $(CKVER) for Altos x86 with Xenix 3.0...'
3779        $(MAKE) wermit \
3780        "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
3781        "LNKFLAGS= -i"
3782
3783#Altos 986 with Xenix 3.0, as above, but command-line only, minimal size.
3784#For systems with small memories.  It might also be necessary to chop certain
3785#modules up into smaller pieces, e.g. ckuus3-6, because of symbol table
3786#overflow.   If this makefile is too big or complex for the Altos, compile
3787#and link by hand or write shell scripts.
3788altosc:
3789        @echo 'Making C-Kermit $(CKVER) for Altos x86 Xenix 3.0, remote...'
3790        $(MAKE) wermit \
3791        "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG -DNOSCRIPT -DNODIAL \
3792        -DNOCSETS -DNOANSI -DNOMSEND -DNOSPL -DNOICP $(KFLAGS) -Mm -O" \
3793        "LNKFLAGS= -Mm -s"
3794
3795#Altos 986 with Xenix 3.0, as above, but interactive only, minimal size.
3796altosi:
3797        @echo 'Making C-Kermit $(CKVER) for Altos x86 Xenix 3.0, local...'
3798        $(MAKE) wermit \
3799        "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG -DNOSCRIPT -DNODIAL \
3800        -DNOCSETS -DNOANSI -DNOMSEND -DNOSPL -DNOCMDL -DNOFRILLS -DNOHELP \
3801        -DNOSETKEY $(KFLAGS) -Mm -O" "LNKFLAGS= -Mm -s"
3802
3803# Altos ACS68000 68000 System, UNIX System 3 Release 2, 512k memory.
3804# also needs getcwd() external function; see ckuins.doc file.
3805# also, sys/types.h needed modifying:
3806#   #ifdef __SYS_TYPES_H__, #define ..., #endif
3807# also, ckuus2.c MUST be compiled NOOPT else symbol table is destroyed!
3808# Submission by Robert Weiner/Programming Plus, rweiner@progplus.com.
3809#
3810altos3:
3811        @echo 'Making C-Kermit $(CKVER) for Altos ACS68k UNIX System III'
3812        $(MAKE) ckuus2.$(EXT) "CFLAGS = -DATTSV -DNOCSETS -DNOSETKEY -DNOJC \
3813        -DNODIAL -DDCLPOPEN -DNOSETBUF -DNOSCRIPT -DNOHELP $(KFLAGS) -i"
3814        $(MAKE) wermit \
3815        "CFLAGS = -DATTSV -DNOCSETS -DNOSETKEY -DNOJC \
3816        -DNODIAL -DDCLPOPEN -DNOSETBUF -DNOSCRIPT -DNOHELP $(KFLAGS) -i -O" \
3817        "LNKFLAGS = -i" "LIBS = getcwd.$(EXT)"
3818
3819#MINIX - Original PC version with 64K+64K limit.
3820# Reportedly, the linker (asld) can run out of space while linking.  The only
3821# way around this is to make a copy of libc.a from which all modules that are
3822# not used by Kermit are removed.  If you have trouble compiling or running
3823# wart, "touch wart".  If that doesn't help, "touch ckcpro.c".
3824# The version configured below has no interactive command parser.
3825# If you can build this version successfully, maybe there will be room for
3826# a minimal interactive command parser too; try replacing -DNOICP with
3827# -DNOSPL, plus every other -DNOxxx flag there is, except for -DNOICP
3828# (see ckccfg.doc).
3829minix:
3830        @echo 'Making C-Kermit $(CKVER) for MINIX, no command parser...
3831        @echo 'TOTALLY UNTESTED!'
3832        $(MAKE) wermit EXT=s \
3833        "CFLAGS= -DV7 -DMINIX -i -D_MINIX -D_POSIX_SOURCE -DDYNAMIC \
3834        -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V \
3835        -DNOXMIT -DNOMSEND -DNOFRILLS -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
3836        -DNOSCRIPT -DNOCSETS -DNOICP -DNOSETKEY $(KFLAGS)" \
3837        "LNKFLAGS= -i -T"
3838
3839#MINIX - PC version with 64K+64K limit, new (as yet unreleased) ACK 2.0 beta C
3840#compiler, which outputs .o object files, rather than .s.  But 'make' still
3841#expects .s files, so must be patched to use .o.  Tested on Minix 1.5.10.
3842minixnew:
3843        @echo 'Making C-Kermit $(CKVER) for MINIX (new ACK 2.0 compiler),'
3844        @echo 'no command parser...  TOTALLY UNTESTED!'
3845        $(MAKE) wermit \
3846        "CFLAGS= -DV7 -DMINIX -i -D_MINIX -D_POSIX_SOURCE -DDYNAMIC \
3847        -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V -DNODIAL \
3848        -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOICP $(KFLAGS)" \
3849        "LNKFLAGS= -i -T"
3850
3851#MINIX/386 (PC Minix modified by Bruce Evans in Australia for 386 addressing)
3852minix386:
3853        @echo 'Making C-Kermit $(CKVER) for MINIX/386...'
3854        @echo 'TOTALLY UNTESTED!'
3855        $(MAKE) wermit EXT=s \
3856        "CFLAGS= -DV7 -DMINIX -D_POSIX_SOURCE -DDYNAMIC $(KFLAGS)"
3857
3858#MINIX/386 (PC Minix modifed by Bruce Evans in Australia to use 386 addressing)
3859minix386gcc:
3860        @echo 'Making C-Kermit $(CKVER) for MINIX/386 with gcc...'
3861        @echo 'TOTALLY UNTESTED!'
3862        $(MAKE) wermit "CC=gcc -g -O" "CC2=gcc -g" \
3863        "CFLAGS= -DV7 -DMINIX -D_POSIX_SOURCE -DDYNAMIC $(KFLAGS)"
3864
3865#MINIX - 68k version with ACK compiler.
3866# If you have trouble compiling or running wart, "touch wart".
3867# If it still doesn't work, "touch ckcpro.c".
3868# The version configured below has many features removed, including
3869# the TRANSMIT, MSEND, HELP, and SCRIPT commands, international
3870# character set support, and the entire script programming language.
3871# But it does have an interactive command parser.
3872# Make sure make(1) has (at least) 100000 chmemory!
3873# If you are using the Amsterdam C compiler, you might have to add "-D__ACK__".
3874minix68k:
3875        @echo 'Making C-Kermit $(CKVER) for MINIX 68k with ACK...
3876        $(MAKE) wermit \
3877        "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE -DDYNAMIC \
3878        -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
3879        -DNOSCRIPT -DNOCSETS -DNOSPL $(KFLAGS) \
3880        -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
3881
3882#MINIX - 68k version with c68 compiler.
3883# If you have trouble compiling or running wart, "touch wart" or
3884# "touch ckcpro.c". Compiling ckudia.c (no -DNODIAL!) might fail. :-(
3885# Give c68 250000 bytes of stack+heap; make sure make(1) has at least
3886# 100000 chmemory.  On a 1Mb Atari ST this means that the recursive
3887# call of make fails due to memory shortage.  Try "make -n minixc68 >makeit",
3888# followed by ". makeit".  Otherwise, as above.
3889minixc68:
3890        @echo 'Making C-Kermit $(CKVER) for MINIX 68k with c68...
3891        $(MAKE) wermit "CC= cc -c68" \
3892        "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE -DDYNAMIC \
3893        -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
3894        -DNOSCRIPT -DNOCSETS -DNOSPL $(KFLAGS) \
3895        -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
3896
3897#MINIX - 68k version with c68 compiler.
3898#A variation on the above that was recently (Sep 95) reported to work.
3899minixc68a:
3900        @echo 'Making C-Kermit $(CKVER) for MINIX 68k with c68...
3901        $(MAKE) wermit "CC= cc -c68" \
3902        "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE -DDYNAMIC \
3903        -DCK_ANSIC -DNODEBUG -DNOTLOG -DMINIDIAL -DEXTEN -DMYCURSES \
3904        -DNOSCRIPT -DNOCSETS -DNOSPL -DNOJC -DDIRENT -DNOSETBUF \
3905        -DNOSETKEY -DNOESCSEQ $(KFLAGS) \
3906        -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
3907
3908#MIPS Computer Systems with UMIPS RISC/OS 4.52 = AT&T UNIX System V R3.0.
3909#Remove -DNOJC if job control can be safely used.
3910mips:
3911        @echo 'Making C-Kermit $(CKVER) for MIPS RISC/OS...'
3912        $(MAKE) wermit \
3913        "CFLAGS = -DMIPS -DDIRENT -DDYNAMIC -DCK_POLL -DNOJC -DPID_T=int \
3914        -DGID_T=gid_t -DUID_T=uid_t -i -O1500 $(KFLAGS)"
3915
3916#As above, but with TCP/IP and fullscreen support.
3917mipstcpc:
3918        @echo 'Making C-Kermit $(CKVER) for MIPS RISC/OS...'
3919        $(MAKE) wermit \
3920        "CFLAGS = -DMIPS -DDIRENT -DDYNAMIC -DCK_POLL -DNOJC \
3921        -DTCPSOCKET -DCK_CURSES -I/usr/include/bsd \
3922        -DPID_T=int -DGID_T=gid_t -DUID_T=uid_t -i -O1500 $(KFLAGS)" \
3923        "LIBS = -lcurses -lbsd"
3924
3925#Motorola Delta System V/68 R3, signal() is void rather than int.
3926#Uses dirent.h and Honey DanBer uucp.  Supports TCP/IP.
3927#After building, use "mcs -d" to reduce size of the executable program.
3928sv68r3:
3929        @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3...'
3930        $(MAKE) wermit "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC \
3931        -DTCPSOCKET $(KFLAGS) \
3932        -O" "LNKFLAGS ="
3933
3934#Motorola Delta System V/68 R3V5, signal() is void rather than int.
3935#Uses dirent.h and Honey DanBer UUCP.  Supports TCP/IP.
3936#After building, use "mcs -d" to reduce size of the executable program.
3937sv68r3v5:
3938        @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V5'
3939        $(MAKE) wermit "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC \
3940        -DTCPSOCKET -DINADDRX $(KFLAGS) -O" "LNKFLAGS =" "LIBS = -linet"
3941
3942#Motorola MVME147 System V/68 R3 V5.1. Requires gcc 2.1 to compile.
3943#After building, use "mcs -d" to reduce size of the executable program.
3944sv68r3v51:
3945        @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V5.1'
3946        $(MAKE) wermit "CC=gcc-delta" "CC2=gcc-delta" \
3947        "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC -DNODEBUG -DNOSETBUF \
3948        $(KFLAGS) -O2 -v -ftraditional" "LNKFLAGS = -s -v" "LIBS = -lm881"
3949
3950#Motorola MVME147 System V/68 R3V6. derived from Motorola Delta System R3V5.
3951#Checked on larger Motorola System V/68 R3V6 ( with NSE Network Services Ext.)
3952#After building, use "strip" to reduce size of the executable program.
3953#Try removing the LIBS clause if it causes trouble (libnsl might not actually
3954#be necessary, and reportedly it is missing on some systems).
3955sv68r3v6:
3956        @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V6'
3957        @echo 'Remove the LIBS clause if it causes trouble.'
3958        $(MAKE) wermit "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC \
3959        -DTCPSOCKET $(KFLAGS) -O" "LNKFLAGS =" "LIBS = -lnsl"
3960
3961#Motorola Delta System V/88 R32, signal() is void rather than int.
3962#Uses dirent.h and Honey DanBer uucp.  Needs <sys/utime.h> for setting
3963#file dates.  Supports TCP/IP.
3964#After building, use "mcs -d" to reduce size of the executable program.
3965sv88r32:
3966        @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R32...'
3967        $(MAKE) wermit "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DDYNAMIC \
3968        -DTCPSOCKET -DSYSUTIMEH -DCK_CURSES $(KFLAGS) \
3969        -O" "LIBS= -lcurses" "LNKFLAGS = -s"
3970
3971#Motorola Delta System V/88 R40.  Has <sys/termiox.h>, regular Berkeley
3972#sockets library, i.e. in.h and inet.h are not misplaced in sys (rather than
3973#netinet and arpa, respectively).  Uses ANSI C constructs, advisory file
3974#locking on devices, etc.  curses support added.  Reportedly, the
3975#/usr/include/sys/vnode.h file has a bug which must be fixed before this
3976#makefile entry can work correctly.  The "if DEBUG" directive at about line
3977#320 must be changed to "ifdef DEBUG" (Reportedly, this was fixed in
3978#in System V/88 R4.3).
3979#After building, use "mcs -d" to reduce size of the executable program.
3980sv88r40:
3981        @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R40...'
3982        $(MAKE) wermit "CFLAGS = -O -DSVR4 -DMOTSV88R4 -DDIRENT -DHDBUUCP \
3983        -DDYNAMIC -DSTERMIOX -DTCPSOCKET -DCK_CURSES $(KFLAGS)" \
3984        "LIBS= -lsocket -lnsl -lcurses" "LNKFLAGS = -s"
3985
3986#PFU Compact A Series UNIX System V R3, SX/A TISP V10/L50 (Japan)
3987#Maybe the -i link option should be removed?
3988sxae50:
3989        @echo 'Making C-Kermit $(CKVER) for PFU SX/A V10/L50...'
3990        $(MAKE) wermit \
3991        "CFLAGS= -DSVR3 -DDIRENT -DsxaE50 -DTCPSOCKET $(KFLAGS) -i -O \
3992        -DKANJI" "LNKFLAGS= "
3993
3994#Olivetti X/OS R2.3, 3.x.
3995#NOTES:
3996# . If you build the executable on 2.x X/OS, it will also run on 3.x.
3997# . If you build it on 3.x X/OS, it will NOT run on 2.x.
3998# . Kermit can run with no privileges unless the uucp lines are protected,
3999#   in which case kermit must be owned by uucp with suid bit set:
4000#   chown uucp kermit ; chmod 4111 kermit.
4001xos23:
4002        @echo 'Making C-Kermit $(CKVER) for Olivetti X/OS...'
4003        $(MAKE) wermit \
4004        'CFLAGS=-OLM -DOXOS -DTCPSOCKET -DHDBUUCP -DDYNAMIC $(KFLAGS)' \
4005        "LIBS=" "LNKFLAGS="
4006
4007#As above, but with curses.
4008xos23c:
4009        @echo 'Making C-Kermit $(CKVER) for Olivetti X/OS with curses...'
4010        $(MAKE) wermit \
4011        'CFLAGS=-OLM -DOXOS -DTCPSOCKET -DHDBUUCP -DDYNAMIC -DCK_CURSES \
4012        $(KFLAGS)' "LIBS=-lcurses" "LNKFLAGS="
4013
4014#Clean up intermediate and object files
4015clean:
4016        @echo 'Removing object files...'
4017        -rm -f ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
4018ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckcpro.$(EXT) ckcfns.$(EXT) \
4019ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) \
4020ckufio.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) ckwart.$(EXT) ckuusx.$(EXT) \
4021ckuusy.$(EXT) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckusig.$(EXT) \
4022ckcmdb.$(EXT) ckcpro.c wart
4023
4024#Run Lint on this mess for the SUN/BSD version.
4025lintsun:
4026        @echo 'Running Lint on C-Kermit $(CKVER) sources for SunOS version...'
4027        lint -x -DSUNOS4 -DDIRENT -DTCPSOCKET -DSAVEDUID -DDYNAMIC \
4028        ck[cu]*.c > ckuker.lint.sun
4029
4030lintbsd:
4031        @echo 'Running Lint on C-Kermit $(CKVER) sources for BSD 4.2 version..'
4032        lint -x -DBSD4 -DTCPSOCKET ck[cu]*.c > ckuker.lint.bsd42
4033
4034lints5:
4035        @echo 'Running Lint on C-Kermit $(CKVER) sources for Sys V version...'
4036        lint -x -DATTSV ck[cu]*.c > ckuker.lint.s5
4037
4038lintmips:
4039        @echo 'Running lint on C-Kermit $(CKVER) sources for MIPS version...'
4040        lint -DMIPS -DDIRENT -DPID_T=int -DGID_T=gid_t \
4041        -DUID_T=uid_t -DNOJC ck[cu]*.c > ckuker.lint.mips
4042
4043ckuuid:
4044        @echo 'building C-Kermit $(CKVER) set-UID/set-GID test programs'
4045        $(CC) -DANYBSD -DSAVEDUID -o ckuuid1 ckuuid.c
4046        $(CC) -DANYBSD -o ckuuid2 ckuuid.c
4047        $(CC) -DANYBSD -DNOSETREU -o ckuuid3 ckuuid.c
4048        $(CC) -DANYBSD -DSETEUID -DNOSETREU -o ckuuid4 ckuuid.c
4049        $(CC) -o ckuuid5 ckuuid.c
4050        @echo 'Read the top of ckuuid.c for directions...for testing'
4051        @echo 'you must make these programs setuid and setgid'
4052
4053#Remember TECO?
4054love:
4055        @echo 'Not war?'
Note: See TracBrowser for help on using the repository browser.