blob: a81033149fd1988faeedbacfa2b31c392f0686a0 [file] [log] [blame]
# makefile / Makefile / ckuker.mak / CKUKER.MAK
#
# Sat Apr 17 14:49:18 2004
BUILDID=20040417
#
CKVER= "8.0.211"
#
# -- Makefile to build C-Kermit for UNIX and UNIX-like platforms --
#
# Copyright (C) 1985, 2004,
# Trustees of Columbia University in the City of New York.
# All rights reserved. See the C-Kermit COPYING.TXT file or the
# copyright text in the ckcmai.c module for disclaimer and permissions.
#
# Author: Frank da Cruz, Columbia University
# 612 West 115th Street, New York NY 10025-7799, USA
# E-mail: fdc@columbia.edu
# Fax: +1 212 662-6442
# Web: http://www.columbia.edu/kermit/
#
# Contributions from many others. Special thanks to Jeff Altman for the
# secure-target entries, Peter Eichhorn, assyst GmbH, for the consolidated
# HP-UX entries and the "uninstall" target, to Robert Lipe for the updated
# and consolidated SCO UNIX / ODT / OSR5 entries, to Ric Anderson for the
# IRIX 6.x entries.
#
# Most entries use the "xermit" target, which uses the select()-based CONNECT
# module, ckucns.c. The "wermit" target uses the older fork()-base CONNECT
# module, ckucon.c, which has some drawbacks (but is more portable). If your
# entry still uses the "wermit" target, please try substituting the "xermit"
# one and if it works, let us know (mailto:kermit-support@columbia.edu).
# When changing a target over from wermit to xermit, also remove -DNOLOEARN.
#
# CAREFUL: Don't put the lowercase word "if", "define", or "end" as the first
# word after the "#" comment introducer in the makefile, even if it is
# separated by whitespace. Some versions of "make" understand these as
# directives. Uppercase letters remove the danger, e.g. "# If you have..."
#
# WARNING: This is a huge makefile and it contains nested makes. Some "make"
# programs might run out of memory. If this happens to you, edit away the
# parts that do not apply to your platform and try again.
#
# Certain UNIX variations have their own separate makefiles:
# . For 2.10 or 2.11 BSD on DEC PDP-11s, use ckubs2.mak.
# . For Plan 9, use ckpker.mk.
#
# Separate build procedures are provided non-UNIX platforms: VMS, VOS,
# AOS/VS, etc. See the ckaaaa.txt file for details.
#
#
# DIRECTIONS
#
# Rename this file to "makefile" or "Makefile" if necessary. Pick out the
# entry most appropriate for your UNIX version from the list below and then
# give the appropriate "make" command, for example "make aix43", "make sys5r4",
# "make linux". If you experience any difficulties with the build procedure,
# then please also read any comments that accompany the make entry itself
# (search for the make entry name on the left margin).
#
# Other entries:
# 'make install' is an installation script (read accompanying comments!).
# 'make clean' removes intermediate and object files.
#
# IMPORTANT:
# For more detailed installation instructions, read the files ckuins.txt
# and ckccfg.txt, also available at the Kermit website in HTML form:
# http://www.columbia.edu/kermit/ckuins.html
# http://www.columbia.edu/kermit/ckccfg.html
#
# For descriptions of known problems and limitations,
# read the files ckcbwr.txt and ckubwr.txt (the "beware files") or:
# http://www.columbia.edu/kermit/ckcbwr.html
# http://www.columbia.edu/kermit/ckubwr.html
#
# Most entries build C-Kermit with its symbol table included. To reduce the
# size of the executable program, add "LNKFLAGS=-s" to the end of your 'make'
# command or to the makefile entry, or 'strip' the executable after
# building. To further reduce the size after building, use 'mcs -d' if your
# Unix version has such a command. For further details on size reduction, read
# ckccfg.txt to find out how to remove features that you don't need.
#
# TCP/IP networking support: If your C-Kermit version does not include TCP/IP
# networking, but your UNIX system does, try adding -DTCPSOCKET to the CFLAGS
# of your makefile entry. If that doesn't work, look at some of the other
# entries that include this flag for ideas about what libraries might need to
# be included (typically -lsocket and/or -lBSD and/or -lnsl and/or -linet).
# NOTE: In some cases (old versions of SCO or HP-UX), you might need not only
# a C compiler, but also a "TCP/IP developers kit" for the required object
# libraries and header files.
#
# Fullscreen file transfer display support: If you are going to use C-Kermit
# for establishing connections (dialed, network, etc), you can configure it to
# produce a formatted file transfer display by including the curses library
# and adding -DCK_CURSES to the CFLAGS for your option, and linking with the
# appropriate libraries. There are many examples below, usually ending in
# "c", like sunos41c. Also add -DCK_WREFRESH if your curses library includes
# clearok() and wrefresh() functions (or remove -DNOWREFRESH if the linker
# complains that it can't find these functions).
#
# Please report modifications, failures (preferably with fixes) or successes
# to the author.
#
# SECURE TARGETS
# These are described after the next section. Search for ******* below.
#
# TARGETS FOR DIFFERENT UNIX PLATFORMS AND VERSIONS:
#
# + Marks those that have been built successfully for C-Kermit 8.0 or later.
# - Those that once built OK but no longer do (e.g. too big).
# ? Those that worked in a previous version but have not been tested recently.
# --------------------------
# ? for 386BSD (Jolix) 0.0, 0.1, "make 386bsd" (see comments in entry),
# or (preferably, if it works) "make bsd44" or "make bsd44c".
# ? for Acorn RISCiX, "make riscix" or "make riscix-gcc"
# ? for Alliant FX/8 with Concentrix 4.1 or later, "make bsdlck"
# ? for Altos 486, 586, 986 with Xenix 3.0, "make altos"
# ? for Altos ACS68000, 8Mhz 68000, UNIX System 3 Rel 2, 512K, "make altos3"
# ? for Amdahl UTS 2.4 on IBM 370 series & compatible mainframes, "make uts24"
# ? for Amdahl UTSV IBM 370 series & compatible mainframes, "make utsv"
# ? for Amdahl UTSV IBM 370 series mainframes with TCP/IP, "make utsvtcp"
# ? for Amdahl mainframes with UNIX System V R 5.2.6b 580, "make sys3"
# ? for Apollo Aegis 9.x, DOMAIN/IX 9.x, "make aegis"
# (Last tested in C-Kermit 5A(189))
# ? for Apollo DOMAIN/IX, if the above fails, try "make apollobsd"
# ? for Apollo with SR10.0 or later, BSD environment, "make sr10-bsd"
# ? for Apollo with SR10.0 or later, System V environment, "make sr10-s5r3"
# ? for Apple Macintosh II with A/UX pre-3.0, "make aux", "auxgcc" or "auxufs"
# ? for Apple Macintosh with A/UX 3.0 and gcc, "make aux3gcc" or aux3gccc
# ? for Apple PowerMac with MkLinux, "make mklinux" (read Linux entry first)
# + for Apple PowerMac with LinuxPPC, "make linuxppc"
# ? for Apple Macintosh with Minix 1.5.10, "make minix68k" or "make minixc68"
# + for Apple Macintosh with Mac OS X 1.0 (Rhapsody), "make macosx10"
# (no curses), "make macosx10c" (curses), or "make macosx10nc" (ncurses).
# Or "make macosx10ncx" (ncurses but "make macosx10nc" doesn't work).
# + for Apple Macintosh with Mac OS X 10.2, "make macosx102nc" (ncurses).
# + for Apple Macintosh with Mac OS X 10.3, "make macosx103"
# ? for Arix System 90 with AT&T SVR3, "make sys5r3na"
# - for AT&T 6300 with IN/ix, "make sys5"
# - for AT&T 6300 PLUS, "make att6300" or (with no debugging) "make att6300nd"
# ? for AT&T 6386 WGS UNIX PC, "make sys5r3"
# + for AT&T 3B2, 3B20 systems, "make att3b2".
# for AT&T 3B1, 7300 UNIX PC (see notes with the entries):
# In C-Kermit 7.0, only the gcc entries work:
# + "make sys3upcg", "make sys3upcgc", "make att351gm"
# The others fail with "too many defines" (usually in ckuusr.h):
# - "make sys3upc", "make sys3upcold", "make sys3upcc", "make sys3upcx",
# "make sys3upcm", "make att351m"
# ? for AT&T System III/System V R2 or earlier, "make sys3" or "make sys3nid"
# ? for AT&T System III/System V with Honey DanBer UUCP, "make sys3hdb"
# ? for AT&T System V on DEC VAX, "make sys3" or "make sys5r3"
# + for AT&T System V R3, use "make sys5r3" or "make sys5r3c"
# + for AT&T System V/386 R3.2 built on Interactive 4.1.1, "make sys5r32is".
# ? for AT&T System V/386 R320.0 Versyss Systems, use "make sys5r3"
# or "make sys5r3c".
# + for AT&T System V R4, "make sys5r4", "make sys5r4sx", or "make sys5r4nx",
# or if the ANSI C function prototyping makes trouble, add -DNOANSI,
# as in "sys5r4sxna" entry
# + for AT&T (USL) System V R4.2 use the sys5r4* entries.
# ? for Atari Falcon with MiNT, "make posix"
# ? for Atari ST with Minix ST 1.5.10.3, "make minix68k" or "make minixc68"
# ? for BBN C/70 with IOS 2.0, "make c70"
# ? for BeBox with Be OS 1.x DR7, "make beboxdr7"
# Compiles OK but doesn't link with default linker which is limited to 64K.
# Links OK with "Code Warrior Gold". Many hacks in the source code need
# to be removed when DR8 and later come out.
# (Last tested in C-Kermit 6.0)
# - for BeBox with Be OS 1.x DR8, "make bebox"
# (Needed functions missing from operating system and/or not working.)
# - for Bell Labs UNIX Version 6 (6th Edition), there is no makefile entry.
# ? for Bell Labs UNIX Version 7 (7th Edition), "make v7" (but see notes below)
# (last built successfully in C-Kermit 5A188)
# ? for Bell Labs Research UNIX Version 10, "make bellv10"
# (last built successfully in C-Kermit 6.0)
# ? for Bell Labs / Lucent Plan 9, use separate makefile ckpker.mk:
# can be built for Intel, MIPS, 680x0, and PowerPC (last built C-Kermit 7.0)
# + for BSDI BSD/386 1.x, "make bsdi"
# + for BSDI BSD/OS 2.x, "make bsdi2"
# + for BSDI BSD/OS 3.0 or 3.1, "make bsdi3"
# + for BSDI BSD/OS 4.x, "make bsdi4"
# + for BSDI BSD/OS 4.x, to build a binary that also works on FreeBSD,
# "make bsdix".
# ? for Berkeley Unix 2.4, "make v7" (but read v7 material below)
# ? for Berkeley Unix 2.9 (DEC PDP-11 or Pro-3xx), "make bsd29"
# - for Berkeley Unix 2.10, use ckubs2.mak (a separate makefile)
# - for Berkeley Unix 2.11, use ckubs2.mak (a separate makefile)
# This makefile is too big. Read the instructions in ckubs2.mak.
# "make -f ckubs2.mak bsd210" or "make -f ckubs2.mak bsd211".
# (last built successfully in C-Kermit 6.0 - later versions too big)
# + for Berkeley Unix 2.11 "make -f ckubs2.mak bsd210noicp" (no command parser)
# ? for Berkeley Unix 4.1, "make bsd41"
# + for Berkeley Unix 4.2 on VAX, "make bsd42" or "make bsd42c"
# ? for Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP, "make bsdhdb"
# + for Berkeley Unix 4.3 on VAX, "make bsd43", "make bsd43nc".
# + for Berkeley Unix 4.3 on VAX, no networking "make bsd43nonet.
# + for Berkeley Unix 4.3 without acucntrl program, "make bsd42" or "bsd42c"
# NOTE: all the C-Kermit 7.0 full builds for old BSDs fail with
# "too many defines" in CPP, even on big architectures like VAX. This
# can be worked around with a clever ruse. See comments at target.
# + for Berkeley Unix 4.3, command-line only, "make bsdm".
# + for Berkeley Unix 4.3-Tahoe, same as 4.3 BSD
# + for Berkeley Unix 4.3-Reno, "make bsd43" or "make bsd44" or "make bsd44c"
# + for Berkeley Unix 4.3-Carson City, "make bsd44" or "make bsd44c"
# + for Berkeley Unix 4.4-Networking/2 or -Alpha, "make bsd44" or "make bsd44c"
# + for Berkeley Unix 4.4, "make bsd44" or "make bsd44c"
# + for Berkeley Unix 4.4-Lite, "make bsd44" or "make bsd44c"
# ? for Bull DPX/2 with BOS/X, "make bulldpx2"
# ? for Cadmus, "make sys3"
# for Caldera, see SCO, Linux.
# ? for Callan Unistar, "make sys3"
# ? for CDC VX/VE 5.2.1 System V emulation, "make vxve"
# ? for Charles River Data Systems Universe 680x0 with UNOS 9.2, maybe
# also other UNOS versions, "make crds"
# ? for CIE Systems 680/20 with Regulus, "make cie"
# + for Commodore Amiga 3000UX Sys V R4, "make sys5r4sx"
# + for Commodore Amiga 3000UX Sys V R4 and TCP/IP, "make svr4amiganet"
# ? for Commodore Amiga with Minix 1.5.10, "make minix68k" of "make minixc68"
# ? for Concurrent/Masscomp with RTU 4.0 or later, BSD environment, "make
# rtubsd", "make rtubsd2", "make rtubsd3" (depending on where ndir.h
# is stored, see entries below).
# ? for Concurrent/Masscomp with RTU 4.0 or later, System V R2, "make rtus5"
# ? for Concurrent (Perkin-Elmer) 3200 series, "make sys5".
# ? for Concurrent (Perkin-Elmer) 3200 series with <dirent.h>, "make ccop1"
# + for Concurrent PowerMAX OS SVR4, "make powermax"
# ? for Consensys UNIX SV/386 R4V3, "make sys5r4sxtcpc" or "make sys5r4sx"
# ? for Convergent with CTIX Sys V R2, "make sys5"
# ? for Convergent with CTIX 6.4.1, "make ctix"
# ? for Convex C1, "make convex"
# ? for Convex C210 with Convex/OS 8, "make convex8"
# ? for Convex C2 with Convex/OS 9.1, "make convex9"
# ? for Convex C2 with Convex/OS 10.1 and gcc 2.x, "make convex10gcc"
# ? for Cray Research X/MP or YMP or C90 with UNICOS 6.x (System V R3),
# "make cray"
# ? for Cray Research X/MP or YMP or C90 with UNICOS 7.x (System V R4),
# "make cray"
# ? for Cray Research X/MP or YMP or C90 with UNICOS 8.0 Alpha, "make cray8"
# ? for Cray Research X/MP or Y-MP or C90 with UNICOS 9.0, "make cray9"
# ? for Cray Computer Cray-2 or Cray3 with CSOS, "make craycsos"
# ? for Cyber 910 (Silicon-Graphics Iris) with Irix 3.3, "irix33"
# ? for Data General AViiON with DG/UX 5.4 before R3.00, "make dgux540"
# or "make dgux540c" (compile ckwart separately if necessary)
# + for DG/UX 5.4 on AViiON Intel models, "make dgux540i" or dgux540ic.
# ? for DG/UX 5.4R4.11 on AViiON, all models, "make dgux54411"
# + for DG/UX 5.4R4.20 on AViiON, all models, "make dgux54420"
# + for Data General AViiON with DG/UX 4.3x using Sys V-isms, "make dgux430"
# ? for Data General AViiON with DG/UX 4.3x using BSD-isms, "make dgux430bsd"
# ? for Data General AViiON, earlier UNIX versions,
# "make sys5r3" (maybe compile ckwart separately, or "touch ckcpro.c")
# ? for Data General MV systems with DG/UX, ???
# ? for Data General MV systems with MV/UX, use AOS/VS C-Kermit (CKDKER.MAK)
# ? for Data General MV systems with AOS/VS, use CKDKER.MAK (last = C-K 7.0)
# for DEC PDP-11 with Berkeley UNIX 2.x, see Berkeley UNIX 2.x.
# ? for DEC PDP-11 with Mini-UNIX (Bell 6th Edition for PDP-11 with no MMU),
# probably no way to fit C-Kermit without I&D space.
# ? for DEC PDP-11 with Ultrix-11 3.x, ??? (probably needs overlays)
# ? for DEC VAX with Ultrix 1.x "make bsd"
# ? for DEC VAX with Ultrix 2.x "make ultrix2x"
# ? for DEC VAX or DECstation with Ultrix 3.0, 3.1, "make ultrix3x"
# ? for DECstation or VAX with Ultrix 4.0 or 4.1, "make ultrix40"
# ? for DECstation or VAX with Ultrix 4.2, "make ultrix42" or "make ultrix42c"
# ? for DECstation or VAX with Ultrix 4.x, POSIX world, "make posix"
# + for DECstation or VAX with Ultrix 4.3, "make ultrix43".
# + for DECstation or VAX with Ultrix 4.4, "make ultrix44".
# ? for DECstation 5000/50, /150 or /260 (R4x00 MIPS CPU), Ultrix 4.3A or later
# "make ultrix43-mips3" or "make ultrix43c-mips3"
# ? for DECstation (MIPS) with Berkeley Sprite, "make bsd44"?
# ? for DECstation (MIPS) with OSF/1 V1.0 to 1.3, "make dec-osf"
# ? for DEC Alpha with OSF/1 1.0 to 1.3, "make dec-osf"
# ? for DEC PC 486 with OSF/1, "make dec-osf"
# ? for DEC Alpha with OSF/1 2.x, "make dec-osf20"
# + for DEC Alpha with OSF/1 3.0, "make dec-osf30"
# + for DEC Alpha with Digital UNIX 3.2, "make du32"
# + for DEC Alpha with Digital UNIX 4.0-4.0D, "make du40" or "make du40gcc"
# + for DEC Alpha with Digital UNIX 4.0E or higher, see Tru64.
# - for DEC Pro-350 with Pro/Venix V1.x, "make provx1" (version 5A is too big)
# ? for DEC Pro-380 with Pro/Venix V2.0 (Sys V), "make sys3" or "make sys3nid"
# ? for DEC Pro-380 with 2.9, 2.10, or 2.11 BSD, "make bsd29" or "make bsd210"
# for DEC PDP-11 with 2.xBSD (use separate makefile ckubs2.mak)
# ? for Dell UNIX Issue 2.x (= USL Sys V/386 R4.x + fixes), "make dellsys5r4"
# or "make dellsys5r4c" (last tested in C-Kermit 5A).
# ? for DIAB DS90 with DNIX (any version) create an empty <sys/file.h> if
# this file does not already exist (or add -DNOFILEH to the make entry).
# ? for DIAB DS90 with DNIX 5.2 (Sys V.2) or earlier, "make dnix",
# "make dnixnd", or (to add curses and TCP/IP) "make dnixnetc",
# ? for DIAB DS90 with DNIX 5.3 (Sys V.3), "make dnix5r3"
# ? for DIAB DS90 with DNIX 5.3 (Sys V.3) and TCP/IP, "make dnix5r3net"
# ? for DIAB DS90 with DNIX 5.3 2.2 (Sys V.3), ANSI C, "make dnix5r3ansi"
# or, to include TCP/IP, "make dnix5r3ansinet",
# but you have to fix a bug in /usr/include/stdlib.h first:
# change "extern void free(char *str);" to "extern void free(void *str);"
# ? for Dolphin Server Technology Triton 88/17 with SV/88 R3.2, "make sv88r32"
# ? for Encore Multimax 310, 510 with Umax 4.2, "make umax42"
# ? for Encore Multimax 310, 510 with Umax 4.3, "make umax43"
# ? for Encore Multimax 310, 510 with Umax V 2.2, use Berkeley cc, "make bsd"
# ? for Encore 88K with Umax V 5.2, "make encore88k"
# ? for ESIX System V R4.0.3 or 4.04 with TCP/IP support, "make esixr4"
# NOTE: You can also build on Unixware 2.x with "make esixr4", and run
# on ESIX, but there you must first:
# ln /usr/lib/libsocket.so /usr/lib/libsocket.so.1
# ln /usr/lib/libnsl.so /usr/lib/libnsl.so.1
# (This worked for C-Kermit 6.0 but does not work for 7.0)
# (But you can probably still build a non-networking version this way)
# ? for Everex STEP 386/25 Rev G with ESIX Sys V R3.2D, "make sys5r3"
# ? for Fortune 32:16, For:Pro 1.8, "make ft18"
# ? for Fortune 32:16, For:Pro 2.1, "make ft21"
# ? for FPS 500 with FPX 4.1, "made bsd"
# + for FreeBSD 1.0, "make freebsd1"
# + for FreeBSD 2.x, "make freebsd2" (ncurses) or "make freebsd2c" (curses)
# + for FreeBSD 3.x, "make freebsd3" (ncurses) or "make freebsd3c" (curses)
# + for FreeBSD 4.0, "make freebsd4"
# + for FreeBSD 4.1, "make freebsd41"
# + for FreeBSD 4.2, "make freebsd42"
# + for FreeBSD 4.3, "make freebsd43"
# + for FreeBSD 4.4, "make freebsd44"
# + for FreeBSD 4.5, "make freebsd45"
# + for FreeBSD 4.6, "make freebsd46"
# + for FreeBSD 4.7, "make freebsd47"
# + for FreeBSD 4.8, "make freebsd48"
# + for FreeBSD 4.9, "make freebsd49"
# ? for FreeBSD 5.0, "make freebsd50"
# ? for FreeBSD 5.1, "make freebsd51"
# ? for Harris HCX-2900, "make sys5r3"
# ? for Harris Night Hawk 88K or 68K with CX/UX pre-6.1, "make sys5r3"
# ? for Harris Night Hawk 88K or 68K with CX/UX 6.1 or later, "make cx_ux"
# ? for Heurikon, "make sys3"
# ? for HP-3000, MPE/ix, "make posix"?
# + for HP-9000 Series 300 with 4.4BSD, "make bsd44"
# + for HP-9000 Series 500, HP-UX 5.21 and no networking "make hpux0500"
# + for HP-9000 Series 500, HP-UX 5.21 with WIN/TCP 1.2 "make hpux0500wintcp"
# + for HP-9000 Series, HP-UX 6.5, without long filenames,
# "make hpux0650" or "make hpux0650c"
# + for HP-9000 Series, HP-UX 7.0 or later no long filenames, "make hpux0700sf"
# or (to include tcp/ip, curses, etc) "make hpux0700sftcpc"
# + for HP-9000 Series with HP-UX 7.0, TCP/IP,long filenames,"make hpux0700lfn"
# + for HP-9000 300/400 Series (680x0) with HP-UX 8.0, TCP/IP, "make hpux0800"
# or "make hpux0800c"
# + for HP-9000 700/800 Series (PA-RISC), HP-UX 8.0, TCP/IP, "make hpux0800pa"
# or "make hpux0800pac"
# + for HP-9000 Series with HP-UX 8.0, no TCP/IP, long filenames,
# "make hpux0800notcp"
# + for HP-9000 Series, HP-UX 9.0 - 9.10, TCP/IP, curses, restricted compiler
# (no optimization, no ANSI), all models, "make hpux0900". Read the
# hpux0900 entry below for more info.
# + for HP-9000 700 and 800 Series, HP-UX 9.x, TCP/IP, curses,
# HP optimizing ANSI C compiler, "make hpux0900o700".
# + for HP-9000 with Motorola CPUs, HP-UX 9.x, TCP/IP, curses,
# HP optimizing ANSI C compiler, "make hpux0900mot".
# + for HP-9000 on other CPUs, HP-UX 9.x, TCP/IP, curses,
# HP optimizing ANSI C compiler, "make hpux0900o".
# + for HP-9000 series, HP-UX 9.x, TCP/IP, curses, gcc, all models,
# "make hpux0900gcc"
# + for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
# curses, restricted compiler (no optimization, no ANSI) "make hpux1000".
# + for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
# curses, HP ANSI/optimizing compiler "make hpux1000o" or "make hpux1000o+"
# + for HP-9000 HP-UX 10.00 or later with gcc, "make hpux1000gcc"
# + for Trusted HP-UX 10.xx "make hpux1000t", "make hpux1000to",
# or make hpux1000to+"
# + for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
# (no optimization, no ANSI) "make hpux1100".
# + for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
# HP ANSI/optimizing compiler "make hpux1100o" or "make hpux1100o+"
# + for Trusted HP-UX 11.xx "make hpux1100t", "make hpux1100to",
# make hpux1100to+"
# + for HP-9000 PA-RISC models with NeXTSTEP 3.3, "make nextquadfat".
# + for HP-9000 PA-RISC models with OPENSTEP/Mach 4.1, "make nextquadfat".
# ? for IBM 370 Series with IX/370, "make ix370"
# ? for IBM 370 Series with AIX/370 1.2, "make aix370"
# ? for IBM 370 Series with AIX/370 3.0, "make aix370"
# ? for IBM 370 Series with AIX/ESA 2.1, "make aixesa"
# - for IBM PC/AT 286 & compatibles with Mark Williams Coherent OS,
# command-line-only version, "make coherent" (version 5A & later too big)
# ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
# minimum interactive version, "make coherentmi"
# ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
# full interactive version, prior to v4.2, "make coherentmax"
# + for IBM PC 386 & compatibles with Mark Williams Coherent OS 4.2,
# "make coherent42"
# ? for IBM PC 386 & compatibles with LynxOS 2.0 or 2.1, "make lynx21"
# ? for IBM PC 386 & compatibles with LynxOS 2.2, "make lynx"
# - for IBM PC/AT & compatibles with original MINIX, "make minix" (too big)
# ? for IBM PC family, 386-based, with MINIX/386 1.5, "make minix386"
# or if you have GNU CC, "make minix386gcc"
# + for IBM PC family, 386-based, with MINIX 2.0, "make minix20"
# + for IBM PS/2 with PS/2 AIX 1.0, 1.1, or 1.2, "make ps2aix" or ps2aixnetc.
# ? for IBM PS/2 with PS/2 AIX 1.3, "make ps2aix3"
# ? for IBM RISC System/6000 with AIX 3.0, "make aix30"
# ? for IBM RISC System/6000 with AIX 3.1.x, "make aix31"
# + for IBM RISC System/6000 with AIX 3.2.0 thru 3.2.5, "make aix32"
# + for IBM RS/6000 or Power Series with AIX 4.1.x, "make aix41"
# + for IBM RS/6000 or Power Series with AIX 4.1.x with gcc, "make aix41g"
# + for IBM RS/6000 or Power Series with AIX 4.1 with X.25, "make aix41x25"
# + for IBM RS/6000 or Power Series with AIX 4.2, "make aix42"
# + for IBM RS/6000 or Power Series with AIX 4.3, "make aix43" (or aix43gcc)
# + for IBM RS/6000 or Power Series with AIX 4.4, "make aix44" (or aix44gcc)
# + for IBM RS/6000 or Power Series with AIX 4.5, "make aix45" (or aix45gcc)
# + for IBM RS/6000 or Power Series with AIX 5.0, "make aix50" (or aix50gcc)
# + for IBM RS/6000 or Power Series with AIX 5.1, "make aix51" (or aix51gcc)
# ? for IBM RS/6000 or Power Series with AIX 5.2, "make aix52" (or aix52gcc)
# ? for IBM RS/6000 or Power Series with AIX 5.3, "make aix53" (or aix53gcc)
# ? for IBM RT PC with AIX 2.1, "make sys3"
# + for IBM RT PC with AIX 2.2.1, "make rtaix" or "make rtaixc"
# ? for IBM RT PC with ACIS 4.2, "make bsd"
# ? for IBM RT PC with ACIS 4.3, "make rtacis" or "make bsd KFLAGS=-DNOANSI"
# ? for IBM RT PC with 4.3BSD/Reno, "make bsd44" or "make bsd44c"
# ? for ICL DRS400 or 400E, "make iclsys5r3"
# ? for ICL DRS3000 (80486) with DRS/NX, "make iclsys5r4_486"
# ? for ICL DRS6000 (SPARC) with DRS/NX, "make iclsys5r4"
# + for ICL DRS6000 (SPARC) with DRS/NX 4.2MP 7MPlus, "make iclsys5r4m+"
# ? Ditto but with IKSD support included, "make iclsys5r4m+iksd"
# ? for Integrated Solutions Inc V8S VME 68020, "make isi"
# ? for Intel 302 with Bell Tech Sys V/386 R3.2, "make sys5r3"
# ? for Intel Xenix/286, "make sco286"
# ? for Interactive System III (PC/IX), "make pcix" or "make is3"
# ? for Interactive System III (PC/IX) with gcc, "make is3gcc"
# ? for Interactive 386/ix 1.0.6 with TCP/IP networking, "make is5r3net2"
# ? for Interactive 386/ix 2.0.x, "make is5r3" or (POSIX) "make is5r3p"
# ? for Interactive 386/ix 2.0.x with TCP/IP networking, "make is5r3net"
# or "make is5r3net2"
# ? for Interactive 386/ix 2.2.1, job control, curses, no net, gcc,
# "make is5r3gcc"
# + for Interactive UNIX Sys V R3.2 V2.2 - 4.0 without TCP/IP, "make is5r3jc"
# + for Interactive UNIX Sys V R3.2 V2.2 - 4.0 with TCP/IP, "make is5r3netjc"
# + for Intergraph Clipper, "make clix" or "make clixnet"
# ? for Jolix (see 386BSD)
# + for Red Hat Linux 7.1 (and higher) fully configured (krb5, SSL, etc):
# "make redhat71", "make redhat72", "make redhat73", "make redhat80"
# "make redhat9"
# NOTE: You must use this target for Red Hat 7.1 since it
# also includes a workaround for its broken curses library.
# WARNING: These targets create binaries that include code for
# strong encryption and are therefore not exportable. DO NOT PUT
# THESE BINARIES ON US OR CANADIAN WEB OR FTP SITES.
# + for Linux 1.2 and later, "make linux". Uses ncurses. This version
# handles serial speeds up to 460800 bps, Linux FSSTD 1.2, TCP/IP, and
# should work on both libc and glibc systems. For static linking, use
# "make linux LNKFLAGS=-static". Please read the comments that accompany
# the linux entry.
# + for Linux builds that fail with "sys/select.h: No such file or directory",
# "make linuxns"
# + for Linux 1.2 and later but with curses.h and libcurses (rather than
# ncurses.h and libncurses), use "make linuxc".
# + for Linux 1.2 and later with no curses support at all, "make linuxnc".
# + for Linux on PowerMac (Mklinux DR3), "make mklinux".
# + for Linux 1.2 and later, to build with egcs, "make linuxegcs".
# + for Linux with no TCP/IP, "make linuxnotcp"
# + for Linux with lcc compiler, no TCP/IP, "make linuxnotcp-lcc"
# ? for Linux 1.0 or earlier, "make linux10", or (to remove TCP/IP)
# "make linuxnotcp".
# IMPORTANT: Read the comments that accompany the "linux:" entry.
# ? for Mach 2.6 on (anything, e.g. DECstation), "make bsd42" or "make bsd43".
# ? for MachTen (Tenon) 2.1.1.D on (e.g.) Apple Powerbook, "make machten".
# ? for Masscomp RTU AT&T System III, "make rtu"
# for other Masscomp, see Concurrent.
# ? for Microport SV/AT (System V R2), "make mpsysv" (last edit tested: 144)
# ? for Microport SVR4 2.2, 3.1, or 4.1 "make sys5r4sx"
# ? for Microsoft,IBM Xenix (/286, PC/AT, etc), "make xenix" or "make sco286"
# ? for MIPS System with RISC/os (UMIPS) 4.52 = AT&T SVR3, "make mips"
# or "make mipstcpc"
# + for MkLinux on Power Macintosh, "make mklinux"
# ? for Modcomp 9730, Real/IX, "make sys5r3" (or modify to use gcc = GLS cc)
# ? for Modcomp Realstar 1000 with REAL/IX D.1, "make sv88r32"
# ? for Motorola Four Phase, "make sys3" or "make sys3nid"
# + for Motorola Delta System V/68 R3, "make sv68r3"
# + for Motorola Delta System V/68 R3V5, "make sv68r3v5"
# + for Motorola Delta System V/68 R3V5.1, "make sv68r3v51"
# + for Motorola Delta System V/68 R3V6 with NSE TCP/IP, "make sv68r3v6"
# + for Motorola Delta System V/88 R32, "make sv88r32"
# + for Motorola Delta System V/88 R40, "make sv88r40"
# ? for Mt Xinu Mach386 on 386/486-based PCs, "make bsd43"
# ? for NCR Tower 1632, OS 1.02, "make tower1"
# ? for NCR Tower 1632 or Minitower with System V R2, "make sys3"
# or "make sys3nv"
# ? for NCR Tower 32, OS Release 1.xx.xx, "make tower32-1"
# ? for NCR Tower 32, OS Release 2.xx.xx, "make tower32-2"
# ? for NCR Tower 32, OS Releases based on Sys V R3, "make tower32"
# ? for NCR Tower 32, OS Releases based on Sys V R3 with gcc "make tower32g"
# ? for NCR System 3000, AT&T UNIX System V R4 2.0, "make sys5r4sxna"
# ? for NCR System 3000, AT&T UNIX System V R4 2.0 with Wollongong TCP/IP,
# "make sys5r4net2" or "make sys5r4net2c".
# Some header files might be misplaced; try this:
# ln /usr/include/netinet/in.h /usr/include/sys/in.h
# ln /usr/include/arpa/inet.h /usr/include/sys/inet.h
# ln /usr/include/sys/termiox.h /usr/include/termiox.h
# ? for NCR System 3000, NCR UNIX 02.02.01, same as above.
# + for NCR MP-RAS System V R4 V2.03 or 3.02, "make mpras" or "make mprastcpc"
# + for NetBSD through 1.4.x on any architecture, "make netbsd"
# + for NetBSD 1.5.0 and later, "make netbsd15"
# + for NeXT with NeXTSTEP 1.0 through 3.2, "make next" (on a NeXT)
# + for NeXT with NeXTSTEP 3.3, "make next33"
# ? for NeXT with OPENSTEP/Mach 4.1, "make nextquadfat".
# + for NeXT with OPENSTEP/Mach 4.2, "make openstep42".
# ? for NeXTSTEP/486, "make next" (on a PC)
# ? for NeXTSTEP portable binary (runs on Intel or Motorola), "make nextfat"
# ? for NeXTSTEP portable binary (Intel, Motorola, HP PA-RISC, or SPARC),
# "make nextquadfat"
# ? for Nixdorf Targon/31, "make t31tos40x"
# ? for Norsk Data Uniline 88/17 with SV/88 R3.2, "make sv88r32"
# for Novell UnixWare - see UnixWare
# ? for OSF/1 (vanilla, from OS/F), "make posix"
# ? for OkiStation 7300 Series, "make sys5r4sxtcp"
# ? for Olivetti LSX-3020 with X/OS R.2.3, "make xos23" or "make xos23c"
# + for OpenBSD, "make openbsd" (also see secure targets listed below).
# ? for OPENSTEP/Mach 4.1, "make nextquadfat" (NeXT, Intel, PA-RISC, SPARC)
# + for OPENSTEP/Mach 4.2, "make openstep42" (tested on NeXT)
# ? for Perkin-Elmer (Concurrent) 3200 series, "make sys5".
# ? for Perkin-Elmer (Concurrent) 3200 series with <dirent.h>, "make ccop1"
# ? for Perkin-Elmer/Concurrent 3200 with Xelos R02, "make ccop1"
# ? for PFU Compact A Series SX/A TISP V10/E50 (Japan), "make sxae50"
# ? for Plexus, "make sys3"
# + for Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1,
# "ucb make pyramid" or for HDB UUCP, "ucb make pyramid-hdb" or:
# + for Pyramid MIServer S or ES Series, DataCenter/OSx, "make pyrdcosx"
# + for Pyramid MIS-S MIPS R3000, DataCenter OSx System V R4, "make pyrdcosx"
# + for POSIX on anything, "make posix" (but adjustments might be necessary).
# ? for Prime 8000 MIPS, SVR3, "make mips" or "make mipstcpc"
# - for QNX 2.x (sorry we don't have a version of C-Kermit for QNX 2.x)
# ? for QNX 4.0 or 4.1, 16-bit, on 286 PC, Watcom C 8.5, "make qnx16_41"
# + for QNX 4.21 - 4.22A (286+), and 4.23 (386+), or higher, 16-bit,
# Watcom C 9.5x or higher, "make qnx16"
# + for QNX 4.21-4.25, 32-bit, 386 or above, Watcom C 10.6, "make qnx32"
# NOTE: ("make qnx" == "make qnx32")
# ? for QNX Neutrino 2+, "make qnx_nto2+" (crosscompiled on QNX4 with Watcom C)
# + for QNX 6 = Neutrino 2.xx, "make qnx6"
# ? for Ridge 32 (ROS3.2), "make ridge32"
# ? for Samsung MagicStation, "make sys5r4"
# ? for SCO Xenix 2.2.1 with development system 2.2 on 8086/8 "make sco86"
# ? for SCO Xenix/286 2.2.1 with development system 2.2 on 80286, "make sco286"
# NOTE: reportedly this makefile is too long for SCO Xenix/286 make, but it
# works with "makeL", or if some of the other make entries are edited out.
# ? for SCO Xenix/386 2.2.2, "make sco386"
# ? for SCO Xenix/386 2.3.x, "make sco3r2"
# ? for SCO Xenix/386 SCO 2.3.3 or 2.3.4 with gcc 1.37 or later,
# "make sco386gcc" or (to add curses) "make sco386gccc".
# ? for SCO Xenix/386 or UNIX/386 with Excelan TCP/IP, "make sco3r2net"
# or (to add curses support) "make sco3r2netc" or "sco386netc"
# + for SCO XENIX 2.3.4, "make sco234" or "make sco234c" to add curses.
# + for SCO XENIX 2.3.4 with SCO TCP/IP & curses, "make sco234netc".
# ? for SCO Xenix 2.3.x with Racal-InterLan TCP/IP, "make sco3r2netri"
# for other UNIX varieties with Racal Interlan TCP/IP, read sco3r2netri entry
# ? for SCO Xenix 2.3.x with SCO (Lachman) TCP/IP, "make sco3r2lai"
# or (to add curses) "make sco3r2laic"
# for SCO UNIX... ALSO READ COMMENTS in the SCO UNIX entries for more info!
# ? for SCO UNIX/386 3.2.0 or 3.2.1, "make sco3r2" or "make sco3r2x"
# ? for SCO UNIX/386 3.2.2, "make sco3r22" or "make sco3r22gcc"
# or "make sco3r22c"
# ? for SCO UNIX/386 3.2.2 with SCO TCP/IP, "make sco3r22net"
# or "make sco3r22netc" (curses)
# ? for SCO ODT 1.1, "make sco3r22net" or "make sco3r22netc" (curses)
# + for SCO UNIX/386 3.2 V4.x, no network support, "make sco32v4"
# + or "make sco32v4ns" (this one uses no select() or sockets library)
# + for SCO UNIX/386 3.2 V4.x with TCP/IP, "make sco32v4net"
# (also sco32v4gcc, sco32v4netgcc)
# + for SCO UNIX/386 3.2 V5.0 - see SCO OpenServer.
# + for SCO UNIX 3.2v4.x with TCP/IP, <dirent.h> for Extended Acer File
# System (EAFS), curses, ANSI C compilation, "make sco32v4net"
# + or (to use select()-based CONNECT module) "make sco32v4netx".
# + for SCO UNIX 3.2v4.2, "make sco-odt30" (includes TCP/IP).
# + for SCO MPX 3.0 - The SCO UNIX binary runs on the corresponding MPX system.
#
# NOTE: Also see below for other entries that are variations on these.
# Also be sure to read the comments accompanying each SCO entry.
# Also see Unixware section.
#
# + for SCO ODT 2.0, "make sco32v4net"
# + for SCO ODT 3.0, "make sco-odt30"
# + for SCO OpenServer 5.0 (OSR5), "make sco32v500"
# + for SCO OpenServer 5.0 (OSR5) with networking, "make sco32v500net"
# + for SCO OpenServer 5.0 (OSR5), gcc, "make sco32v500gcc"
# + for SCO OpenServer 5.0 (OSR5), gcc, with networking, "make sco32v500netgcc"
# + for SCO OpenServer 5.0 (OSR5), as above, ELF, "make sco32v500netgccelf"
# + for SCO OpenServer 5.0.2, use "make sco32v502xxx" entries as above.
# + for SCO OpenServer 5.0.4, use "make sco32v504xxx" entries as above.
# + for SCO OpenServer 5.0.5, use "make sco32v505xxx" entries as above.
# Use the sco32v505udkxxx entries if you have the UDK rather than /bin/cc.
# + for SCO OpenServer 5.0.6, use "make sco32v506xxx" entries as above.
# + for SCO OpenServer 5.0.6a,use "make sco32v506axxx" entries as above.
# + for SCO OpenServer 5.0.7, use "make sco32v507", "make sco32v507net"
# ? for SCO (Univel) UnixWare 1.x, "make unixware" or "make unixwarenetc".
# If there are problems with this in C-K 7+ see notes at unixware entry.
# + for SCO UnixWare 2.0.x, "make uw20"
# + for SCO UnixWare 2.1.0, "make uw21"
# + for SCO UnixWare 2.1.3, "make uw213"
# + for SCO UnixWare 7, "make uw7"
# + for SCO UnixWare 7 with IKSD support, "make uw7iksd" or "make uw7iksdudk"
# + for SCO UnixWare 7 with OpenSSL, "make uw7ssl"
# + for SCO (Caldera) Open UNIX 8, "make ou8"
# + for Sharp Zaurus SL5500 PDA, "make zsl5500".
# ? for Sequent with DYNIX/ptx 1.2.1, "make dynixptx12"
# ? for Sequent with DYNIX/ptx 1.3 or 1.4 with TCP/IP, "make dynixptx13"
# ? for Sequent with DYNIX/ptx 2.0 or 2.1 with TCP/IP, "make dynixptx20"
# or "dynixptx20c"
# + for Sequent with DYNIX/ptx 2.1.6 on i486, "dynixptx216c"
# ? for Sequent with DYNIX/ptx V4.1.3 with TCP/IP, "make dynixptx41c"
# + for Sequent with DYNIX/ptx V4.4.2 with TCP/IP, "make dynixptx44"
# ? for Sequent Balance 8000 or B8 with DYNIX 3.0.xx, "make dynix3"
# or "make dynix3noacu"
# ? for Sequent Symmetry S81 with DYNIX 3.0.xx, "make dynix3"
# ? for Sequent DYNIX 3.1.xx, "make dynix31" or "make dynix31c"
# + for Siemens/Nixdorf SINIX-L Intel V5.41, "make sinix541i"
# + for Siemens/Nixdorf SINIX-N MIPS V5.42, "make sinix542"
# + for Siemens/Nixdorf SINIX-P MIPS V5.42 with gcc, "make sinix542g"
# + for Siemens/Nixdorf SINIX-Z Intel V5.42, "make sinix542i"
# + for Siemens/Nixdorf Reliant UNIX V5.43, "make sni543"
# + for Siemens/Nixdorf Reliant UNIX V5.44, "make sni544"
# ? for Silicon Graphics Iris System V IRIX 3.2 or earlier, "make iris"
# ? for Silicon Graphics Sys V R3 with IRIX 3.3 or later, "make sys5r3"
# ? for Silicon Graphics Iris Indigo with IRIX 4.0 or 5.0, "make irix40" or
# (to include Yellow Pages and Curses) "make irix40ypc"
# ? for Silicon Graphics Iris Indigo or Elan with IRIX 4.0.x with microcode
# optimization and -O4, "make irix40u" or "irix40uc" (and read notes
# accompanying these entries).
# + for Silicon Graphics IRIX 5.1, "make irix51" or "irix51x" (no optimize)
# + for Silicon Graphics IRIX 5.2, "make irix52"
# + for Silicon Graphics IRIX 5.3, "make irix53" or "irix53x" (no optimize)
# + for Silicon Graphics IRIX 6.0, "make irix60".
# + for Silicon Graphics IRIX 6.2, "make irix62".
# + for Silicon Graphics IRIX 6.3, "make irix63".
# + for Silicon Graphics IRIX 6.4, "make irix64" or "make irix64gcc".
# + for Silicon Graphics (SGI) IRIX 6.5, "make irix65" or "make irix65mips2"
# ? for Solaris 2.0-2.3 on SPARC or Intel, SunPro CC, "make solaris2x",
# ? or to add SunLink X.25 8.0x support, "make solaris2x25".
# + for Solaris 2.4 built with gcc, "make solaris24g".
# + for Solaris 2.0-2.3 on SPARC or Intel, GNU CC, "make solaris2xg".
# + for Solaris 2.4 with X.25, "make solaris24x25".
# + for Solaris 2.5 on SPARC or Intel, SunPro CC, "make solaris25".
# + or to add SunLink X.25 8.0x support, "make solaris25x25".
# + for Solaris 2.5 on SPARC or Intel, GNU CC, "make solaris25g".
# + for Solaris 2.6 on SPARC or Intel, "make solaris26".
# + for Solaris 7 on SPARC or Intel, SunPro CC, "make solaris7".
# + for Solaris 7 on SPARC or Intel, GNU CC, "make solaris7g".
# + for Solaris 8 on SPARC or Intel, SunPro CC, "make solaris8".
# + for Solaris 8 on SPARC or Intel, GNU CC, "make solaris8g".
# + for Solaris 9 on SPARC (or Intel?), 32-bit, SunPro CC, "make solaris9".
# + for Solaris 9 on SPARC (or Intel?), 32-bit, GNU CC, "make solaris9g".
# + for Solaris 9 on SPARC (or Intel?), 64-bit, GNU CC, "make solaris9g64".
# + for Solbourne 4/500 with OS/MP 4 "make sunos4"
# + for Solbourne 4/500 with OS/MP 4.1 "make sunos41" or "make sunos41c"
# ? for SONY NEWS with NEWS-OS 4.0.1C, "make sonynews"
# ? for SONY NEWS with NEWS-OS 4.1.2C, "make sonynews"
# ? for Sperry/UNISYS 5000/20, UTS V 5.2 3R1, "make sys5"
# ? for Sperry/UNISYS 5000/30/35/50/55, UTS V 5.2 2.01, "make unisys5r2"
# ? for Sperry/UNISYS 5000/80 with System V R3, "make sys5r3"
# ? for Sperry/UNISYS 5000/95 with System V R3, "make sys5r3"
# For UNISYS SVR3 it might be necessary to "make sys5r3 KFLAGS=-UDYNAMIC"
# ? for Stardent 1520, "make sys5r3"
# ? for Stratus FTX 2.x, try "make ftx" or else "make sys5r4" or "sys5r4sx"
# + for Stratus FTX 3.x, PA-RISC 1.0 or 2.0, "make ftx" or "make ftxtcp"
# ? for Sun with Sun UNIX 3.5 and gcc, "make sunos3gcc"
# ? for Sun with pre-4.0 SunOS versions, "make bsd" (or appropriate variant)
# ? for Sun with SunOS 4.0, BSD environment, "make sunos4"
# ? for Sun with SunOS 4.0, BSD, with SunLink X.25, make sunos4x25
# + for Sun with SunOS 4.1 or 4.1.1, BSD environment, "make sunos41"
# or "make sunos41c" (curses) or "make sunos41gcc" (compile with gcc)
# + for Sun with SunOS 4.1.x, BSD, with SunLink X.25 7.00 or earlier,
# "make sunos41x25" or "make sunos41x25c" (curses)
# + for Sun with SunOS 4.1, 4.1.1, AT&T Sys V R3 environment, "make sunos41s5"
# + for Sun with SunOS 4.1.2, "make sunos41" or any of its variations.
# NOTE: All SunOS 4.x systems -- Shared libraries are used by default.
# If this causes problems, add -Bstatic to CFLAGS.
# NOTE2: When building C-Kermit under SunOS for the BSD universe,
# but /usr/5bin/cc is ahead of /usr/ucb/cc in your PATH, add
# "CC=/usr/ucb/cc CC2=/usr/ucb/cc" to the make entry.
# NOTE3: If an executable built on one type of Sun hardware does not work
# on another type, rebuild the program from source on the target machine.
# for Sun with Solaris 1.x use SunOS 4.1 entries.
# for Sun with Solaris 2.0 and higher use Solaris entries.
# + for Sun SPARC with Linux, "make linux"
# ? for Sun SPARC with OPENSTEP/Mach 4.1, "make nextquadfat"
# ? for Sun SPARC with OPENSTEP/Mach 4.2, "make openstep42"
# - for Tandy 16/6000 with Xenix 3.0, "make trs16" (C-Kermit 7.0 is too big)
# ? for Tektronix 6130/4132/43xx (e.g.4301) with UTek OS, "make utek"
# or (for models without hardware flow control), "make uteknohwfc"
# ? for Tektronix XD88 series with UTekV OS, "make utekvr3"
# ? for Tri Star Flash Cache with Esix SVR3.2, "make sys5r3"
# + for Tru-64 UNIX 4.0E, "make tru64-40e"
# + for Tru-64 UNIX 4.0F, "make tru64-40f"
# + for Tru-64 UNIX 4.0G, "make tru64-40g"
# + for Tru-64 UNIX 5.0A, "make tru64-50a"
# + for Tru-64 UNIX 5.1A, "make tru64-51a"
# ? for Unistar, "make sys5"
# ? for Unisys S/4040 68040 CTIX SVR3.2 6.4.1, "make ctix" or "make sys5r3"
# ? for Unisys U5000 UNIX SVR3 6.x, "make sys5r3" or "make sys5r3c"
# ? for Unisys U6000 UNIX SVR4 1.x, "make sys5r4nx" or "make sys5r4nxnetc"
# for Unisys ... (also see Sperry)
# for Univel - see UnixWare
# for Unixware - see SCO
# ? for Valid Scaldstar, "make valid"
# ? for Whitechapel MG01 Genix 1.3, "make white"
# ? for Zilog ZEUS 3.21, "make zilog"
#
# The result should be a runnable program called "wermit" in the current
# directory. After satisfactory testing, you can rename wermit to "kermit"
# and put it where users can find it.
#
# To remove intermediate and object files, "make clean".
# If your C compiler produces files with an extension other than "o",
# then "make clean EXT=u", "make clean EXT=s", or whatever.
#
# To run lint on the source files, "make lintsun", "make lintbsd",
# "make lints5", as appropriate.
#
# ******************************
# SECURE TARGETS
#
# Beginning with C-Kermit 7.0, secure targets are included, as are the
# source modules (ckuat*.[ch], ck_*.[ch]) needed to build them. Secure
# target names are like the regular names, but with security features
# indicated by plus (+) signs. The features are:
#
# krb4 MIT Kerberos IV
# krb5 MIT Kerberos V
# openssl OpenSSL (SSL/TLS)
# zlib ZLIB compression for SSL/TLS
# srp Stanford Secure Remote Password
# pam PAM (pluggable authentication module)
# shadow Shadow Password File
#
# You can build these targets if you have the Kermit source files and the
# required libraries (Kerberos, OpenSSL, SRP, etc) and header files. See:
# http://www.columbia.edu/kermit/security.html
# for specific details regarding supported versions.
#
# NOTE: OpenSSL 0.9.6 and earlier are not compatible with 0.9.7 and later.
# C-Kermit code is designed for 0.9.6. To build with 0.9.7 you must add
# -DOPENSSL_097 to avoid missing symbols in the DES library and to use the
# entry points that were renamed to avoid conflict with Kerberos 4.
#
# In OpenSSL builds add -ldl if you get unresolved references for
# dlopen, dlclose, dlsym, and/or dlerror.
#
# The following symbols are used to specify library and header file locations
# Redefine them to the values used on your system by:
# . editing this file
# . defining the values on the command line
# . defining the values in the environment and use the -e option
#
prefix = /usr/local
srproot = $(prefix)
sslroot = $(prefix)
manroot = $(prefix)
K4LIB=-L/usr/kerberos/lib
K4INC=-I/usr/kerberos/include
K5LIB=-L/usr/kerberos/lib
K5INC=-I/usr/kerberos/include
SRPLIB=-L$(srproot)/lib
SRPINC=-I$(srproot)/include
SSLLIB=-L$(sslroot)/ssl/lib
SSLINC=-I$(sslroot)/ssl/include
#
# aix41+krb5+krb4: IBM AIX 4.1 with Kerberos IV and V
# aix43gcc+krb5+krb4: IBM AIX 4.3 built with gcc, ditto
# aix43gcc+krb5+krb4+openssl: Ditto, plus OpenSSL (SSL/TLS)
# aix43gcc+openssl: IBM AIX 4.3 with OpenSSL
# freebsd44+srp+openssl FreeBSD 4.4 with SRP and OpenSSL
# freebsd50+openssl FreeBSD 5.0 with OpenSSL
# hpux1100o+openssl: HP-UX 11.xx with OpenSSL
# hpux1000gcc+openssl: HP-UX 10.xx with OpenSSL (build with gcc)
# hpux1100gcc+openssl: HP-UX 11.xx with OpenSSL (build with gcc)
# irix6x+krb5: IRIX 6.x with Kerberos V
# irix65+krb5: etc etc...
# linux+krb5:
# linux+krb5+krb4:
# linux+srp:
# linux+srp+pam:
# linux+srp+gmp:
# linux+srp+gmp+no-des:
# linux+srp+gmp-export:
# linux+srp+gmp+pam:
# linux+shadow+pam:
# linux+openssl:
# linux+openssl+shadow:
# linux+openssl+zlib+shadow+pam:
# linux+srp+openssl:
# linux+krb5+krb4+srp:
# linux+krb5+krb4+srp+openssl:
# linux+krb5+krb4+openssl:
# linux+krb5+krb4+openssl+shadow:
# linux+krb5+krb4+openssl+zlib+shadow:
# linux+krb5+krb4+srp-export:
# linux+krb5+krb4+srp+pam:
# linux+krb5+krb4+srp+openssl+pam-debug:
# linux+krb5+krb4+srp+openssl+pam:
# linux+krb5+krb4+srp+openssl+zlib+pam:
# linux+krb5+krb4+openssl+shadow+pam:
# linux+krb5+openssl+zlib+shadow+pam:
# openbsd30+ssl (includes OpenSSL):
# redhat71, redhat72, redhat73, redhat80, redhat9
# (Krb5, OpenSSL, Showdow, PAM, Zlib)
# sco32v500net+ssl:
# sco32v505net+ssl:
# solaris2x+krb4:
# solaris2xg+krb4:
# solaris2xg+openssl+pam+shadow:
# solaris2xg+openssl+zlib+pam+shadow:
# solaris2xg+krb5+krb4+openssl+shadow:
# solaris25+krb4:
# solaris25g+krb4:
# solaris26g+openssl:
# solaris8g+openssl+zlib+pam+shadow:
# solaris8g+krb4:
# solaris9g+openssl+zlib+pam+shadow:
# solaris9g+openssl+shadow+pam+zlib
# sunos41gcc+krb4: SunOS 4.1 built with gcc with Kerberos IV
# sunos41gcc+openssl: SunOS 4.1 built with gcc with OpenSSL
# sunos41gcc+krb4+openssl: ...with Kerberos IV and OpenSSL
# sunos41gcc+krb4+openssl+zlib: ditto, plus ZLIB compression
# sunos41gcc+krb4+srp+openssl+zlib: ditto, plus SRP
# sunos41gcc+srp+openssl+zlib:
# uw7ssl
#
##############################################################################
#
# NOTES FOR V7 AND 2.X BSD (BASED ON VERSION 4E OF C-KERMIT, 1987):
#
# For Unix Version 7, several variables must be defined to the values
# associated with your system. BOOTNAME=/edition7 is the kernel image on
# okstate's Perkin-Elmer 3230. Others will probably be /unix. PROCNAME=proc
# is the name of the structure assigned to each process on okstate's system.
# This may be "_proc" or some other variation. See <sys/proc.h> for more
# info on your systems name conventions. NPROCNAME=nproc is the name of a
# kernel variable that tells how many "proc" structures there are. Again
# this may be different on your system, but nproc will probably be somewhere.
# The variable NPTYPE is the type of the nproc variable -- int, short, etc.
# which can probably be gleaned from <sys/param.h>. The definition of DIRECT
# is a little more complicated. If nlist() returns, for "proc" only, the
# address of the array, then you should define DIRECT as it is below. If
# however, nlist() returns the address of a pointer to the array, then you
# should give DIRECT a null definition (DIRECT= ). The extern declaration in
# <sys/proc.h> should clarify this for you. If it is "extern struct proc
# *proc", then you should NOT define DIRECT. If it is "extern struct proc
# proc[]", then you should probably define DIRECT as it is below. See
# ckuv7.hlp for further information.
#
# For 2.9 BSD, the makefile may use pcc rather than cc for compiles; that's
# what the CC and CC2 definitions are for (the current version of the
# makefile uses cc for both; this was tested in version 4E of C-Kermit and
# worked OK on the DEC Pro 380, but all bets are off for version 5A). 2.9
# support basically follows the 4.1 path. Some 2.9 systems use "dir.h" for
# the directory header file, others will need to change this to "ndir.h".
#
# The v7 and 2.9bsd versions assume I&D space on a PDP-11. When building
# C-Kermit for v7 on a PDP-11, you should probably add the -i option to the
# link flags. Without I&D space, overlays will be necessary (if available),
# or code segment mapping (a`la Pro/Venix) if that's available.
#
# C-Kermit 5A (and 6.0?) can be built for 2.10 and 2.11BSD, using overlays,
# but a separate makefile is used because this one is too big.
#
##############################################################################
#
# V7-specific variables.
# These are set up for Perkin-Elmer 3230 V7 Unix:
#
PROC=proc
DIRECT=
NPROC=nproc
NPTYPE=int
BOOTFILE=/edition7
#
# ( For old Tandy TRS-80 Model 16A or 6000 V7-based Xenix, use PROC=_proc,
# DIRECT=-DDIRECT, NPROC=_Nproc, NPTYPE=short, BOOTFILE=/xenix )
#
###########################################################################
#
# Compile and Link variables:
#
# EXT is the extension (file type) for object files, normally o.
# See MINIX entry for what to do if another filetype must be used.
#
EXT=o
#LNKFLAGS=
SHAREDLIB=
CC= cc
CC2= cc
MAKE= make
SHELL=/bin/sh
###########################################################################
# SAMPLE INSTALLATION SCRIPT
#
# Modify to suit your own computer's file organization and permissions. If
# you don't have write access to the destination directories, "make install"
# fails. In most cases, a real installation also requires you to chown /
# chgrp the Kermit binary for the UUCP lockfile and/or tty devices, and
# perhaps also to chmod +s the corresponding permission fields.
#
# Default binary, man, and doc directories are supplied below. You can
# override them in your 'make' command. Examples:
#
# make install # Accept defaults.
# make "INFODIR=/usr/share/lib/kermit" install # Override INFODIR default.
#
# You can also build and install in one step, e.g.:
#
# make solaris8 install
#
# If you use the 'install' target to install C-Kermit, it creates an
# UNINSTALL script that can be used to uninstall it.
#
WERMIT = makewhat
BINARY = wermit
DESTDIR =
BINDIR = $(prefix)/bin
MANDIR = $(manroot)/man/man1
MANEXT = 1
SRCDIR =
INFODIR =
CERTDIR =
TEXTFILES = COPYING.TXT ckcbwr.txt ckubwr.txt ckuins.txt ckccfg.txt \
ckcplm.txt ckermit.ini ckermod.ini ckermit70.txt ckermit80.txt
ALL = $(WERMIT)
all: $(ALL)
.c.o:
$(CC) $(CFLAGS) -DKTARGET=\"$(KTARGET)\" -c $<
#Clean up intermediate and object files
clean:
@echo 'Removing object files...'
-rm -f ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckcpro.$(EXT) ckcfns.$(EXT) \
ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) \
ckufio.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) ckwart.$(EXT) ckuusx.$(EXT) \
ckuusy.$(EXT) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckusig.$(EXT) \
ckucns.$(EXT) ckcmdb.$(EXT) ckuath.$(EXT) ckctel.$(EXT) ckclib.$(EXT) \
ckcuni.$(EXT) ck_crp.$(EXT) ck_ssl.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
ckcpro.c wart
# Install C-Kermit after building -- IMPORTANT: Read the instructions above
# (SAMPLE INSTALLATION SCRIPT). For SSL/TLS versions, ca_certs.pem file
# should be installed in the appropriate place for your OpenSSL library, e.g.:
#
# cp ca_certs.pem /usr/local/ssl/
# cp ca_certs.pem /usr/share/ssl/
#
# To make sure 'man' notices the new source file and doesn't keep
# showing the old formatted version, remove the old formatted version,
# something like this:
# rm -f $(MANDIR)/../cat$(MANEXT)/kermit.$(MANEXT)
# or this (which requires CATDIR to be defined):
# rm -f $(CATDIR)/kermit.$(MANEXT)
#
# As of C-Kermit 8.0.205 this target also builds an UNINSTALL script, and
# so it might be too long for some old Bourne shells, in which case you can
# use a different shell:
#
# make SHELL=ksh install
# make SHELL=/bin/posix/sh install
#
install:
@echo Installing C-Kermit version $(CKVER)...;\
rm -f UNINSTALL;\
exec 3>./UNINSTALL;\
echo "# C-Kermit UNINSTALL script" >&3;\
echo "# `date`\n" >&3;\
echo "CKVER=$(CKVER)" >&3;\
echo "PrN Uninstalling C-Kermit version $(CKVER)..." >&3;\
echo DESTDIR=$(DESTDIR);\
if test -n "$(DESTDIR)"; then\
if test -d $(DESTDIR); then\
echo "$(DESTDIR) exists...\n";\
else\
echo "Creating $(DESTDIR)...";\
DESTDIR=`echo $(DESTDIR) | sed 's!/*$$!!'`;\
mkdir -p $$DESTDIR || exit 1;\
fi;\
chmod 755 $(DESTDIR) || exit 1;\
fi;\
echo BINARY=$(BINARY);\
if test -f $(BINARY); then\
ls -l $(BINARY);\
else\
echo "?$(BINARY) not found";\
exit 1;\
fi;\
if test -z "$(DESTDIR)$(BINDIR)"; then\
echo "Binary directory not specified";\
exit 1;\
fi;\
if test -d $(DESTDIR)$(BINDIR); then\
echo "$(DESTDIR)$(BINDIR) exists...";\
else\
echo "Creating $(DESTDIR)$(BINDIR)/...";\
mkdir -p $(DESTDIR)$(BINDIR) || exit 1;\
chmod 755 $(DESTDIR)$(BINDIR);\
fi;\
rm -f $(DESTDIR)$(BINDIR)/kermit;\
cp $(BINARY) $(DESTDIR)$(BINDIR)/kermit || exit 1;\
chmod 755 $(DESTDIR)$(BINDIR)/kermit || exit 1;\
rm -f $(DESTDIR)$(BINDIR)/kermit-sshsub;\
ln -s kermit\
$(DESTDIR)$(BINDIR)/kermit-sshsub || exit 1;\
echo 'set flag=f\nPrC Removing binaries' >&3;\
echo "RmF $(DESTDIR)$(BINDIR)/kermit-sshsub" >&3;\
echo "RmF $(DESTDIR)$(BINDIR)/kermit" >&3;\
if test -f ckermit.ini; then\
echo "#!$(DESTDIR)$(BINDIR)/kermit" >\
$(DESTDIR)$(BINDIR)/_tmp.ini;\
cat ckermit.ini >> $(DESTDIR)$(BINDIR)/_tmp.ini;\
mv $(DESTDIR)$(BINDIR)/_tmp.ini\
$(DESTDIR)$(BINDIR)/ckermit.ini;\
chmod 755 $(DESTDIR)$(BINDIR)/ckermit.ini;\
echo "RmF $(DESTDIR)$(BINDIR)/ckermit.ini" >&3;\
fi;\
echo;\
echo 'EfM' >&3;\
echo "Kermit binary installed:";\
ls -l $(DESTDIR)$(BINDIR)/kermit\
$(DESTDIR)$(BINDIR)/kermit-sshsub\
$(DESTDIR)$(BINDIR)/ckermit.ini;\
echo;\
echo " WARNING: If C-Kermit is to be used for dialing out,";\
echo " you must change its owner and group and permissions";\
echo " to match the 'cu' program. See the ckuins.txt file";\
echo " for details.";\
echo;\
echo MANDIR=$(MANDIR);\
if test -n "$(MANDIR)"; then\
if test -d $(MANDIR); then\
echo "$(MANDIR) exists...";\
else\
echo "Creating $(MANDIR)...";\
mkdir $(MANDIR) || exit 1;\
chmod 755 $(MANDIR) || exit 1;\
fi;\
echo "Installing man page...";\
rm -f $(MANDIR)/kermit.$(MANEXT);\
cp ckuker.nr $(MANDIR)/kermit.$(MANEXT) || exit 1;\
chmod 644 $(MANDIR)/kermit.$(MANEXT) || exit 1;\
echo 'set flag=f\nPrC Removing man pages' >&3;\
echo "RmF $(MANDIR)/kermit.$(MANEXT)" >&3;\
echo 'EfM' >&3;\
echo;\
else\
echo "Not installing man page!\n";\
fi;\
echo CERTDIR=$(CERTDIR);\
if test -n "$(CERTDIR)"; then\
if test -f ca_certs.pem; then\
if test -d $(CERTDIR); then\
echo "$(CERTDIR) exists...";\
else\
echo "Creating $(CERTDIR)...";\
mkdir $(CERTDIR) || exit 1;\
chmod 755 $(CERTDIR) || exit 1;\
fi;\
echo "Installing certificates file...";\
cp ca_certs.pem $(CERTDIR) || exit 1;\
echo 'set flag=f' >&3;\
echo 'PrC Removing certificates file' >&3;\
echo "RmF $(CERTDIR)/ca_certs.pem" >&3;\
echo 'EfM' >&3;\
echo;\
fi;\
else\
echo "Not installing certificates file!\n";\
fi;\
echo SRCDIR=$(DESTDIR)$(SRCDIR);\
if test -n "$(SRCDIR)"; then\
echo "Installing source files...";\
if test -d $(DESTDIR)$(SRCDIR); then\
echo "$(DESTDIR)$(SRCDIR) exists...";\
else\
echo "Creating $(DESTDIR)$(SRCDIR)/...";\
mkdir $(DESTDIR)$(SRCDIR) || exit 1;\
chmod 755 $(DESTDIR)$(SRCDIR);\
fi;\
echo "Copying source files to $(DESTDIR)$(SRCDIR)...";\
echo 'set flag=f\nPrC Removing source files' >&3;\
for TextFile in COPYING.TXT ck[cuw_]*.[cwh] makefile; do\
cp $$TextFile $(DESTDIR)$(SRCDIR)/ && echo ".\c";\
echo "RmF $(DESTDIR)$(SRCDIR)/$$TextFile" >&3;\
done; echo;\
echo 'EfM' >&3;\
( cd $(DESTDIR)$(SRCDIR)/ &&\
ls -l COPYING.TXT ck[cuw_]*.[cwh] makefile );echo;\
else\
echo "Not installing source code!\n";\
fi;\
echo INFODIR=$(DESTDIR)$(INFODIR);\
if test -n "$(INFODIR)"; then\
echo "Installing info files...";\
if test -d $(DESTDIR)$(INFODIR); then\
echo "$(DESTDIR)$(INFODIR) exists...";\
else\
echo "Creating $(DESTDIR)$(INFODIR)/...";\
mkdir $(DESTDIR)$(INFODIR) || exit 1;\
chmod 755 $(DESTDIR)$(INFODIR);\
fi;\
echo "Copying text files to $(DESTDIR)$(INFODIR)...";\
echo 'set flag=f\nPrC Removing text files' >&3;\
FileCopyList='';\
for TextFile in $(TEXTFILES); do\
test -f $$TextFile || continue;\
cp $$TextFile $(DESTDIR)$(INFODIR) && echo ".\c" &&\
FileCopyList="$$FileCopyList $$TextFile";\
echo "RmF $(DESTDIR)$(INFODIR)/$$TextFile" >&3;\
done; echo;\
echo 'EfM' >&3;\
( cd $(DESTDIR)$(INFODIR)/ && chmod 644 $$FileCopyList );\
( cd $(DESTDIR)$(INFODIR)/ && pwd && ls -l $$FileCopyList );\
else\
echo "Not installing text files!\n";\
fi;\
echo "set flag=d\nPrN Removing empty dirs..." >&3;\
echo "RmD $(DESTDIR)$(BINDIR)" >&3;\
echo "RmD $(DESTDIR)$(SRCDIR)" >&3;\
echo "RmD $(DESTDIR)$(INFODIR)" >&3;\
echo "RmD $(CERTDIR)" >&3;\
echo "RmD $(MANDIR)" >&3;\
echo "RmD $(DESTDIR)" >&3;\
echo "EfM" >&3;\
echo "PrN C-Kermit version $(CKVER) is uninstalled!" >&3;\
echo C-Kermit version $(CKVER) installed!
# UN-Install C-Kermit after building
# Please to not remove the extra blanks before and after '{}' within the
# functions. You would get syntax errors for some older Bourne shells! Best is
# you don't change or remove anything.
#
uninstall:
@if test ! -f UNINSTALL; then\
echo "?C-Kermit UNINSTALL data file not found!";\
exit 1;\
fi; \
X=`grep '^CKVER='$(CKVER)'$$' ./UNINSTALL || :`;\
if test -z "$$X"; then\
echo "?UNINSTALL file is not for C-Kermit version $(CKVER)";\
exit 2;\
fi;\
PrN () { echo "$$*"; };\
PrC () { echo "$$* \c"; };\
RmF () { test -f "$$1" && rm -f "$$1" && echo ".\c" && flag=F ; };\
RmD () { \
dir=$$1;\
while test -d "$$dir"; do\
rmdir "$$dir" 2>&- || return && echo "$$dir" && flag=D;\
dir=`echo "$$dir" | sed 's!/[^/]*/*$$!!'`;\
done; \
};\
EfM () { \
case "$$flag" in\
f) echo "- Nothing to remove!";;\
d) echo "Nothing to remove!";;\
F) echo " done";;\
D) echo "done";;\
esac; \
};\
while read Act Args; do\
case $$Act in\
EfM) EfM;;\
RmD) RmD $$Args;;\
RmF) RmF $$Args;;\
PrN) PrN $$Args;;\
PrC) PrC $$Args;;\
set) eval $$Args;;\
esac;\
done < ./UNINSTALL
makewhat:
@echo 'make what? You must tell which platform to make C-Kermit for.'
@echo Examples: make linux, make hpux1100, make aix43, make solaris8.
@echo Please read the comments at the beginning of the makefile.
###########################################################################
#
# Dependencies Section:
# Normal version
wermit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
$(CC2) $(LNKFLAGS) -o wermit \
ckcmai.$(EXT) ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) ckucon.$(EXT) \
ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
ckusig.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
$(LIBS)
# Version with CONNECT module that uses select() instead of fork()
xermit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) ckuath.$(EXT) \
ck_crp.$(EXT) ck_ssl.$(EXT)
$(CC2) $(LNKFLAGS) -o wermit \
ckcmai.$(EXT) ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) ckucns.$(EXT) \
ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckusig.$(EXT) \
ckctel.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
ckuath.$(EXT) ck_crp.$(EXT) ck_ssl.$(EXT) $(LIBS)
# Malloc Debugging version
mermit: ckcmdb.$(EXT) ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) \
ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
ckcpro.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) \
ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
ckusig.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
$(CC2) $(LNKFLAGS) -o mermit ckcmdb.$(EXT) ckclib.$(EXT) ckcmai.$(EXT)\
ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
ckuusr.$(EXT) ckucon.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckcuni.$(EXT) \
ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
# Kerberized Version - Subject to USA export restrictions.
# NOTE: We don't use this any more -- As of 15 Feb 2003, the "xermit"
# target is used for both secure and regular version.
krbmit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
ckcftp.$(EXT) ck_ssl.$(EXT)
$(CC2) $(LNKFLAGS) -o krbmit ckcmai.$(EXT) ckclib.$(EXT) \
ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
ck_ssl.$(EXT) $(LIBS)
krbmit-debug: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) \
ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
ckcpro.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) \
ckuxla.$(EXT) ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
ckusig.$(EXT) ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) \
ckupty.$(EXT) ck_ssl.$(EXT) ckcmdb.$(EXT) ckcftp.$(EXT)
$(CC2) $(LNKFLAGS) -o krbmit ckcmdb.$(EXT) ckcmai.$(EXT) \
ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) \
ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) \
ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) \
ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) \
ckuusy.$(EXT) ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) \
ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
ckcftp.$(EXT) ck_ssl.$(EXT) $(LIBS)
# SRP(TM) Version - Subject to USA export restrictions.
srpmit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
ckcftp.$(EXT) ck_ssl.$(EXT)
$(CC2) $(LNKFLAGS) -o srpmit ckcmai.$(EXT) ckclib.$(EXT) \
ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ck_ssl.$(EXT) \
ckcftp.$(EXT) $(LIBS)
# Kerberized Version - Not subject to USA export restrictions.
krbmit-export: ckcmai.$(EXT) \
ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
ckuath.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
$(CC2) $(LNKFLAGS) -o krbmit-export ckcmai.$(EXT) ckclib.$(EXT) \
ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
# SRP(TM) Version - Not subject to USA export restrictions.
srpmit-export: ckcmai.$(EXT) \
ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
ckuath.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
$(CC2) $(LNKFLAGS) -o srpmit-export ckcmai.$(EXT) ckclib.$(EXT) \
ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
###########################################################################
# man page...
#
ckuker.nr:
@echo This target is obsolete.
@echo The ckuker.nr file no longer needs any preprocessing.
###########################################################################
# Dependencies for each module...
#
ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h ckcsig.h \
ckuusr.h ckctel.h ckclib.h
ckclib.$(EXT): ckclib.c ckclib.h ckcdeb.h ckcasc.h ckcsym.h
ckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckclib.h
ckcpro.c: ckcpro.w wart ckcdeb.h ckcsym.h ckcasc.h ckcker.h ckcnet.h ckctel.h \
ckclib.h
./wart ckcpro.w ckcpro.c
ckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckcuni.h \
ckuxla.h ckclib.h ckcnet.h
ckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
ckuxla.h ckctel.h ckclib.h ckcnet.h ckcuni.h
ckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
ckuxla.h ckclib.h ckcuni.h
ckuxla.$(EXT): ckuxla.c ckcker.h ckcsym.h ckcdeb.h ckcxla.h ckuxla.h ckclib.h \
ckcuni.h
ckcuni.$(EXT): ckcuni.c ckcdeb.h ckcker.h ckucmd.h ckcuni.h ckcxla.h ckuxla.h
ckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcsym.h ckcdeb.h ckcxla.h \
ckuxla.h ckcasc.h ckcnet.h ckctel.h ckclib.h ckcuni.h
ckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
ckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
ckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h ckcnet.h ckuver.h ckcsym.h ckctel.h ckclib.h ckcuni.h
ckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
ckcsym.h ckctel.h ckclib.h ckcxla.h ckuxla.h ckcuni.h
ckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
ckcsym.h ckctel.h ckclib.h
ckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
ckuusx.$(EXT): ckuusx.c ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcsym.h \
ckcsig.h ckcnet.h ckctel.h ckclib.h ckcxla.h ckuxla.h ckcuni.h
ckuusy.$(EXT): ckuusy.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
ckclib.h
ckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h ckcsym.h ckctel.h ckclib.h
ckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h ckcsym.h ckclib.h \
ckcxla.h ckuxla.h ckcuni.h
ckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h ckcsym.h ckctel.h ckclib.h
ckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
ckclib.h
ckucns.$(EXT): ckucns.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
ckclib.h ckcxla.h ckuxla.h ckcuni.h
ckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h ckcsym.h ckcsig.h ckctel.h \
ckclib.h
ckctel.$(EXT): ckcsym.h ckcdeb.h ckcker.h ckcnet.h ckctel.h ckclib.h
wart: ckwart.$(EXT)
$(CC) $(LNKFLAGS) -o wart ckwart.$(EXT) $(LIBS)
ckcmdb.$(EXT): ckcmdb.c ckcdeb.h ckcsym.h ckclib.h
ckwart.$(EXT): ckwart.c
ckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h ckcsym.h ckcsig.h \
ckcnet.h ckctel.h ckclib.h
ckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcsig.h \
ckcnet.h ckctel.h ckclib.h
ckusig.$(EXT): ckusig.c ckcasc.h ckcdeb.h ckcker.h ckcnet.h ckuusr.h \
ckcsig.h ckctel.h ckclib.h
ckcftp.$(EXT): ckcftp.c ckcdeb.h ckcasc.h ckcker.h ckucmd.h ckuusr.h \
ckcnet.h ckctel.h ckcxla.h ckuxla.h ckcuni.h
ckupty.$(EXT): ckupty.c ckupty.h ckcdeb.h
ckuath.$(EXT): ckuath.c ckcdeb.h ckucmd.h ckuath.h ckuat2.h ckctel.h \
ckclib.h ckcnet.h
ck_crp.$(EXT): ck_crp.c ckcdeb.h ckcnet.h ckuath.h ckclib.h
ck_ssl.$(EXT): ck_ssl.c ckcdeb.h ckucmd.h ckuath.h ckuat2.h ckctel.h \
ckclib.h ck_ssl.h
###########################################################################
#
# Entries to make C-Kermit for specific systems.
#
# Put the ones that need short makefiles first.
#Apollo Aegis 9.x. Includes TCP/IP support.
#You can also add processor-dependent optimization switches like -M570.
aegis:
@echo Making C-Kermit $(CKVER) for Apollo Aegis 9.x...
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DNOCSETS -DCK_CURSES -O $(KFLAGS)" \
"LIBS = -lcurses -ltermcap"
#Apple Mac II, A/UX pre-3.0
#Warning, if "send *" doesn't work, try the auxufs makefile entry below.
aux:
@echo Making C-Kermit $(CKVER) for Macintosh A/UX...
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS = -DAUX -DTCPSOCKET $(KFLAGS) -i -O" "LNKFLAGS = -i"
#Apple Mac II, A/UX pre-3.0, compiled with gcc
auxgcc:
@echo Making C-Kermit $(CKVER) for Macintosh A/UX...
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS = -DAUX -DTCPSOCKET -traditional $(KFLAGS) -i -O" \
"LNKFLAGS = " "CC = gcc" "CC2 = gcc"
#Apple Mac II, A/UX, pre-3.0, but with ufs file volumes, uses <dirent.h>.
auxufs:
@echo Making C-Kermit $(CKVER) for Macintosh A/UX...
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS = -DAUX -DTCPSOCKET -DDIRENT $(KFLAGS) -i -O" "LNKFLAGS = -i"
#Apple Mac II, A/UX 3.0, compiled with gcc
aux3gcc:
@echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS = -DAUX -DHDBUUCP -DLFDEVNO -DTCPSOCKET -DDIRENT $(KFLAGS)" \
"LNKFLAGS = -s" "LIBS = $(LIBS)" \
"CC=gcc -pipe -traditional" "CC2=gcc -pipe -traditional"
#Apple Mac II, A/UX 3.0, compiled with gcc, uses curses
aux3cgcc:
@echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) aux3gcc \
KTARGET=$${KTARGET:-$(@)} \
"KFLAGS=$(KFLAGS) -DCK_CURSES" "LIBS = -lcurses $(LIBS)"
# Tenon MachTen, tested on Apple Powerbook with MachTen 2.1.1.D.
# NOTE: This doesn't do anything about UUCP. It only works if /usr/spool/uucp
# has permission of 777, and dialout device is world read/writeable.
machten:
@echo Making C-Kermit $(CKVER) for MachTen...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD43 -DTCPSOCKET -DSIG_V -DNDGPWNAM -DCK_CURSES -O \
$(KFLAGS)" "LIBS=-lcurses -ltermcap"
#Bell Labs Research UNIX V10
#Can't add TCP/IP because there is no sockets library. It would have to
#be done using streams, but there is no code in C-Kermit for that.
#Remove -DNOJC if desired (if your system has csh, ksh, or bash).
bellv10:
@echo Making C-Kermit $(CKVER) for Bell Labs Research UNIX V10...
$(MAKE) wermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBELLV10 -DBSD4 -DNDIR -DNOJC -DNOSYSIOCTLH -DNOSETREU \
-DNOCSETS -MINIDIAL $(KFLAGS)"
# WARNING: The early BSD entries do not build in version 7.0 with the stock
# BSD compiler: "Too many defines". Unless you can rebuild cpp to have more
# space for defines, these builds must be accomplished by:
# copying the /usr/include tree to someplace else, preprocessing there with cc
# -E -I./include or whatever (plus all the same -D's, adding any necessary
# -U/-D to override the architecture)), renaming the the resulting files back
# to their original names, bringing them back to the original BSD system, and
# running the make target there. This technique was used for 4.2 and 4.3 BSD
# on a VAX in C-Kermit 7.0 (later, cpp on that machine was rebuilt to allow
# more symbols, so the C-Kermit 8.0 build proceeds normally).
#Berkeley Unix 4.1
bsd41:
@echo Making C-Kermit $(CKVER) for 4.1BSD...
$(MAKE) wermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD41" "LIBS = -ljobs"
#Berkeley 4.2, 4.3, also Ultrix-32 1.x, 2.x, 3.x, many others
# Add -O, -s, etc, if they work.
# If you have a version of BSD but signal() is void rather than int,
# "make bsd KFLAGS=-DSIG_V".
bsd42:
@echo Making C-Kermit $(CKVER) for 4.2BSD...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
-DCK_CURSES -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK -DBSD42HACK \
$(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
bsd:
$(MAKE) CC=$(CC) CC2=$(CC2) bsd42 KTARGET=$${KTARGET-$(@)}
#Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP
bsdhdb:
@echo Making C-Kermit $(CKVER) for 4.2BSD with HDB UUCP...
$(MAKE) CC=$(CC) CC2=$(CC2) bsd KTARGET=$${KTARGET-$(@)} \
"KFLAGS= -DHDBUUCP $(KFLAGS)"
#Berkeley Unix 4.3 with acucntrl program, curses, TCP/IP included.
bsd43:
@echo Making C-Kermit $(CKVER) for 4.3BSD...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
-DCK_CURSES -DACUCNTRL -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK \
-DBSD42HACK $(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
#4.3BSD, curses excluded
bsd43nc:
@echo Making C-Kermit $(CKVER) for 4.3BSD...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH \
-DACUCNTRL -DSYSTIMEBH -DNOIKSD -DNOPUTENV -DNOANSI -DBIGBUFOK \
-DBSD42HACK $(KFLAGS)" "LIBS=$(LIBS)"
#4.3BSD, TCP/IP excluded.
bsd43nonet:
@echo Making C-Kermit $(CKVER) for 4.3BSD + curses...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
-DCK_CURSES -DACUCNTRL -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK \
-DBSD42HACK -DNONET $(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
#Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
#but without acucntrl program
bsdlck:
@echo Making C-Kermit $(CKVER) for 4.2BSD, /usr/spool/uucp/LCK/...
$(MAKE) CC=$(CC) CC2=$(CC2) bsd KTARGET=$${KTARGET-$(@)} \
"KFLAGS= -DLCKDIR $(KFLAGS)"
#Berkeley UNIX 4.4-Lite, 4.4-Encumbered, Net/2, etc (Post-Reno),
#with TCP/IP networking. This was the basis for FreeBSD, NetBSD, OpenBSD,
#BSDI, BSD/OS, and Mac OS X (each of which has its own set of targets that
#are newer than this one).
#
#NOTE: This is not a pure POSIX configuration. Using -DPOSIX instead of
# -DBSD44 prevents any kind of directory-reading (for wildcard expansion),
#and disallows use of ENOTCONN symbol for detecting broken network
#connections, and disallows RTS/CTS flow control, and would also require
#definition of the appropriate UUCP lockfile convention.
#Do not add -DCK_POSIX_SIG without reading <signal.h> first! For example,
#sigsetjmp(), etc, tend to be defined but not implemented.
#
#NOTE: originally crypt was in libc - later it was unbundled.
#Remove the LIBS clause to build on an early 4.4BSD platform.
#
bsd44:
@echo Making C-Kermit $(CKVER) for 4.4BSD...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DTCPSOCKET $(KFLAGS) -O" "LIBS=-lcrypt"
#Berkeley UNIX 4.4, as above, but with curses for fullscreen display
#Please read notes for bsd44 entry just above.
# NOTE: This one dumped core on the real 4.4BSD development system at
# UC Berkeley (an HP-9000/300), so the no-curses version was used
# for that one, which was unplugged years ago.
bsd44c:
@echo Making C-Kermit $(CKVER) for 4.4BSD with curses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET $(KFLAGS) -O" \
"LIBS= -lcurses -ltermcap -lcrypt $(LIBS)"
#For FreeBSD 1.x.
freebsd1:
@echo 'Making C-Kermit $(CKVER) for FreeBSD...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -funsigned-char \
-DFNFLOAT -DNOHTERMCAP -DNOREALPATH -DNOSYSCONF $(KFLAGS) -O -pipe" \
"LIBS= -lcurses -ltermcap -lm $(LIBS)"
#FreeBSD 2.x with ncurses
freebsd2:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 2.x with ncurses...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -DUSE_STRERROR \
-DTPUTSARGTYPE=int -DTPUTSARG1CONST -DFREEBSD2 -funsigned-char \
-DFNFLOAT $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -ltermlib -lcrypt -lm $(LIBS)"
#For FreeBSD 2.x -- Uses curses rather than ncurses
freebsd2c:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 2.x with curses...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DUSE_STRERROR \
-DTPUTSARGTYPE=int -DTPUTSARG1CONST -DFREEBSD2 -DFNFLOAT \
-funsigned-char $(KFLAGS) -O -pipe" \
"LIBS= -lcurses -ltermlib -lcrypt -lm $(LIBS)"
#FreeBSD 3.x with ncurses and uu_lock()
#(Note: uu_lock() goes back to 2.2.2, but not necessarily 2.0)
freebsd3:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 3.x with ncurses...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -funsigned-char \
-DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD3 -DUSE_UU_LOCK -DFNFLOAT \
$(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#As above but with curses rather than ncurses.
freebsd3c:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 3.x with curses...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DUSE_UU_LOCK \
-DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD3 $(KFLAGS) -DFNFLOAT \
-funsigned-char -pipe -O" \
"LIBS= -lcurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.0 with ncurses and uu_lock(). Note - there is no curses in 4.0.
#ncurses 5.0 is broken requiring us to work around with setbuf().
freebsd4:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.x with ncurses...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -DFNFLOAT \
-funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD4 \
-DNONOSETBUF -DUSE_UU_LOCK $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.1, as above but without the NONOSETBUF hack and with CK_NEWTERM.
#This works with ncurses 5.1.
freebsd41:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.1 with ncurses...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DFREEBSD41 -DUSE_UU_LOCK -DFNFLOAT \
-funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#Default FreeBSD make for C-Kermit 8.0...
freebsd:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
KTARGET=$${KTARGET-$(@)} freebsd45
#FreeBSD 4.2, like 4.1.
freebsd42:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.2...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DFREEBSD41 -DFREEBSD42 -DUSE_UU_LOCK -DFNFLOAT \
-funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.3, like 4.2.
freebsd43:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.3...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DUSE_UU_LOCK \
-DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR $(KFLAGS) \
-O -pipe" "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.4, like 4.3.
freebsd44:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.4...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 \
-DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.5, like 4.3 and 4.4.
freebsd45:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.5...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
-DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.6, like 4.5
freebsd46:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.6...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
-DFREEBSD46 -DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.7, like 4.6
freebsd47:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.7...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
-DFREEBSD46 -DFREEBSD47 -DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.8, like 4.7
freebsd48:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.7...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
-DFREEBSD46 -DFREEBSD47 -DFREEBSD48 \
-DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 4.9
freebsd49:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.7...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
-DFREEBSD46 -DFREEBSD47 -DFREEBSD48 -DFREEBSD49 \
-DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 5.0, like 4.6
freebsd50:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 5.0 with ncurses...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
-DFREEBSD46 -DFREEBSD50 -DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#FreeBSD 5.1
freebsd51:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 5.0 with ncurses...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
-DFREEBSD46 -DFREEBSD50 -DFREEBSD51 \
-DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
#Secure builds for FreeBSD... gcc required.
freebsd44+srp+openssl:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 4.3 with SRP,SSL...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DFREEBSD4 -DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 \
-DCK_AUTHENTICATION -DCK_SRP \
-DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
-DCK_CURSES -DTCPSOCKET \
$(SRPINC) $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
"LIBS = $(SRPLIB) $(SSLLIB) \
-lncurses -ltermcap -lsrp -lssl -lkrypto -lcrypto \
-lcrypt "
# The following fragmentary FreeBSD+SLL target was suggested, but it's not
# clear which version of FreeBSD it applies to.
#
# ALL_TARGET= xermit
# MAKE_ARGS= KTARGET=freebsd \
# CFLAGS="${CFLAGS} -DBSD44 -DCK_NCURSES -DCK_NEWTERM \
# -DTCPSOCKET -DNOCOTFMC -DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT \
# -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR -DCKHTTP \
# -DCK_SSL -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_DES" \
# LIBS="-lssl -lcrypto -ldes -lncurses -lcrypt -lutil -lm"
#FreeBSD 5.0 with OpenSSL 0.9.7.
freebsd50+openssl:
@echo 'Making C-Kermit $(CKVER) for FreeBSD 5.0, ncurses, openssl'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
-DCK_AUTHENTICATION -DCK_SSL $(SSLINC) -DZLIB \
-DFREEBSD4 -DUSE_UU_LOCK -DFNFLOAT -funsigned-char -DTPUTSARGTYPE=int \
-DFREEBSD41 -DFREEBSD42 -DFREEBSD43 -DFREEBSD44 -DFREEBSD45 \
-DFREEBSD46 -DFREEBSD50 -DUSE_STRERROR $(KFLAGS) -O -pipe" \
"LIBS= -lncurses -lcrypt -lssl -lcrypto -lutil -lm $(SSLLIB) $(LIBS)"
#NetBSD - all versions - with curses, not ncurses.
#Some builds seem to need KFLAGS=-DTPUTSFNTYPE=int, others don't.
#(Only to get rid of a warning -- the binaries are identical.)
netbsd:
@echo Making C-Kermit $(CKVER) for NetBSD with curses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR -DTPUTSISVOID \
-DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int -DFNFLOAT $(KFLAGS) -O" \
"LIBS= -lcurses -lcrypt -lm $(LIBS)"
#NetBSD 1.5.x in which the return type of the function pointer that is the
#third argument of tputs() was changed from void to int... The regular NetBSD
#target builds OK here but this one eliminates the (harmless) warning.
netbsd15:
@echo Making C-Kermit $(CKVER) for NetBSD with curses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR -DNETBSD15 \
-DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int -DFNFLOAT $(KFLAGS) -O" \
"LIBS= -lcurses -lcrypt -lm $(LIBS)"
#NetBSD 1.6 - like 1.5.x but with vanity banner saying 1.6.
netbsd16:
@echo Making C-Kermit $(CKVER) for NetBSD with curses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR \
-DNETBSD15 -DNETBSD16 \
-DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int -DFNFLOAT $(KFLAGS) -O" \
"LIBS= -lcurses -lcrypt -lm $(LIBS)"
#NetBSD with ncurses requested explicitly rather than curses-which-is-ncurses
netbsdn:
@echo Making C-Kermit $(CKVER) for NetBSD with ncurses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DCK_DTRCD \
-DCK_DTRCTS -DFNFLOAT -DUSE_STRERROR -DTPUTSISVOID -DTPUTSARGTYPE=int \
$(KFLAGS) -O" \
"LIBS= -L/usr/pkg/lib -lncurses -lcrypt -lm $(LIBS)"
#OpenBSD - All versions.
#Uses ncurses as its curses so use -ltermlib, not -ltermcap
#But it doesn't use uu_lock() which was introduced in OpenBSD 2.3.
#For that use the next entry.
#Add -DMAINTYPE=int if you get complaints about main: return type is not int.
openbsdold:
@echo Making C-Kermit $(CKVER) for OpenBSD...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
-DFNFLOAT -DNDSYSERRLIST $(KFLAGS) -O" "LIBS= -lcurses -ltermlib -lm"
#OpenBSD 2.3 or later
#Add -DMAINTYPE=int if you get complaints about main: return type is not int.
#For C-Kermit 8.0 (Christian Weisgerber):
# -ltermlib removed (presumably because -lcurses==ncurses already includes it)
# -DUSE_UU_LOCK and -lutil added for uu_lock()
# -DNDSYSERRLIST changed to -DUSE_STRERROR
#If this gives you trouble use the previous entry.
openbsd:
@echo Making C-Kermit $(CKVER) for OpenBSD 2.3 or later...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
-DUSE_UU_LOCK -DFNFLOAT -DUSE_STRERROR $(KFLAGS) -O" \
"LIBS= -lcurses -lutil -lm"
#OpenBSD 3.0 or later includes OpenSSL
#Add -DMAINTYPE=int if you get complaints about main: return type is not int.
#For C-Kermit 8.0 (Christian Weisgerber):
# -ltermlib removed (presumably because -lcurses==ncurses already includes it)
# -DUSE_UU_LOCK and -lutil added for uu_lock()
# -DNDSYSERRLIST changed to -DUSE_STRERROR
#If this gives you trouble use the previous entry.
openbsd30+ssl:
@echo Making C-Kermit $(CKVER) for OpenBSD 3.0 or later...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
-DUSE_UU_LOCK -DFNFLOAT -DUSE_STRERROR -DCK_AUTHENTICATION \
-DCK_SSL $(KFLAGS) -O" \
"LIBS= -lcurses -lutil -lm -lssl -lcrypto"
# make 386bsd 0.0new, posix
# for 386bsd 0.1.24, change /usr/include/termios.h to #define NCCS if
# _POSIX_SOURCE is #defined. (source: lewine, posix prgmrs guide, o`reilly)
#NOTE: Lock directory is /var/spool/lock. Formerly, it was /var/spool/uucp,
#but reportedly <wjones@halcyon.com> that was due to a typo in 'man tip'.
386bsd:
@echo 'Making C-Kermit $(CKVER) for jolix 386BSD 0.0new and 0.1.24...'
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DSETREUID -DPIDSTRING -DUSLEEP \
-D_386BSD -DCK_CURSES -DTCPSOCKET \
-DLOCK_DIR=\\\"/var/spool/lock\\\" \
$(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
#Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP but no curses.
macosx10:
@echo Making C-Kermit $(CKVER) for `uname -s`...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DMACOSX10 -DTCPSOCKET -DUSE_STRERROR -O $(KFLAGS)"
#Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP and curses.
#Note: curses must be obtained separately. See next entry for ncurses.
#Add "LIBS = -lcurses -ltermcap" if necessary (but reportedly it is not).
macosx10c:
@echo Making C-Kermit $(CKVER) for `uname -s` + curses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DMACOSX10 -DCK_CURSES -DTPUTSFNTYPE=void -DTPUTSISVOID \
-DTCPSOCKET -DUSE_STRERROR -O $(KFLAGS)"
#Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP and ncurses.
#Note: ncurses must be obtained separately.
#In the event of trouble with this one try the next one.
macosx10nc:
@echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR -O \
$(KFLAGS)" "LIBS= -lncurses $(LIBS)"
#Mac OS X 10.2 (Jaguar) ncurses.
macosx102nc:
@echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR -O \
$(KFLAGS) " "LIBS= -lncurses $(LIBS)"
#The problem here is that if curses.h also exists, it conflicts with
#ncurses.h and and we have fatal errors. If this happens to you, then
#try this entry.
macosx10ncx:
@echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
@rm -f ./curses.h; touch ./curses.h
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR \
-I. -O $(KFLAGS) " \
"LIBS= -lncurses $(LIBS)"
@rm -f ./curses.h
#Mac OS X 10.3 (Panther) - Assumes ncurses is installed.
macosx103:
@echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
$(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DMACOSX10 -DMACOSX103 -DCK_NCURSES -DTCPSOCKET \
-DUSE_STRERROR -DUSE_NAMESER_COMPAT -O \
$(KFLAGS) " "LIBS= -lncurses -lresolv $(LIBS)"
macosx103nc:
$(MAKE) MAKE=$(MAKE) CC=$(CC) CC2=$(CC2) macosx103
#Acorn RISCiX, based on ...
#Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
#but without acucntrl program
riscix:
@echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
-DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
-DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
-DDFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL \
-DNOANSI -w -O2 -fomit-frame-pointer" \
"LIBS= -lcurses -ltermcap " \
"CC= /usr/ucb/cc" \
"CC2= /usr/ucb/cc"
#Acorn RISCiX, as above, but using gcc
riscix-gcc:
@echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
-DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
-DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
-DDFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL \
-DNOANSI -w -O2 -fomit-frame-pointer" \
"LIBS= -lcurses -ltermcap " \
"CC= gcc -mbsd" \
"CC2= gcc -mbsd"
#Convergent CTIX 6.4.1
ctix:
@echo 'Making C-Kermit $(CKVER) for Convergent CTIX 6.4.1'
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DSVR3 -DDIRENT -DTCPSOCKET -DHDBUUCP -DCK_CURSES \
-DNONAWS -DNOLEARN $(KFLAGS) -XO" \
"LNKFLAGS=-s" "LIBS=-lsocket -lcurses -lc_s"
mcs -d wermit
# The following makefile entry should work for any Harris Night Hawk system
# (either 88k or 68k based) running release 6.1 or later of the CX/UX
# operating system. This is a POSIX and ANSI-C compliant system which also
# supports BSD networking. (Earlier CX/UX releases will probably work with
# sys5r3, but this has not been verified).
#
cx_ux:
@echo Making C-Kermit $(CKVER) for Harris Night Hawk CX/UX 6.1 or later
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS=-DPOSIX -DTCPSOCKET -DHDBUUCP -DPID_T=pid_t -DWAIT_T=int \
-Dd_ino=d_fileno -DUID_T=uid_t -DGID_T=gid_t $(KFLAGS) -Xa \
-O3 -g" "LNKFLAGS=-O3"
#Intergraph Clipper, CLIX, job control, HDB UUCP.
clix:
@echo 'Making C-Kermit $(CKVER) for Intergraph CLIX...'
$(MAKE) wermit "CC=acc" "CC2=acc" KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -w -DSVR3 -DCLIX -DDIRENT -DHDBUUCP -DNOSYSLOG -DUSE_MEMCPY \
-DNOGETUSERSHELL -DNOREALPATH -DNOLEARN $(KFLAGS) -O" \
"LNKFLAGS=" "LIBS= -lbsd"
#As above + TCP/IP...
clixnet:
@echo 'Making networked C-Kermit $(CKVER) for Intergraph CLIX...'
$(MAKE) wermit "CC=acc" "CC2=acc" KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -w -DSVR3 -DCLIX -DDIRENT -DHDBUUCP -DNOSYSLOG -DUSE_MEMCPY \
-DTCPSOCKET -DNOGETUSERSHELL -DNOLEARN -DNOREALPATH $(KFLAGS) -O" \
"LNKFLAGS=" "LIBS= -lbsd"
#Mark Williams Coherent 286 or 386 on IBM PC family.
#There is a 64K limit on program size, so this is a command-line only version.
coherent:
$(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DNOICP -DNOSETKEY -DNOLEARN \
-DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG -DNOXMIT \
-DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DSELECT_H $(KFLAGS) -VSUVAR" \
-DNOFLOAT KTARGET=$${KTARGET:-$(@)} wermit
#Mark Williams Coherent 386 on IBM PC family.
#This will make a "minimum interactive" version - no scripts,
#no character sets, no help, no dial, no debug/transaction logging, no
#transmit, msend, mail, type, etc.
coherentmi:
$(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DNOSETKEY -DNOLEARN \
-DNOSHOW -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG \
-DNOXMIT -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DNOSERVER -DNOUUCP \
-DNOSPL -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ -DNOFLOAT \
-DNOCMDL $(KFLAGS) -VSUVAR -DSELECT_H" KTARGET=$${KTARGET:-$(@)} \
wermit
#Mark Williams Coherent 386 on IBM PC/AT family.
coherentmax:
$(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DSELECT_H -DNOLEARN \
-DNOFLOAT -DNOSYSIOCTLH $(KFLAGS) -VSUVAR" "LNKFLAGS = -O -s" \
KTARGET=$${KTARGET:-$(@)} wermit
#Mark Williams Coherent 386 4.2. Includes curses but not TCP/IP.
#Requires updates to the 4.2.10 compiler; the regular compiler fails to
#to handle "complex expressions". NOFLOAT is so it can work on old PCs
#without floating-point hardware.
coherent42:
$(MAKE) "CFLAGS = -T500000 -DNOFLOAT -DCOHERENT -DNOANSI -DSELECT \
-DNOSYSLOG -DDIRENT -DCK_CURSES -DCK_NEWTERM -DCK_WREFRESH -VSUVAR \
-DDCLGETCWD -DNOSYSIOCTLH -DNOINITGROUPS -DNOSYMLINK -DSELECT_H \
-DDCLGETCWD -O $(KFLAGS)" \
"LNKFLAGS = -O -s" KTARGET=$${KTARGET:-$(@)} \
"LIBS = -lsocket -lcurses" wermit
#DEC Ultrix 2.x
# Add -O, -DDYNAMIC, -s, etc, if they work.
ultrix2x:
@echo Making C-Kermit $(CKVER) for Ultrix 2.x ...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DDU2 -DNOGETUSERSHELL $(KFLAGS)"
du2:
$(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix2x
#DEC Ultrix 3.0 and 3.1
ultrix30:
@echo Making C-Kermit $(CKVER) for Ultrix 3.0...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DDIRENT -DSIG_V -DNOGETUSERSHELL \
-DULTRIX3 -DCK_CURSES $(KFLAGS) -O" "LIBS= -lcurses -ltermcap"
du3:
$(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix30
ultrix3x:
$(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix30
#DEC Ultrix 4.0 or 4.1 on DECstation, VAXstation, VAX, etc.
ultrix40:
@echo Making C-Kermit $(CKVER) for Ultrix 4.0 or 4.1...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDU4 -DNOGETUSERSHELL \
$(KFLAGS) -Olimit 1450" "LNKFLAGS = -s"
#DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
#Like ultrix40, except now C compiler supports -O2 optimization.
ultrix42:
@echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL $(KFLAGS) \
-O2 -Olimit 1750" "LNKFLAGS = -s"
du42:
$(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix42
#DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
#Like du42, but with curses support added and a couple features.
ultrix42c:
@echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
-DCK_CURSES -DNOIKSD $(KFLAGS)-G6 -O2 -Olimit 3000 " \
"LNKFLAGS = -s" "LIBS= -lcurses -ltermcap"
ultrix43:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
"KFLAGS=-DULTRIX43 $(KFLAGS)" KTARGET=$${KTARGET-$(@)} ultrix42c
ultrix43notcp:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
"KFLAGS=-DULTRIX43 -DNONET $(KFLAGS)" \
KTARGET=$${KTARGET-$(@)} ultrix42c
# NOTE: need -DNODEBUG on MIPS to avoid relocation errors at link time.
# Actually now (8.0) that we have discovered the -G option maybe debugging
# can be put back.
ultrix44:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
"KFLAGS=-DULTRIX44 -G7 -DNODEBUG -DNETPTY -DNO_DEVTTY $(KFLAGS)" \
KTARGET=$${KTARGET-$(@)} ultrix42c
ultrix45:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
"KFLAGS=-DULTRIX45 $(KFLAGS)-DNETPTY -DNO_DEVTTY $(KFLAGS)" \
KTARGET=$${KTARGET-$(@)} ultrix42c
du42c:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
KTARGET=$${KTARGET-$(@)} ultrix42c
#DEC Ultrix 4.3A or later on DECsystem and DECstation 5000/50, /150 or /260
#with MIPS R4x00 processor. The "-mips3" switch generates R4000-specific
#code, which is faster and more compact, but *won't* run on earlier
#DECsystems and DECstations.
ultrix43-mips3:
@echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
$(KFLAGS) -O2 -Olimit 1750 -mips3" "LNKFLAGS = -s -mips3"
du43-mips3:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) ultrix43-mips3
#DEC Ultrix 4.3A or later on MIPS R4x000 based systems.
#Like ultrix43-mips3 but with curses support added
ultrix43c-mips3:
@echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL -DCK_CURSES \
$(KFLAGS) -O2 -Olimit 3000 -mips3" "LNKFLAGS = -s -mips3" \
"LIBS= -lcurses -ltermcap"
du43c-mips3:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
KTARGET=$${KTARGET-$(@)} ultrix43c-mips3
#DEC Ultrix 4.4 on DECstation 5000/50 or /150 with R4000 MIPS processor,
#or 5000/260 with R4400. The "-mips3" switch generates R4000-specific code,
#which is faster and more compact but *won't* run on earlier DECstations.
ultrix44-mips3:
@echo Making C-Kermit $(CKVER) for Ultrix 4.4, R4000 cpu ...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
$(KFLAGS) -O2 -Olimit 1450 -mips3" "LNKFLAGS = -s -mips3"
du44-mips3:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
KTARGET=$${KTARGET-$(@)} ultrix44c-mips3
#DEC Ultrix 4.2 on DECstation, VAXstation, VAX, etc, System V R4 environment
ultrix42s5r4:
@echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4 on Ultrix...'
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS = -O2 -Olimit 1500 -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
-DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
#OSF/1
osf:
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
-DCK_CURSES -DCK_RTSCTS -DFNFLOAT $(KFLAGS)" \
"LNKFLAGS = -s" "LIBS = -lbsd -lcurses -ltermcap -lm"
#DEC OSF/1 V1.0-1.3 on DECstation, VAX, Alpha, or PC.
dec-osf:
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD4 -DOSF -DOSF13 -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
-DNOREALPATH -DNOIKSD -DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DNODEBUG \
-DNOUNICODE $(KFLAGS)" \
"LNKFLAGS = -non_shared" "LIBS = -lbsd -lcurses -ltermcap -lm"
# This one causes "relocation out-of-range" errors in the linker.
old-dec-osf:
@echo Making C-Kermit $(CKVER) for DEC OSF/1 V1.x...
@echo If you are building for DEC OSF/1 2.0, please use dec-osf20.
@echo Remove or adjust -O2 and/or -Olimit if they cause trouble.
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -O2 -Olimit 2400 $(KFLAGS)"
#DEC OSF/1 2.0 on Alpha and probably nowhere else.
#The only difference from OSF/1 is that optimization is omitted.
#The optimized version gets strange runtime errors, like the PAUSE command
#not working. Add "-unsigned" to make all chars unsigned.
dec-osf20:
@echo Making C-Kermit $(CKVER) for DEC OSF/1 V2.0...
@echo Optimization omitted because it causes runtime errors.
@echo See comments in makefile.
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DOSF20 $(KFLAGS)"
dec-osf30:
@echo Making C-Kermit $(CKVER) for DEC OSF/1 V3.0...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DOSF30 -O2 -Olimit 2400 $(KFLAGS)"
#Digital UNIX 3.2
# Must compile ckuus[6x].c separately without optimization otherwise
# the optimizer dumps core - keep CFLAGS here in sync with those from osf.
du32:
@echo Making C-Kermit $(CKVER) for Digital UNIX 3.2...
$(MAKE) CC=$(CC) CC2=$(CC2) ckuus6.$(EXT) \
"CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
-DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DOSF32 -DHDBUUCP $(KFLAGS)"
$(MAKE) CC=$(CC) CC2=$(CC2) ckuusx.$(EXT) \
"CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
-DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DOSF32 -DHDBUUCP $(KFLAGS)"
$(MAKE) CC=$(CC) CC2=$(CC2) osf \
"KFLAGS= -DOSF32 -DHDBUUCP -O2 -Olimit 3200 $(KFLAGS)"
dec-osf32:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) du32 \
KTARGET=$${KTARGET:-$(@)}
#Digital UNIX 4.0 through 4.0D (use tru64 targets for 4.0E and above)...
du40:
@echo Making C-Kermit $(CKVER) for Digital UNIX 4.0...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DOSF40 -DHDBUUCP -DFNFLOAT \
-unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
du40gcc:
@echo Making C-Kermit $(CKVER) for Digital UNIX 4.0 with gcc ...
$(MAKE) osf CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DOSF40 -DHDBUUCP $(KFLAGS)"
#Tru64 Unix 4.0E
tru64-40e:
@echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0E...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DOSF40 -DOSF40E -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
-unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
tru64-40f:
@echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0F...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DOSF40 -DOSF40F -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
-unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
tru64-40g:
@echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0G...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DOSF40 -DOSF40G -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
-unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
tru64-50a:
@echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.0A...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DTRU64 -DOSF50 -DHDBUUCP \
-unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
tru64-51a:
@echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.1A...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DTRU64 -DOSF50 -DOSF51A -DHDBUUCP \
-unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
tru64-51b:
@echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.1A...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DTRU64 -DOSF50 -DOSF51A -DOSF51B -DHDBUUCP \
-unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
du50:
$(MAKE) CC=$(CC) CC2=$(CC2) tru64-50a KTARGET=$${KTARGET:-$(@)}
du40-ridiculous-checking:
@echo Making C-Kermit $(CKVER) for Digital UNIX 4.0.
@echo Checking everything - assumes DECC...
$(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
"KFLAGS= -DOSF40 -DHDBUUCP -w0 -warnprotos -check -portable \
-unsigned -std1 -O3 -Olimit 1760 $(KFLAGS)"
#Sequent DYNIX/ptx 1.2.1
dynixptx12:
@echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.2.1...
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DPTX -DNOGETUSERSHELL -DNOLEARN \
-DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t $(KFLAGS) -i -O" \
"LNKFLAGS = -i"
#Sequent DYNIX/ptx 1.3 or 1.4
dynixptx13:
@echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.3 TCP/IP...
$(MAKE) xermit "CFLAGS= -O KTARGET=$${KTARGET:-$(@)} \
-DSVR3 -DDIRENT -DHDBUUCP -DPTX -DCK_POLL -DNOGETUSERSHELL \
-DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DTCPSOCKET $(KFLAGS) -i" \
"LNKFLAGS = -i" "LIBS = -lsocket -linet -lnsl"
#Sequent DYNIX/ptx 2.0, ANSI C compilation
#Should work on any hardware platform when DYNIX/ptx runs, including
#386, 486, Pentium.
dynixptx20:
@echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET \
-DWAIT_T=int -DPTX -DNOGETUSERSHELL $(KFLAGS) -O" \
"LIBS = -lsocket -linet -lnsl"
#Sequent DYNIX/ptx 2.0, ANSI C compilation, with curses
dynixptx20c:
@echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET -DWAIT_T=int -DPTX -DCK_CURSES \
-DCK_NEWTERM -DNOGETUSERSHELL $(KFLAGS) -O" \
"LIBS = -lsocket -linet -lnsl -lcurses -ltermcap"
#Sequent DYNIX/ptx 2.1.6, 80486, ANSI C compilation, with curses:
# -Xa -- use ANSI compiler.
# -Wc,-pw -- suppress portability warnings.
# -Wc,-i386 -- 80386 cpu.
# -Wc,-i486 -- 80486 cpu.
# -Wc,-P5 -- Pentium (default).
# -Wc,-O3 -- highest optimization.
# -Wa,-N17061 -- increase symbol table from default of 15013 for ckcuni.c.
# Early versions of DYNIX/ptx 2.1.x may need -DCK_POLL instead of -DSELECT.
# Add "$&" after the colon in the "xermit" target for parallel makes.
dynixptx216c:
@echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.1.6'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
-DSELECT -DCK_REDIR -DCK_NAWS -DCK_WREFRESH -DSW_ACC_ID \
-DTCP_NODELAY=1 -DTRMBUFL=2048 -DBIGBUFOK -DHADDRLIST \
-DPTX -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL -DNOREALPATH \
$(KFLAGS) -Xa -Wc,-pw -Wc,-i486 -Wc,-O3 -Wa,-N17061" \
"LIBS = -lXbsd -lseq -lsocket -linet -lnsl -lmalloc -lm -lcurses" \
"LNKFLAGS = -s"
#Sequent DYNIX/ptx 2.1.6, gcc 2.7.2.2, with curses:
dynixptx216cgcc:
@echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.1.6 gcc'
$(MAKE) xermit "CC = gcc" "CC2 = gcc" KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
-DSELECT -DCK_REDIR -DCK_NAWS -DCK_WREFRESH -DSW_ACC_ID \
-DTCP_NODELAY=1 -DTRMBUFL=2048 -DBIGBUFOK -DHADDRLIST \
-DPTX -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL -DNOREALPATH \
$(KFLAGS) -O3 -pipe -funsigned-char" \
"LIBS = -lXbsd -lseq -lsocket -linet -lnsl -lmalloc -lm -lcurses" \
"LNKFLAGS = -s"
#Sequent DYNIX/ptx 4.0, ANSI C compilation, with curses
dynixptx41c:
@echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.0...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET \
-DWAIT_T=int -DPTX -DPTX4 -DCK_CURSES -DCK_NEWTERM \
-DNOGETUSERSHELL $(KFLAGS) -O" \
"LIBS = -lsocket -lnsl -lcurses -ltermcap"
#Sequent DYNIX/ptx 4.4, ANSI C compilation, with curses
dynixptx44:
@echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.4...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPTX -DPTX4 -DPOSIX -DHDBUUCP -DTCPSOCKET -DWAIT_T=int \
-DCK_CURSES -DCK_NEWTERM -DBIGBUFOK -DSELECT -DNOGETUSERSHELL \
$(KFLAGS) -O" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
#Sequent DYNIX 3.0.x
dynix3:
@echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -O \
-DPWUID_T=int -DGID_T=int $(KFLAGS)"
#Sequent DYNIX 3.0.x, no ACUCNTRL
dynix3noacu:
@echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD43 -DLCKDIR -DTCPSOCKET -O \
-DUID_T=int -DGID_T=int $(KFLAGS)"
#Sequent DYNIX 3.1.x
dynix31:
@echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.x...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -O -DDCLPOPEN -DLCKDIR -DBSD4 -DTCPSOCKET $(KFLAGS)"
#Sequent DYNIX 3.1.2, as above but with curses, to be compiled by gcc 2.3.3.
dynix31c:
@echo 'Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.2, curses...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -O2 -DDCLPOPEN -DACUCNTRL \
-DBSD43 -DTCPSOCKET -DCK_CURSES -DUID_T=int \
$(KFLAGS)" "LIBS= -lcurses -ltermcap"
#Convex C1 with Berkeley Unix
convex:
@echo Making C-Kermit $(CKVER) for Convex C1 / BSD...
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD4 -DNOLEARN $(KFLAGS) -Dmsleep=mnap"
#Convex C210 with Convex/OS 8
convex8:
@echo Making C-Kermit $(CKVER) for Convex C210 with OS 8
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DNODEBUG -DDIRENT -DNOFILEH \
$(KFLAGS) -DSIG_V -Dmsleep=mnap"
#Convex C2 with Convex OS 9.1 (should also work with 8.1 or later)
#with ANSI C compiler, uses BSD 4.3 uucp lockfile convention.
convex9:
@echo Making C-Kermit $(CKVER) for Convex C210 with OS 9.1
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
-D__STDC__ -DLCKDIR -Dmsleep=mnap -O -ext -tm c1 $(KFLAGS)" \
"LNKFLAGS = -ext"
#Convex C2 with Convex OS 10.1 or later
#with gcc 2.x C compiler
convex10gcc:
@echo Making C-Kermit $(CKVER) for Convex C2 with OS 10.1 using gcc
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
-D__STDC__ -Dmsleep=mnap -O2 $(KFLAGS)" CC=gcc CC2=gcc
#Cray X-MP or Y-MP UNICOS 6.x or 7.x.
#NOTE: NPROC tells how many parallel makes to run. If your Cray has multiple
#processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
cray:
@echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 6.x or 7.0...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
"CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
#Cray X-MP or Y-MP UNICOS 8.0 Alpha.
cray8:
@echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 8.0 Alpha...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
"CFLAGS= -DSVR4 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
#Cray X-MP or Y-MP UNICOS 9.0.
#This one was executed successfully for C-Kermit 8.0.209.
#Earlier versions of Unicos will probably need the same flags.
cray9:
@echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 9.0...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
"CFLAGS= -DSVR4 -DDIRENT -DHDBUUCP -DNOLFDEVNO \
-DTCPSOCKET $(KFLAGS) -O1"
#Cray-2 or Cray 3-CSOS
#NOTE: NPROC tells how many parallel makes to run. If your Cray has multiple
#processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
craycsos:
@echo 'Making C-Kermit $(CKVER) for Cray-2/3 CSOS
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
"CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET \
$(KFLAGS) -DCK_ANSIC -DCK_CURSES" "LIBS=-lnet"
#NeXTSTEP 1.0 through 3.2.
#Includes fullscreen file transfer display (curses) and TCP/IP support.
#Uses shared library to make executable program about 80K smaller.
#Remove "LIBS = -lsys_s" if this causes trouble.
next:
@echo Making C-Kermit $(CKVER) for NeXTSTEP...
@echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
@echo 'add KFGLAGS=-DNOREDIRECT to your make command.'
$(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
-pipe -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
nextc:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
KTARGET=$${KTARGET:-$(@)}
nextg:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
KFLAGS=-Wall KTARGET=$${KTARGET:-$(@)}
nextgc:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
KFLAGS=-Wall KTARGET=$${KTARGET:-$(@)}
#NeXTSTEP 3.3.
#Includes fullscreen file transfer display and TCP/IP.
next33:
@echo Making C-Kermit $(CKVER) for NeXTSTEP 3.3...
$(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
-pipe -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
#OPENSTEP 4.2 for Sparc, m680x0, HP PA-RISC, and Intel.
#Includes fullscreen file transfer display and TCP/IP.
#ckcpro.c compiled without optimization because it crashes the compiler.
openstep42:
@echo Making C-Kermit $(CKVER) for OPENSTEP 4.2...
$(MAKE) ckcpro.$(EXT) \
"CFLAGS= -DOPENSTEP42 -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV \
-DFNFLOAT -pipe -DCK_CURSES $(KFLAGS) -w"
$(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DOPENSTEP42 -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV \
-DFNFLOAT -pipe -DCK_CURSES $(KFLAGS) -O -w" \
"LIBS = -lsys_s -lcurses -ltermcap"
#NeXT with malloc debugger
nextmd:
@echo Making C-Kermit $(CKVER) for NeXT with malloc debugging...
$(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
-DCK_CURSES $(KFLAGS) -O -w -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
"LIBS = -lsys_s -lcurses -ltermcap"
#Build for NeXTSTEP with "fat" binaries (MABs) that run on both Motorola
#and Intel platforms.
nextfat:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
next KTARGET=$${KTARGET:-$(@)} \
"KFLAGS=-Wall -arch m68k -arch i386" "LNKFLAGS = -arch m68k -arch i386"
#NeXTSTEP on Intel Platforms.
next486:
@echo Making C-Kermit $(CKVER) for NeXTSTEP on Intel Platforms...
@echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
@echo 'add KFGLAGS=D-DNOREDIRECT to your make command.'
$(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
-DNODEBUG -O3 -fno-omit-frame-pointer -fschedule-insns2 -pipe \
-DCK_CURSES $(KFLAGS) -w" "LIBS = -lsys_s -lcurses -ltermcap"
#Single binary that runs on NeXT 68030 and 68040, Intel, HP, and Sparc,
#as well as on OpenStep/Mach.
nextquadfat:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
KTARGET=$${KTARGET:-$(@)} \
"KFLAGS=-Wall -arch m68k -arch i386 -arch hppa -arch sparc" \
"LNKFLAGS = -arch m68k -arch i386 -arch hppa -arch sparc"
#BeBox
beboxdr7:
@echo 'Making C-Kermit $(CKVER) for the BeBox...'
@echo 'Link step will fail with default Metroworks linker 64K limit.'
@echo 'Code Warrior Gold required to link big programs.'
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CC=/boot/develop/tools/mwcc" "CC2=/boot/develop/tools/mwld" \
"CFLAGS= -DBEBOX -DBE_DR_7 -DPOSIX -DNOUUCP -DNOLEARN $(KFLAGS) -O"
#BeBox BeOS DR7 only
bebox:
@echo 'Making C-Kermit $(CKVER) for BeBox...'
@echo 'Link step will fail with default Metroworks linker 64K limit.'
@echo 'Code Warrior Pro 3.0 for BeBox required to link big programs.'
$(MAKE) wermit "CC=mwcc" "CC2=mwld" KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBEBOX -DPOSIX -DNOLEARN -DNOUUCP $(KFLAGS) -O"
#BeOS 4.5
#We have to use the wermit target because 'fd_set' is unknown.
beos45:
$(MAKE) wermit "CC=$(CC)" "CC2=$(CC2)" KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBEOS -DBEOS45 -DPOSIX -DNOIKSD -DNOREALPATH -DSYSTIMEH \
-DNOCOTFMC -DNOUUCP -DNOLEARN $(KFLAGS) -O" \
"LIBS = $(LIBS)"
#BeOS 4.5
beos45net:
$(MAKE) CC=$(CC) CC2=$(CC2) beos45 \
"KFLAGS=-DTCPSOCKET -DNO_DNS_SRV $(KFLAGS)" "LIBS=-lnet -lnetapi"
#Plan 9 from Bell Labs
plan9:
@echo 'C-Kermit for Plan 9 from Bell Labs - calling ckpker.mk...'
make -f ckpker.mk
#POSIX
posix:
@echo 'Making C-Kermit $(CKVER) for pure POSIX...'
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DPOSIX -DNOUUCP -DNOLEARN $(KFLAGS) -O"
# PowerMAX OS (SVR4) from Concurrent (tested on PowerMAX 5.1)
powermax:
@echo 'Making C-Kermit $(CKVER) for Concurrent PowerMAX OS...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DPOWERMAX \
-DNETPTY -DHAVE_STREAMS -DHAVE_GRANTPT -DHAVE_PTSNAME -DPUSH_PTEM \
-DPUSH_LDTERM -DPUSH_TTCOMPAT \
-DSTERMIOX -DTCPSOCKET -DCK_CURSES $(KFLAGS)" \
"LIBS= -lsocket -lnsl -lresolv -lcurses -lgen -lc -lucbc"
#Berkeley Software Design Inc. BSDI
# Substitute "LIBS= -lnewcurses -ltermcap" if desired.
bsdi:
@echo 'Making C-Kermit $(CKVER) for BSDI ...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD44 -DSETREUID -DSW_ACC_ID -DBIGBUFOK -DFIXCRTSCTS \
-DTCPSOCKET -DCK_CURSES -DFNFLOAT $(KFLAGS) -O" \
"LIBS= -lcurses -ltermcap -lm"
#Berkeley Software Design Inc. BSDI - has higher serial speeds than 1.x.
bsdi2:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DBSDI2 $(KFLAGS)"
bsdi3:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DBSDI2 -DBSDI3 $(KFLAGS)"
bsdi4:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
KTARGET=$${KTARGET:-$(@)} \
"KFLAGS=-DBSDI2 -DBSDI3 -DBSDI4 -DTPUTSFNTYPE=void -DTPUTSISVOID \
-m486 $(KFLAGS)"
# (old name for the above)
bsdiposix:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi
#Build a BSDI 4.x binary that also runs under FreeBSD (Terry Kennedy).
#But watch out for details like serial-port locking.
bsdix:
$(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
KTARGET=$${KTARGET:-$(@)} \
"KFLAGS=-DBSDI2 -DBSDI3 -DBSDI4 -DTPUTSFNTYPE=void -DTPUTSISVOID \
-m486 $(KFLAGS)" "LNKFLAGS=-static -Wl,-m,i386bsdi -Wl,-e,_start"
#Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1
pyramid:
@echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
ucb $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD43 -DTCPSOCKET -DPYRAMID -O $(KFLAGS)" "LNKFLAGS = -s"
#Pyramid Dual Port OSx using HoneyDanBer UUCP, curses and TCP
pyramid-hdb:
@echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
ucb $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DBSD43 -DTCPSOCKET -DHBDUUCP -DCK_CURSES -O $(KFLAGS)" \
"LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
#Pyramid DC/OSx (UNIX System V R4).
#Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
#are not misplaced in sys (rather than netinet and arpa, respectively).
#Uses ANSI C.
#NOTE: Remove -O and Olimit:2500 from CFLAGS if TELNET connections do not work.
pyrdcosx:
@echo 'Making C-Kermit $(CKVER) for Pyramid DC/OSx...'
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS = -Xa -O -DSVR4 -DDIRENT -DHDBUUCP -DSELECT -DNOGETUSERSHELL \
-DCK_CURSES -DSTERMIOX -DTCPSOCKET -DPYRAMID -K Olimit:3100 \
-DNO_DNS_SRV $(KFLAGS)" "LIBS= -lcurses -lsocket -lnsl" "LNKFLAGS = -s"
#IBM's AIX 3.0 on IBM 370 mainframe, tested on AIX F44 thru F50.
aix370:
@echo Making C-Kermit $(CKVER) for IBM System/370 AIX 3.0...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIX370 -DTCPSOCKET -DLCKDIR -DDIRENT $(KFLAGS)" \
"LIBS = -lbsd"
#IBM's AIX/ESA 2.1 (OSF/1) on IBM mainframe
aixesa:
@echo Making C-Kermit $(CKVER) for IBM AIX/ESA...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXESA -DTCPSOCKET $(KFLAGS) -O"
#IBM PS/2 with AIX 1.0 thru 1.3.
# Reports indicate that -O switch must be omitted.
# It is also possible that "make bsd" will work (reports welcome).
# One report said "make LIBS=-lbsd bsd" did the trick.
# NOTLOG is to get around a 'tlog' symbol defined in one of the headers.
ps2aix:
@echo 'Making C-Kermit $(CKVER) for IBM AIX 1.x PS/2...'
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS = -DATTSV -DNOREALPATH -DPS2AIX10 -DSIG_V \
-DNOUNICODE -DNOTLOG -DNOLEARN $(KFLAGS) -i" \
"LNKFLAGS = -i"
ps2aixnetc:
@echo 'Making C-Kermit $(CKVER) for IBM AIX 1.x PS/2...'
$(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS = -DATTSV -DNOREALPATH -DPS2AIX10 -DTCPSOCKET -DCK_CURSES \
-DSIG_V -DNOUNICODE -DNOTLOG -DNOLEARN $(KFLAGS) -i" \
"LIBS = -lcurses" "LNKFLAGS = -i"
ps2aix3:
$(MAKE) ps2aix KTARGET=$${KTARGET:-$(@)}
#IBM RT PC with AIX 2.2.1, valid as of C-Kermit 8.0.
#NOTLOG because of a conflict in <sys/termio.h>.
#This one has unique and strange lockfiles.
# -O removed on purpose (8.0).
# In case of "compiler error: symbol table full", increase the -Nn number.
# In case of "compiler error: Constant pool too big", boost the -Np number.
# Add -DNOPUTENV if putenv() causes trouble.
# Put -DNOIKSD back if IKSD-related problems occur.
rtaix:
@echo 'Making C-Kermit $(CKVER) for IBM RT PC, AIX 2.2.1...'
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS = -DATTSV -DRTAIX -DHDBUUCP -DDIRENT -DNOTLOG -DTCPSOCKET \
-DNOGETUSERSHELL -DCLSOPN -DNOREALPATH -DNOUNICODE -DBSD_INCLUDES \
-DUSE_LSTAT -DFNFLOAT -Nn2500 -Np1000 -Wq,-SJ2 -a -w $(KFLAGS)" \
"LIBS = -lm $(LIBS)" "LNKFLAGS = -s"
#IBM RT PC with AIX 2.2.1 + curses
rtaixc:
$(MAKE) rtaix CC=$(CC) CC2=$(CC2) "KFLAGS=-DCK_CURSES" "LIBS=-lcurses"
#IBM RT PC with AIX (ACIS) 2.2.1 (BSD 4.3)
# Add -O, -DDYNAMIC, -s, etc, if they work.
rtacis:
@echo Making C-Kermit $(CKVER) for RT PC with ACIS 2.2.1 = BSD 4.3...
$(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
"CFLAGS= -DBSD4 -DTCPSOCKET -DNOREALPATH -DNOIKSD -DNOPUTENV \
$(KFLAGS) -U__STDC__" "LNKFLAGS = -s"
#IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000.
rs6000:
@echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DCK_ANSIC \
-DCK_POLL -DCLSOPN -DSELECT_H -DNOTTYLOCK -O $(KFLAGS)" \
"LNKFLAGS = -s"
#IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000, with curses.
rs6000c:
@echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DCK_ANSIC \
-DCK_POLL -DCLSOPN -DCK_CURSES -DSELECT_H -DNOTTYLOCK -DNOREALPATH \
-O $(KFLAGS)" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -s"
aix30:
$(MAKE) rs6000 CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)}
aix31:
$(MAKE) rs6000 CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)}
#IBM AIX 3.2 for RISC System/6000.
#In case of "subprogram too complex" warnings, add "-qmaxmem=16000" to CFLAGS.
rs6aix32:
@echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DCK_ANSIC -DNOREALPATH \
-DSELECT_H -DCLSOPN -DNOTTYLOCK -O $(KFLAGS)" "LNKFLAGS = -s"
#IBM AIX 3.2 for RISC System/6000.
rs6aix32c:
@echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000, TCP+curses...
@echo In case of Subprogram Too Complex warnings,
@echo add -qmaxmem=16000 to CFLAGS.
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DCK_ANSIC -DNOREALPATH \
-DCLSOPN -DCK_CURSES -DSELECT_H -DNOTTYLOCK -O $(KFLAGS)" \
"LNKFLAGS = -s" "LIBS=-lcurses"
aix32:
$(MAKE) rs6aix32c KTARGET=$${KTARGET:-$(@)}
#IBM AIX 4.1, 4.1.x on RISC System/6000 or Power Series.
#Generates common binary for all platforms if using xlc (IBM C compiler).
#When using gcc, add -mcpu=common to generate common binary.
#Note that this one needs CK_NEWTERM.
# Add -bbigtoc in case ld fails with TOC overflow.
aix41:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
-DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
-DNOGETUSERSHELL -qmaxmem=16000 -O $(KFLAGS)" \
"LNKFLAGS = -s" "LIBS=-lcurses"
#Ditto but with gcc.
#Remove "CC=gcc CC2=gcc" if you have gcc installed as cc.
aix41g:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC=gcc" "CC2=gcc" \
"CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
-DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
-DNOGETUSERSHELL -O $(KFLAGS)" \
"LNKFLAGS = -s -Xlinker -bbigtoc" "LIBS=-lcurses"
# Add -bbigtoc in case ld fails with TOC overflow.
aix41+krb5+krb4:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
-DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
-DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
-DCK_ENCRYPTION -DCK_DES $(K5INC) $(K5INC)/krb5 \
-DNOGETUSERSHELL -qmaxmem=16000 -O $(KFLAGS)" \
"LNKFLAGS = -s" \
"LIBS = $(K5LIB) -lcurses -lkrb4 -ldes425 -lkrb5 \
-lcom_err -lk5crypto -lgssapi_krb5"
#Old name for "aix41".
rs6aix41c:
$(MAKE) aix41 KTARGET=$${KTARGET:-$(@)}
#IBM AIX 4.1, 4.1.x, or 4.2 on RISC System/6000 or Power Series,
# with X.25 support
#Generates common binary for all platforms if using xlc (IBM C compiler).
#When using gcc, add -mcpu=common to generate common binary.
# Add -bbigtoc in case ld fails with TOC overflow.
aix41x25:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
-DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
-DIBMX25 -DDEBUG -DNOGETUSERSHELL -qmaxmem=16000 -g $(KFLAGS)" \
"LNKFLAGS = -g -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg"
-@echo "]0;kermit done\c"
#As above but without -g in LNKFLAGS.
# Add -bbigtoc in case ld fails with TOC overflow.
aix41x25o:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
-DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
-DIBMX25 -DNODEBUG -DNOGETUSERSHELL -qmaxmem=16000 $(KFLAGS)" \
"LNKFLAGS = -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg"
-@echo "]0;kermit done\c"
#AIX 4.2 -- Must have CK_NEWTERM or echoing is lost after curses.
# Add -bbigtoc in case ld fails with TOC overflow.
aix42:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.2 or higher...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DAIX41 -DAIX42 -DSVR4 -DSTERMIOX -DTCPSOCKET \
-DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DFNFLOAT \
-DSELECT -DSELECT_H -DNOGETUSERSHELL -qmaxmem=16000 -O $(KFLAGS)" \
"LNKFLAGS = -s" "LIBS=-lcurses -lm"
#AIX 4.3 -- Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
# -bbigtoc needed on some systems but not others to avoid TOC overflow.
# "man ld" says -bbigtoc makes program run slower.
aix43:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DAIX41 -DAIX43 -DSVR4 -DSTERMIOX -DTCPSOCKET \
-DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
-DFNFLOAT -DNOGETUSERSHELL -qmaxmem=16000 -bbigtoc -O $(KFLAGS)" \
"LNKFLAGS = -s" "LIBS=-lcurses -lm"
#AIX 4.3 with IBM X.25.
aix43x25:
@echo "Making C-Kermit $(CKVER) for IBM AIX 4.3 with X.25..."
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
"CFLAGS= -DAIXRS -DAIX41 -DAIX43 -DSVR4 -DSTERMIOX -DTCPSOCKET \
-DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
-DFNFLOAT -DNOGETUSERSHELL -DIBMX25 \
-qmaxmem=16000 -bbigtoc -O $(KFLAGS)" \
"LNKFLAGS = -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg -lm"
#AIX 4.3 -- Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
# -mminimal-toc needed on some systems but not others to avoid TOC overflow.
# "man ld" says -bbigtoc makes program run slower.
aix43g:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
"CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
-DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
-DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
"LIBS=-lcurses -lm"
aix43gcc:
$(MAKE) aix43g
# None of the following aix43gcc attempts work on a gcc-only AIX 4.3.3 box.
# It just plain can't find the math routines (fmod, pow, exp, sqrt, log10,...)
# Which is odd because nm /usr/lib/libC.a finds them...
#in case aix43gcc can't find its math library...
aix43gccx:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
"CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
-DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
-DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
"LIBS= -L/usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.1.0/2.95.2 \
-lcurses -bloadmap -bnoquiet"
#in case aix43gccx can't find its math library...
aix43gccy:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
"CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
-DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
-DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
"LIBS= -lcurses -bloadmap -bnoquiet"
#in case aix43gccx can't find its math library...
aix43gccz:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
"CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
-DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
-DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
"LIBS= -L. -lcurses -bloadmap -bnoquiet"
#AIX 4.3 with MIT Kerberos 5 and Kerberos 4 compatibility mode
# Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
# -mminimal-toc needed on some systems but not others to avoid TOC overflow.
# "man ld" says -bbigtoc makes program run slower.
aix43gcc+krb5+krb4:
@echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher w/Kerberos...
$(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
"CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
-DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
-DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL \
-DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
-DCK_ENCRYPTION -DCK_DES -funsigned-char $(K5INC) $(K5INC)/krb5 \
$(KFLAGS)" \
"LIBS=$(K5LIB) -lcurses -lm -lkrb4 -ldes425 -lkrb5 \
-lcom_err -lk5crypto -lcrypt -lgssapi_krb5"
#AIX 4.3 with MIT Kerberos 5, Kerberos 4 compatibility mode and OpenSSL
# Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.