⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 早期freebsd实现
💻
📖 第 1 页 / 共 5 页
字号:
# + 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 + -