# CKUBS2.MAK, Wed Jul 17 22:10:40 1996 # # Abbreviated version for 2.10 / 2.11 BSD, which chokes on full-size makefile # because "Make: out of memory". # # 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" # 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). # # Author: Frank da Cruz, Columbia University Center for Computing Activities # 612 West 115th Street, New York, NY 10025, USA. Phone (212) 854-5126. # e-mail: fdc@watsun.cc.columbia.edu, fdc@columbia.edu, or FDCCU@CUVMA.BITNET. # BSD 2.10/2.11 specifics by Steven M Schultz, sms@wlv.iipo.gtegsc.com. # # Modified 17 July 1996 to make use of '-lstubs' and _PATH_CTIMED in 2.11BSD. # Also revised the sed script (ckustr.sed). sms. # 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. # ########################################################################### # # 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. 10kb 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 kermit5.sr must be moved # to where ckustr.c has been told to look for it. # # For testing purposes, you can define an environment variable KSTR to # override the built-in pathname, for example: # # setenv KSTR `pwd`/kermit5.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 out of memory, it's most likely because one of the overlays is too big. # The maximum size is 48K (49152 bytes) for the base segment and 15K (16384 # bytes) for each overlay. For example: # # % size wermit # 48000 + 23702 + 31064 # 16512,15936,15488,11072 # # This shows that the first overlay is too large. The cure is move the # smallest module from the first overlay into the last (smallest) overlay. # Try hard not to mess with the selection of modules in the root segment. # ########################################################################### # # Compile and Link variables: # # EXT is the extension (file type) for object files, normally o. # EFLAGS is the set of options and flags _EXCLUDING_ the optimize flag. # EXT=o OPT= -O EFLAGS=-DBSD43 -DLCKDIR -DNODEBUG -DNOTLOG -DMINIDIAL \ -DNOCSETS -DNOHELP -DNOSCRIPT -DNOSPL -DNOXMIT -DNOSETBUF $(KFLAGS) \ -DSTR_FILE=\\\"/usr/local/lib/kermit5.sr\\\" LNKFLAGS= -i CC=./ckustr.sed CC2=cc # ########################################################################### # # Dependencies Section, including wermit overlay structure. 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) ckustr.o strings.o $(CC2) $(LNKFLAGS) -o wermit \ ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \ ckcfn3.$(EXT) \ -Z ckcmai.$(EXT) ckuusr.$(EXT) ckucmd.$(EXT) \ -Z ckuus4.$(EXT) ckuus5.$(EXT) ckcpro.$(EXT) ckuus6.$(EXT) \ -Z ckuus7.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) \ ckuusy.$(EXT) \ -Z ckuus2.$(EXT) ckuusx.$(EXT) ckucon.$(EXT) \ ckuus3.$(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 ckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcasc.h ckcpro.c: ckcpro.w wart ckcdeb.h ckcasc.h ckcker.h ./wart ckcpro.w ckcpro.c ckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \ ckuxla.h ckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h ckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \ ckuxla.h ckuxla.$(EXT): ckuxla.c ckcker.h ckcdeb.h ckcxla.h ckuxla.h ckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \ ckcasc.h ckcnet.h ckuusx.$(EXT): ckuusx.c ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckuusy.$(EXT): ckuusy.c ckcker.h ckcdeb.h ckcasc.h ckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h ckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h ckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h ckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h wart: ckwart.$(EXT) $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT) ckcmdb.$(EXT): ckcmdb.c ckcdeb.h ckwart.$(EXT): ckwart.c ckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h $(CC) CFLAGS=${EFLAGS} -c ckudia.c ckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h #2.11BSD # bsd211: @echo "Making C-Kermit 5A for 2BSD with overlays..." @echo -n "Be sure to install kermit5.sr with the same pathname" @echo " specified in ckustr.c!" chmod +x ckustr.sed make wermit CFLAGS="${OPT} ${EFLAGS}" 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 5A for 2BSD with overlays..." @echo -n "Be sure to install kermit5.sr with the same pathname" @echo " specified in ckustr.c!" chmod +x ckustr.sed make wermit ctimed CFLAGS="${OPT} ${EFLAGS} \ -DSTR_CTIMED=\\\"/usr/lib/ctimed\\\"" ctimed: $(CC2) $(CFLAGS) $(LNKFLAGS) -o ctimed cku2tm.c #Clean up intermediate and object files clean: @echo 'Removing intermediate files...' -rm -f *.$(EXT) ckcpro.c wart strings kermit5.sr ctimed wermit xs.c -rm -f xxmk.c mk.c x.c