Annotation of 43BSD/contrib/kermit/Makefile, revision 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: install:
        !           130:        install -s kermit $(DESTDIR)/usr/new/kermit
        !           131:        install -c ckuker.nr $(DESTDIR)/usr/man/mann/kermit.n
        !           132: 
        !           133: # end of 4.3 specific
        !           134: 
        !           135: #
        !           136: # Dependencies Section:
        !           137: #
        !           138: make: 
        !           139:        @echo 'Make what?  You must tell which system to make C-Kermit for.'
        !           140: 
        !           141: wermit: ckcmai.o ckucmd.o ckuusr.o ckuus2.o ckuus3.o ckcpro.o ckcfns.o \
        !           142:                 ckcfn2.o ckucon.o ckutio.o ckufio.o ckudia.o ckuscr.o
        !           143:        $(CC2) $(LNKFLAGS) -o wermit ckcmai.o ckutio.o ckufio.o ckcfns.o \
        !           144:                 ckcfn2.o ckcpro.o ckucmd.o ckuus2.o ckuus3.o ckuusr.o \
        !           145:                 ckucon.o ckudia.o ckuscr.o
        !           146: 
        !           147: ckcmai.o: ckcmai.c ckcker.h ckcdeb.h
        !           148: 
        !           149: ckuusr.o: ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h
        !           150: 
        !           151: ckuus2.o: ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h
        !           152: 
        !           153: ckuus3.o: ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h
        !           154: 
        !           155: ckucmd.o: ckucmd.c ckucmd.h ckcdeb.h
        !           156: 
        !           157: ckcpro.o: ckcpro.c ckcker.h ckcdeb.h
        !           158: 
        !           159: ckcpro.c: ckcpro.w wart
        !           160:        ./wart ckcpro.w ckcpro.c
        !           161: 
        !           162: ckcfns.o: ckcfns.c ckcker.h ckcdeb.h
        !           163: 
        !           164: ckcfn2.o: ckcfn2.c ckcker.h ckcdeb.h
        !           165: 
        !           166: ckufio.o: ckufio.c ckcker.h ckcdeb.h
        !           167: 
        !           168: ckutio.o: ckutio.c ckcdeb.h
        !           169: 
        !           170: ckucon.o: ckucon.c ckcker.h ckcdeb.h
        !           171: 
        !           172: wart: ckwart.o
        !           173:        $(CC) $(LNKFLAGS) -o wart ckwart.o
        !           174: 
        !           175: ckwart.o: ckwart.c
        !           176: 
        !           177: ckudia.o: ckudia.c ckcker.h ckcdeb.h
        !           178: 
        !           179: ckuscr.o: ckuscr.c ckcker.h ckcdeb.h
        !           180: #
        !           181: ###########################################################################
        !           182: #
        !           183: # Make commands for specific systems:
        !           184: #
        !           185: #
        !           186: #Berkeley Unix 4.1 or 4.2 (and presumably also 4.3)
        !           187: bsd:
        !           188:        make wermit "CFLAGS= -DBSD4 -DDEBUG -DTLOG"
        !           189: 
        !           190: 
        !           191: #Berkeley Unix 2.8, 2.9 for PDP-11s with I&D space
        !           192: bsd29:
        !           193:        make wermit "CFLAGS= -DV7 -DDEBUG -DTLOG" "LNKFLAGS= -i" "CC= pcc " \
        !           194:                "CC2= cc"
        !           195: 
        !           196: 
        !           197: #Version 7 Unix
        !           198: v7:
        !           199:        make wermit "CFLAGS=-DV7 -DDEBUG -DTLOG -DPROCNAME=\\\"$(PROC)\\\" \
        !           200:        -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
        !           201:        -DNPTYPE=$(NPTYPE) $(DIRECT)"
        !           202: 
        !           203: #In case they type "make sys5"...
        !           204: sys5:
        !           205:        make sys3
        !           206: 
        !           207: 
        !           208: #Generic ATT System III or System V (with I&D space)
        !           209: sys3:
        !           210:        make wermit "CFLAGS = -DUXIII -DDEBUG -DTLOG -i -O" "LNKFLAGS = -i"
        !           211: 
        !           212: 
        !           213: #Generic ATT System III or System V (no I&D space)
        !           214: sys3nid:
        !           215:        make wermit "CFLAGS = -DUXIII -DDEBUG -DTLOG -O" "LNKFLAGS ="
        !           216: 
        !           217: 
        !           218: #AT&T 3B-series computers running System V
        !           219: #  Only difference from sys3 is lock file stuff...
        !           220: att3bx:
        !           221:        make wermit "CFLAGS = -DUXIII -DATT3BX -DDEBUG -DTLOG -i -O" \
        !           222:                "LNKFLAGS = -i"
        !           223: 
        !           224: 
        !           225: #Microsoft "Xenix/286" e.g. for IBM PC/AT
        !           226: xenix:
        !           227:        make wermit "CFLAGS= -DXENIX -DUXIII -DDEBUG -DTLOG -F 3000 -i" \
        !           228:                "LNKFLAGS = -F 3000 -i"
        !           229: 
        !           230: 
        !           231: #PC/IX, Interactive Corp System III for IBM PC/XT
        !           232: pcix:
        !           233:        make wermit \
        !           234:        "CFLAGS= -DPCIX -DUXIII -DISIII -DDEBUG -DTLOG -Dsdata=sdatax -O -i" \
        !           235:                "LNKFLAGS = -i"
        !           236: 
        !           237: 
        !           238: #Interactive Corp System III port in general --
        !           239: is3:
        !           240:        make wermit \
        !           241:                "CFLAGS = -DISIII -DUXIII -DDEBUG -DTLOG -Ddata=datax -O -i" \
        !           242:                "LNKFLAGS = -i"
        !           243: 
        !           244: 
        !           245: #DEC Pro-3xx with Pro/Venix V1.0 or V1.1
        !           246: # Requires code-mapping on non-I&D-space 11/23 processor, plus some
        !           247: # fiddling to get interrupt targets into resident code section.
        !           248: provx1:
        !           249:        make wart "CFLAGS= -DPROVX1" "LNKFLAGS= "
        !           250:        make wermit "CFLAGS = -DPROVX1 -DDEBUG -DTLOG -md780" \
        !           251:                "LNKFLAGS= -u _sleep -lc -md780"
        !           252: 
        !           253: 
        !           254: #NCR Tower 1632, OS 1.02
        !           255: tower1:
        !           256:        make wermit "CFLAGS= -DDEBUG -DTLOG -DTOWER1"
        !           257: 
        !           258: #Fortune 16:32, For:Pro 1.7 (mostly like 4.1bsd)
        !           259: ft17:
        !           260:        make wermit "CFLAGS= -DDEBUG -DTLOG -DBSD4 -DFT17"
        !           261: 
        !           262: 
        !           263: #Valid Scaldstar
        !           264: #Berkeleyish, but need to change some variable names.
        !           265: valid:
        !           266:        make wermit "CFLAGS= -DBSD4 -Dcc=ccx -DFREAD=1"
        !           267: 
        !           268: 
        !           269: #Amdahl UTS 2.4 on IBM 370 series compatible mainframes.
        !           270: #Mostly like V7, but can't do initrawq() buffer peeking.
        !           271: uts24:
        !           272:        make wermit "CFLAGS=-DV7 -DDEBUG -DTLOG -DPROCNAME=\\\"$(PROC)\\\" \
        !           273:        -DUTS24 -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
        !           274:        -DNPTYPE=$(NPTYPE) $(DIRECT)"
        !           275: 
        !           276: 
        !           277: #BBN C/70 with IOS 2.0
        !           278: #Mostly Berkeley-like, but with some ATTisms
        !           279: c70:
        !           280:        make wermit "CFLAGS= -DBSD4 -DC70 -DDEBUG -DTLOG"
        !           281: 
        !           282: clean:
        !           283:        rm -f *.o ckcpro.c wart wermit core make.out xerrs errs

unix.superglobalmegacorp.com

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