Annotation of 43BSDTahoe/new/kermit/Makefile, revision 1.1.1.1

1.1       root        1: # CKUKER.MAK, Version 2.04, 31 July 85
                      2: #
                      3: # -- Makefile to build C-Kermit for Unix and Unix-like systems --
                      4: # set up to build 4.[23] version by default
                      5: #
                      6: # Read instructions below before proceeding, then
                      7: # rename this file to "makefile" or "Makefile", and then:
                      8: #
                      9: # for Berkeley Unix 4.x, "make bsd"
                     10: # for Berkeley Unix 2.9 (PDP-11), "make bsd29"
                     11: # for AT&T 3Bx systems, "make att3bx"
                     12: # for AT&T generic System III/System V, "make sys3" or "make sys3nid"
                     13: # for Bell Unix Version 7 (aka 7th Edition), "make v7"
                     14: # for Microsoft Xenix (/286, PC/AT, etc), "make xenix"
                     15: # for Interactive System III (PC/IX) on PC/XT, "make pcix"
                     16: # for Interactive Sys III on other systems, "make is3"
                     17: # for DEC Pro-350 with Pro/Venix V1.x, "make provx1"
                     18: # for DEC Pro-350 with Pro/Venix V2.0 (Sys V), "make sys3nid" 
                     19: # for DEC Pro-380 with Pro/Venix V2.0 (Sys V), "make sys3" or "make sys3nid"
                     20: # for NCR Tower 1632, OS 1.02, "make tower1"
                     21: # for NCR Tower 1632 with System V, "make sys3"
                     22: # for Fortune 16:32, For:Pro 1.7, "make ft17"
                     23: # for Valid Scaldstar, "make valid"
                     24: # for BBN C/70 with IOS 2.0, "make c70"
                     25: # for Amdahl UTS 2.4 on IBM 370 series & compatible mainframes, "make uts24"
                     26: #
                     27: ##############################################################################
                     28: #
                     29: # Notes:
                     30: #
                     31: #  In many cases, the -O (optimize) compiler switch is omitted.  Feel free
                     32: #  to add it if you trust your optimizer.  The ckuus2.c module, in particular,
                     33: #  tends to make optimizers blow up.
                     34: #
                     35: #  "make bsd" should produce a working C-Kermit for both 4.1 and 4.2bsd
                     36: #  on VAX, SUN, and Pyramid computers.
                     37: #
                     38: #  Either "make sys3" or "make sys3nid" tendss to produce a working version on
                     39: #  any ATT System III or System V system, including Motorola Four Phase, Callan
                     40: #  Unistar, Cadmus, NCR Tower, HP9836 Series 200, Plexus, Masscomp/RTU,
                     41: #  Heurikon, etc etc (for exceptions, see below; AT&T 3Bx systems have their
                     42: #  own entry).  As far as C-Kermit goes, there is no functional difference
                     43: #  between ATT System III and System V, so there is no need for a separate
                     44: #  "make sys5" entry.
                     45: #
                     46: #  "make sys3nid" is equivalent to "make sys3" but leaves out the -i option,
                     47: #  which is used indicate that separate instruction and data (text) spaces are
                     48: #  to be used, as on a PDP-11.  Some systems don't support this option, others
                     49: #  may require it.  If one of these options doesn't work on your System III
                     50: #  or System V system, try the other.
                     51: #
                     52: #  For version 7, several variables must be defined to the values
                     53: #  associated with your system.  BOOTNAME=/edition7 is the kernel image on
                     54: #  okstate's Perkin-Elmer 3230.  Others will probably be /unix.  PROCNAME=proc
                     55: #  is the name of the structure assigned to each process on okstate's system.
                     56: #  This may be "_proc" or some other variation.  See <sys/proc.h> for more info
                     57: #  on your systems name conventions.  NPROCNAME=nproc is the name of a
                     58: #  Kernal variable that tells how many "proc" structures there are.  Again
                     59: #  this may be different on your system, but nproc will probably be somewhere.
                     60: #  The variable NPTYPE is the type of the nproc variable -- int, short, etc.
                     61: #  which can probably be gleaned from <sys/param.h>.
                     62: #  The definition of DIRECT is a little more in depth.  If nlist() returns,
                     63: #  for "proc" only, the address of the array, then you should define DIRECT
                     64: #  as it is below.  If however, nlist() returns the address of a pointer to
                     65: #  the array, then you should give DIRECT a null definition (DIRECT= ).  The
                     66: #  extern declaration in <sys/proc.h> should clarify this for you.  If it
                     67: #  is "extern struct proc *proc", then you should NOT define DIRECT.  If it
                     68: #  is "extern struct proc proc[]", then you should probably define DIRECT as
                     69: #  it is below.  See ckuv7.hlp for further information.
                     70: #
                     71: #  For 2.9bsd, the makefile uses pcc rather than cc for compiles; that's what
                     72: #  the CC and CC2 definitions are for.  2.9 support basically follows the 4.2
                     73: #  path, except with a normal file system (file names 14 chars max).
                     74: #
                     75: #  The v7 and 2.9bsd versions assume I&D space on a PDP-11.  When building
                     76: #  C-Kermit for v7 on a PDP-11, you should probably add the -i option to
                     77: #  the link flags.  Without I&D space, overlays would probably have to be
                     78: #  used (or code mapping a`la Pro/Venix if that's available).
                     79: #
                     80: #  Other systems require some special treatment:
                     81: #
                     82: #  For HP9000 series 500, use "make sys3nid", but
                     83: #  1. In ckutio.c, don't #include <sys/file.h> or ioctl.h.
                     84: #  2. In ckufio.c, don't #include <sys/file.h>.
                     85: #
                     86: #  For Ridge32 (ROS3.2), use "make sys3", but
                     87: #  1. Use "CFLAGS = -DUXIII -i -O" "LNKFLAGS = -i"
                     88: #  2. Don't #include <sys/file.h> in cku[tf]io.c.
                     89: #
                     90: #  For Whitechapel MG-1 Genix 1.3, use "make bsd", but
                     91: #  1. In ckufio.c, have zkself() return 0 or call getpid, rather than getppid.
                     92: #  2. Wart reportedly can't process ckcpro.w; just work directly from ckcpro.c.
                     93: #
                     94: #  For Altos 986 with Xenix 3.0, use "make sys3", but
                     95: #  1. Get rid of any "(void)"'s (they're only there for Lint anyway)
                     96: #  2. In ckcdeb.h, define CHAR to be "char" rather than "unsigned char".
                     97: #
                     98: ##############################################################################
                     99: #
                    100: #  V7-specific variables.
                    101: #  These are set up for Perkin-Elmer 3230 V7 Unix:
                    102: # 
                    103: PROC=proc
                    104: DIRECT=
                    105: NPROC=nproc
                    106: NPTYPE=int
                    107: BOOTFILE=/edition7
                    108: #
                    109: # ( For TRS-80 Xenix, use PROC=_proc, DIRECT=-DDIRECT, NPROC=_Nproc, 
                    110: #   NPTYPE=short, BOOTFILE=/xenix )
                    111: #
                    112: ###########################################################################
                    113: #
                    114: #  Compile and Link variables:
                    115: #
                    116: LNKFLAGS=
                    117: CC= cc
                    118: CC2= cc
                    119: #
                    120: ###########################################################################
                    121: 
                    122: # added for 4.3 bsd release; remove lines through the next comment
                    123: # to regenerate the generic form
                    124: CFLAGS= -O -DBSD4 -DDEBUG -DTLOG
                    125: 
                    126: all: wermit
                    127:        mv wermit kermit
                    128: 
                    129: .SUFFIXES: .1 .0
                    130: 
                    131: .1.0:
                    132:        ../../man/manroff $*.1 > $*.0
                    133: 
                    134: install: ckuker.0
                    135:        install -s -o bin -g bin -m 755 kermit $(DESTDIR)/usr/new/kermit
                    136:        install -c -o bin -g bin -m 444 ckuker.0 $(DESTDIR)/usr/new/man/cat1/kermit.0
                    137: 
                    138: # end of 4.3 specific
                    139: 
                    140: #
                    141: # Dependencies Section:
                    142: #
                    143: make: 
                    144:        @echo 'Make what?  You must tell which system to make C-Kermit for.'
                    145: 
                    146: wermit: ckcmai.o ckucmd.o ckuusr.o ckuus2.o ckuus3.o ckcpro.o ckcfns.o \
                    147:                 ckcfn2.o ckucon.o ckutio.o ckufio.o ckudia.o ckuscr.o
                    148:        $(CC2) $(LNKFLAGS) -o wermit ckcmai.o ckutio.o ckufio.o ckcfns.o \
                    149:                 ckcfn2.o ckcpro.o ckucmd.o ckuus2.o ckuus3.o ckuusr.o \
                    150:                 ckucon.o ckudia.o ckuscr.o
                    151: 
                    152: ckcmai.o: ckcmai.c ckcker.h ckcdeb.h
                    153: 
                    154: ckuusr.o: ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h
                    155: 
                    156: ckuus2.o: ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h
                    157: 
                    158: ckuus3.o: ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h
                    159: 
                    160: ckucmd.o: ckucmd.c ckucmd.h ckcdeb.h
                    161: 
                    162: ckcpro.o: ckcpro.c ckcker.h ckcdeb.h
                    163: 
                    164: ckcpro.c: ckcpro.w wart
                    165:        ./wart ckcpro.w ckcpro.c
                    166: 
                    167: ckcfns.o: ckcfns.c ckcker.h ckcdeb.h
                    168: 
                    169: ckcfn2.o: ckcfn2.c ckcker.h ckcdeb.h
                    170: 
                    171: ckufio.o: ckufio.c ckcker.h ckcdeb.h
                    172: 
                    173: ckutio.o: ckutio.c ckcdeb.h
                    174: 
                    175: ckucon.o: ckucon.c ckcker.h ckcdeb.h
                    176: 
                    177: wart: ckwart.o
                    178:        $(CC) $(LNKFLAGS) -o wart ckwart.o
                    179: 
                    180: ckwart.o: ckwart.c
                    181: 
                    182: ckudia.o: ckudia.c ckcker.h ckcdeb.h
                    183: 
                    184: ckuscr.o: ckuscr.c ckcker.h ckcdeb.h
                    185: #
                    186: ###########################################################################
                    187: #
                    188: # Make commands for specific systems:
                    189: #
                    190: #
                    191: #Berkeley Unix 4.1 or 4.2 (and presumably also 4.3)
                    192: bsd:
                    193:        make wermit "CFLAGS= -DBSD4 -DDEBUG -DTLOG"
                    194: 
                    195: 
                    196: #Berkeley Unix 2.8, 2.9 for PDP-11s with I&D space
                    197: bsd29:
                    198:        make wermit "CFLAGS= -DV7 -DDEBUG -DTLOG" "LNKFLAGS= -i" "CC= pcc " \
                    199:                "CC2= cc"
                    200: 
                    201: 
                    202: #Version 7 Unix
                    203: v7:
                    204:        make wermit "CFLAGS=-DV7 -DDEBUG -DTLOG -DPROCNAME=\\\"$(PROC)\\\" \
                    205:        -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
                    206:        -DNPTYPE=$(NPTYPE) $(DIRECT)"
                    207: 
                    208: #In case they type "make sys5"...
                    209: sys5:
                    210:        make sys3
                    211: 
                    212: 
                    213: #Generic ATT System III or System V (with I&D space)
                    214: sys3:
                    215:        make wermit "CFLAGS = -DUXIII -DDEBUG -DTLOG -i -O" "LNKFLAGS = -i"
                    216: 
                    217: 
                    218: #Generic ATT System III or System V (no I&D space)
                    219: sys3nid:
                    220:        make wermit "CFLAGS = -DUXIII -DDEBUG -DTLOG -O" "LNKFLAGS ="
                    221: 
                    222: 
                    223: #AT&T 3B-series computers running System V
                    224: #  Only difference from sys3 is lock file stuff...
                    225: att3bx:
                    226:        make wermit "CFLAGS = -DUXIII -DATT3BX -DDEBUG -DTLOG -i -O" \
                    227:                "LNKFLAGS = -i"
                    228: 
                    229: 
                    230: #Microsoft "Xenix/286" e.g. for IBM PC/AT
                    231: xenix:
                    232:        make wermit "CFLAGS= -DXENIX -DUXIII -DDEBUG -DTLOG -F 3000 -i" \
                    233:                "LNKFLAGS = -F 3000 -i"
                    234: 
                    235: 
                    236: #PC/IX, Interactive Corp System III for IBM PC/XT
                    237: pcix:
                    238:        make wermit \
                    239:        "CFLAGS= -DPCIX -DUXIII -DISIII -DDEBUG -DTLOG -Dsdata=sdatax -O -i" \
                    240:                "LNKFLAGS = -i"
                    241: 
                    242: 
                    243: #Interactive Corp System III port in general --
                    244: is3:
                    245:        make wermit \
                    246:                "CFLAGS = -DISIII -DUXIII -DDEBUG -DTLOG -Ddata=datax -O -i" \
                    247:                "LNKFLAGS = -i"
                    248: 
                    249: 
                    250: #DEC Pro-3xx with Pro/Venix V1.0 or V1.1
                    251: # Requires code-mapping on non-I&D-space 11/23 processor, plus some
                    252: # fiddling to get interrupt targets into resident code section.
                    253: provx1:
                    254:        make wart "CFLAGS= -DPROVX1" "LNKFLAGS= "
                    255:        make wermit "CFLAGS = -DPROVX1 -DDEBUG -DTLOG -md780" \
                    256:                "LNKFLAGS= -u _sleep -lc -md780"
                    257: 
                    258: 
                    259: #NCR Tower 1632, OS 1.02
                    260: tower1:
                    261:        make wermit "CFLAGS= -DDEBUG -DTLOG -DTOWER1"
                    262: 
                    263: #Fortune 16:32, For:Pro 1.7 (mostly like 4.1bsd)
                    264: ft17:
                    265:        make wermit "CFLAGS= -DDEBUG -DTLOG -DBSD4 -DFT17"
                    266: 
                    267: 
                    268: #Valid Scaldstar
                    269: #Berkeleyish, but need to change some variable names.
                    270: valid:
                    271:        make wermit "CFLAGS= -DBSD4 -Dcc=ccx -DFREAD=1"
                    272: 
                    273: 
                    274: #Amdahl UTS 2.4 on IBM 370 series compatible mainframes.
                    275: #Mostly like V7, but can't do initrawq() buffer peeking.
                    276: uts24:
                    277:        make wermit "CFLAGS=-DV7 -DDEBUG -DTLOG -DPROCNAME=\\\"$(PROC)\\\" \
                    278:        -DUTS24 -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
                    279:        -DNPTYPE=$(NPTYPE) $(DIRECT)"
                    280: 
                    281: 
                    282: #BBN C/70 with IOS 2.0
                    283: #Mostly Berkeley-like, but with some ATTisms
                    284: c70:
                    285:        make wermit "CFLAGS= -DBSD4 -DC70 -DDEBUG -DTLOG"
                    286: 
                    287: clean:
                    288:        rm -f *.o ckcpro.c wart wermit core make.out xerrs errs kermit

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.