?? makefile
字號:
# + for Silicon Graphics Sys V R3 with IRIX 3.3 or later, "make sys5r3"# + for Silicon Graphics Iris Indigo with IRIX 4.0, "make irix40"# ? for Solaris 2.0, "make sunsol20" -- should work on any computer that# runs Solaris 2.0, since it supposed to be portable.# + for Solaris 2.1 on a Sun Sparcstation, "make sunos51c"# + 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 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.0, AT&T Sys V R3 environment, "make sunos4s5"# + 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, BSD, with SunLink X.25, "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, 4.1.1, POSIX environment, "make sunposix"# + 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.0 == SUNOS 4.1.2, "make sunos41"# ? for Sun with SunOS 5.0 == Solaris 2.0, "make sunsol20"# + for Sun with SunOS 5.1 == Solaris 2.1, "make sunos51"# ? for Sun with Solaris 2.0, "make sunsol20"# + for Tandy 16/6000 with Xenix 3.0, "make trs16"# + 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 sys5r3"# + for Tri Star Flash Cache with Esix SVR3.2, "make sys5r3"# ? for Unistar, "make sys5"# for UNISYS ... (See Sperry)# ? 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".# To run lint on the source files, "make lintsun", "make lintbsd",# "make lints5", as appropriate.################################################################################# NOTES FOR V7 AND 2.X BSD (BASED ON VERSION 4E OF C-KERMIT):## 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".# 2.10 and 2.11BSD follow the 4.3BSD path and are build with a special entry,# bsd210, which uses overlays.## 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.################################################################################# V7-specific variables.# These are set up for Perkin-Elmer 3230 V7 Unix:# PROC=procDIRECT=NPROC=nprocNPTYPE=intBOOTFILE=/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= ccCC2= ccMAKE= makeSHELL=/bin/sh############################################################################## Easy installation. Modify this to suit your own computer's file organization# and permissions. If you don't have write access to the destination# directories, "make install" will fail.WERMIT = makewhatDESTDIR =BINDIR = /usr/contrib/binMANDIR = /usr/contrib/man/cat1MANEXT = 0ALL = $(WERMIT)all: $(ALL)install: install -s -o bin -g bin -m 555 wermit $(DESTDIR)$(BINDIR)/kermit nroff -man ckuker.nr > $(DESTDIR)$(MANDIR)/kermit.$(MANEXT) chmod 444 $(DESTDIR)$(MANDIR)/kermit.$(MANEXT)makewhat: @echo 'make what? You must tell which system to make C-Kermit for.' @echo Examples: make bsd43, make sys5, make sunos41, etc.############################################################################# Dependencies Section:wermit: ckcmai.$(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) $(CC2) $(LNKFLAGS) -o wermit 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) $(LIBS)#Malloc Debugging versionmermit: ckcmdb.$(EXT) ckcmai.$(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) $(CC2) $(LNKFLAGS) -o mermit ckcmdb.$(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) $(LIBS)# Here is an example of building Kermit with overlays for a small machine,# Like a PDP-11 without separate I&D space. This example is for 2.11 BSD:ovwermit: 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) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) \ ckuusy.$(EXT) ckustr.o strings.o ar x /lib/libc.a getpwent.o ctime.o ndbm.o $(CC2) $(LNKFLAGS) -o wermit ckcmai.$(EXT) \ ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \ ckcfn3.$(EXT) \ -Z ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \ ckuus3.$(EXT) \ -Z ckuus4.$(EXT) ckuus5.$(EXT) ckuusr.$(EXT) ckuus6.$(EXT) \ ctime.o \ -Z ckuus7.$(EXT) ckcfn3.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \ ckcnet.$(EXT) \ -Z ckuus2.$(EXT) ckuusx.$(EXT) ckucon.$(EXT) ckuusy.$(EXT) \ getpwent.o ndbm.o \ -Y ckustr.o strings.o $(LIBS)strings.o: strings xstr cc -c xs.c mv -f xs.o strings.o rm -f xs.c# Dependencies for each module...## The following almost makes this work with gcc on the Sun-4.# .SUFFIXES: .c .$(EXT)# .$(EXT).c: ; $(CC) $(CFLAGS) -c $<ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.hckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcasc.hckcpro.c: ckcpro.w wart ckcdeb.h ckcasc.h ckcker.h ./wart ckcpro.w ckcpro.cckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \ ckuxla.hckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.hckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \ ckuxla.hckuxla.$(EXT): ckuxla.c ckcker.h ckcdeb.h ckcxla.h ckuxla.hckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.hckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.hckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.hckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckuver.hckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.hckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.hckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.hckuusx.$(EXT): ckuusx.c ckcker.h ckuusr.h ckcdeb.h ckcasc.hckuusy.$(EXT): ckuusy.c ckcker.h ckcdeb.h ckcasc.hckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.hckufio.$(EXT): ckufio.c ckcdeb.h ckuver.hckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.hckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.hckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.hwart: ckwart.$(EXT) $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT) $(LIBS)ckcmdb.$(EXT): ckcmdb.c ckcdeb.hckwart.$(EXT): ckwart.cckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.hckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h############################################################################# Entries to make C-Kermit for specific systems.## Put the ones that need short makefiles first.bsd210: @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.10BSD.bsd211: @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.11BSD.#Apple Mac II, A/UX#Warning, if "send *" doesn't work, try the auxufs makefile entry below.aux: @echo Making C-Kermit $(CKVER) for Macintosh A/UX... $(MAKE) wermit "CFLAGS = -DAUX -DDYNAMIC -DTCPSOCKET $(KFLAGS) -i -O" \ "LNKFLAGS = -i"#Apple Mac II, A/UX, compiled with gccauxgcc: @echo Making C-Kermit $(CKVER) for Macintosh A/UX... $(MAKE) wermit "CFLAGS = -DAUX -DDYNAMIC -DTCPSOCKET $(KFLAGS) \ -traditional -i -O" "LNKFLAGS = " "CC = gcc" "CC2 = gcc"
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -