📄 ckubs2.mak
字号:
# CKUBS2.MAK Sun May 23 11:52:55 1999#CKVER= "7.0.195 Beta.07"## Abbreviated version for 2.10 / 2.11 BSD, which chokes on full-size makefile# because "Make: out of memory".## C-Kermit 6.0 was the last version that could be built with an interactive# command parser under the 2.11 BSD memory model -- it fit into the overlay# structure with only a few bytes to spare.## C-Kermit 7.0 and later can be built only in command-line form.## Instructions:# 1. Make sure there are no other files called "makefile" or "Makefile"# in the same directory.# 2. Change the name of this file to "makefile".# 3. Read below about the strings file.# 4. "make bsd211" (for interactive version) or# "make bsd211noicp" (for command-line-only version).# 5. If you are not on a system with /usr/lib/ctimed (2.10BSD for example),# type "make bsd210" (which will compile cku2tm.c into 'ctimed')# and then install 'ctimed' in the right place (default is /usr/lib).# 6. 2.11BSD includes ctimed and the necessary stub routines. The 'ctimed'# path is in <paths.h>. The "libstubs.a" (obtained via a "-lstubs" at# link time) contains the stub routines.## Authors: Frank da Cruz, Columbia University, fdc@columbia.edu,# and Steven M Schultz, sms@wlv.iipo.gtegsc.com.## Modified 4 July 1992 to reshuffle overlays (because the first one got too# big) and to improve the method of defining the string file. fdc.# And again 23 Aug 1992. fdc.# And again 06 Sep 1992 to work around ckudia.c blowing up optimizers. sms.# And again 09 Sep 1992 to incorporate cku2tm.c and new ckustr.c. sms.# & again 19 Sep 92 to add -DMINIDIAL to reduce size of DIAL module. fdc.# & again 7 Nov 92 because two of the segments got too big. fdc.# & again 15-18 Apr 94, ditto, fdc.# + again 11-13 Jun 96, for version 6.0.192, fdc.# 18 Jul 96 to incorporate new 'ctimed' and stubs, sms.# 22 Aug 96 to reshuffle overlays, fdc.# 23 May 99 for C-Kermit 7.0: add new modules and command-line-only build, fdc.############################################################################# 2.10BSD and 2.11BSD (the latter to a larger extent) are the same as 4.3BSD# but without a large address space.## A string extraction method is used to put approx. 16KB of strings into a# file. The module ckustr.c needs to find this file when C-Kermit runs.# The pathname where this file will reside is defined below (change it if# necessary). After make is finished, the file cku195.sr must be moved to# where ckustr.c has been told to look for it, or you can define an# environment variable KSTR to override the built-in pathname, for example:## setenv KSTR `pwd`/cku195.sr## If the resulting wermit program sprews garbage all over your screen, it's# because it is reading the wrong strings file.## If the resulting wermit program doesn't run at all because UNIX says it# is too big, it's most likely because the data segment, the root segment,# or one of the overlays is too big. The sum of the data (mostly strings.o)# and bss (mostly static buffers) sizes must be less than about 52K (56K is# the maximum, but about 4K is needed for stdio buffers that are added in at# runtime). If the combined data+bss size exceeds 52K, start chopping away# at static buffers. When it is borderline (> 52K but < 56K), performance# will be terrible -- screen output will be very slow and jerky because# stdio functions are doing a system call per character because they could# not allocate any buffers.## The maximum number of overlays is 15, but the fewer overlays, the better# the peformance. The smaller the root segment, the bigger the overlays can# be:## Root Overlay# 56KB 8KB# 48KB 16KB# 40KB 24KB <-- This arrangement used in 6.0.192# 32KB 32KB# 24KB 40KB# 16KB 48KB# 8KB 56KB## The hardest-hit modules should go into the root segment, so top priority# goes to ckutio and ckufio, the low-level i/o modules. It would also be# good to put ckcpro and ckucmd in the root segment but they are too big.## Here is the layout for 6.0.192:## % size wermit# text data bss dec hex# 34368 25574 26414 86356 15154 total text: 126912# overlays: 23936,24512,23872,20224## This shows root segment text is less than 40K,# data+bss is less than 52K, and each overlay is less than 24K.############################################################################## Compile and Link variables:## EXT is the extension (file type) for object files, normally o.# EFLAGS is the CFLAGS _without_ the optimize flag (that is added separately).# The optimizer can not handle a couple modules (ckcpro.c and ckudia.c).# Sometimes this happens silently -- it just dies.# In that case there might be a message like:# Fatal error in /lib/c2 (which is the optimizer)# mv: x.o: Cannot access: No such file or directory# NOTE: You can't add any more -D's to these because there is already# the maximum number of them. See ckcker.h and ckucmd.h for additional# PDP-11 feature disabling.EXT=oOPT=-OEFLAGS=-DBSD43 -DLCKDIR -DNODEBUG -DNOTLOG -DNODIAL \ -DNOCSETS -DNOHELP -DNOSCRIPT -DNOSPL -DNOXMIT -DNOSETBUF \ -DNOMSEND -DNOFRILLS -DNOPARSEN -DNOAPC $(KFLAGS) \ -DSTR_FILE=\\\"/usr/local/lib/cku195.sr\\\"LNKFLAGS= -iCC=./ckustr.sedCC2=cc############################################################################## Dependencies section and overlay structure for the command-line only version.wermit: 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) ckusig.$(EXT) ckustr.o strings.o \ ckctel.$(EXT) ckclib.$(EXT) $(CC2) $(LNKFLAGS) -o wermit \ ckutio.$(EXT) ckusig.$(EXT) \ -Z ckcfns.$(EXT) ckuus3.$(EXT) ckuusy.$(EXT) \ ckclib.$(EXT) ckcmai.$(EXT) \ -Z ckcpro.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \ ckuus6.$(EXT) ckuus2.$(EXT) ckctel.$(EXT) \ -Z ckucmd.$(EXT) ckuxla.$(EXT) ckuscr.$(EXT) \ ckuusr.$(EXT) ckuus7.$(EXT) ckudia.$(EXT) \ ckcfn2.$(EXT) ckcfn3.$(EXT) \ -Z ckcnet.$(EXT) ckuusx.$(EXT) ckufio.$(EXT) ckucon.$(EXT) \ -Y ckustr.o strings.o $(LIBS)# This is for the interactive version, which is too big as of C-Kermit 7.0.wermiti: 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) ckusig.$(EXT) ckustr.o strings.o $(CC2) $(LNKFLAGS) -o wermit \ ckufio.$(EXT) ckutio.$(EXT) ckcmai.$(EXT) ckusig.$(EXT) \ -Z ckcfns.$(EXT) ckuus3.$(EXT) ckuusy.$(EXT) \ -Z ckcpro.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \ ckuus6.$(EXT) ckuus2.$(EXT) \ -Z ckucmd.$(EXT) ckuxla.$(EXT) ckuscr.$(EXT) \ ckuusr.$(EXT) ckuus7.$(EXT) ckudia.$(EXT) \ -Z ckcfn2.$(EXT) ckcfn3.$(EXT) ckucon.$(EXT) \ ckcnet.$(EXT) ckuusx.$(EXT) \ -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...#ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h ckcsig.h \ ckctel.h ckclib.hckclib.$(EXT): ckclib.c ckclib.h ckcdeb.h ckcasc.h ckcsym.hckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcasc.h ckctel.h ckclib.h $(CC) CFLAGS=${EFLAGS} -c ckcpro.cckcpro.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.h ckctel.h ckclib.hckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h \ ckctel.h ckclib.hckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \ ckuxla.h ckctel.h ckclib.hckuxla.$(EXT): ckuxla.c ckcker.h ckcdeb.h ckcxla.h ckuxla.h ckctel.h ckclib.hckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckctel.h ckclib.hckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckctel.h ckclib.hckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckctel.h ckclib.hckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckctel.h ckclib.hckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h \ ckctel.h ckclib.hckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h \ ckctel.h ckclib.hckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckctel.h ckclib.hckuusx.$(EXT): ckuusx.c ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcsig.h \ ckctel.h ckclib.hckuusy.$(EXT): ckuusy.c ckcker.h ckcdeb.h ckcasc.h ckctel.h ckclib.hckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h ckctel.h ckclib.hckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h ckctel.h ckclib.hckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h ckctel.h ckclib.hckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsig.h \ ckctel.h ckclib.hckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h ckcsig.h ckctel.h ckclib.hckctel.$(EXT): ckcsym.h ckcdeb.h ckcker.h ckcnet.h ckctel.h ckclib.hwart: ckwart.$(EXT) $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT)ckcmdb.$(EXT): ckcmdb.c ckcdeb.hckwart.$(EXT): ckwart.cckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h ckcsig.h \ ckctel.h ckclib.h $(CC) CFLAGS=${EFLAGS} -c ckudia.cckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h ckcsig.h ckctel.h ckclib.hckusig.$(EXT): ckusig.c ckcsig.h ckcasc.h ckcdeb.h ckcker.h ckcnet.h ckuusr.h \ ckctel.h ckclib.h#2.11BSD#bsd211: @echo "Making C-Kermit $(CKVER) for 2.10/2.11BSD with overlays..." @echo -n "Be sure to install cku195.sr with the same pathname" @echo " specified in ckustr.c!" chmod +x ckustr.sed make wermiti CFLAGS="${OPT} ${EFLAGS}" LIBS=-lstubsbsd211noicp: @echo "Making C-Kermit $(CKVER) for 2.10/2.11BSD NOICP..." @echo -n "Be sure to install cku195.sr with the same pathname" @echo " specified in ckustr.c!" chmod +x ckustr.sed make wermit CFLAGS="${OPT} ${EFLAGS} -DNOICP" LIBS=-lstubs#2.10BSD#bsd210: @echo -n "Be sure to install ctimed with the same pathname" @echo " specified in ckustr.c for STR_CTIMED!" @echo "Making C-Kermit $(CKVER) for 2.10/2.11BSD with overlays..." @echo -n "Be sure to install cku195.sr with the same pathname" @echo " specified in ckustr.c!" chmod +x ckustr.sed make wermiti CFLAGS="${OPT} ${EFLAGS} \ -DSTR_CTIMED=\\\"/usr/lib/ctimed\\\""ctimed: $(CC2) $OPT $(EFLAGS) $(LNKFLAGS) -o ctimed cku2tm.c#Clean up intermediate and object filesclean: @echo 'Removing intermediate files...' -rm -f *.$(EXT) ckcpro.c wart strings cku195.sr ctimed wermit xs.c -rm -f xxmk.c mk.c x.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -