ckubs2.mak
上传用户:dufan58
上传日期:2007-01-05
资源大小:3407k
文件大小:11k
源码类别:

通讯/手机编程

开发平台:

Windows_Unix

  1. # CKUBS2.MAK Sun May 23 11:52:55 1999
  2. #
  3. CKVER= "7.0.195 Beta.07"
  4. #
  5. # Abbreviated version for 2.10 / 2.11 BSD, which chokes on full-size makefile
  6. # because "Make: out of memory".
  7. #
  8. # C-Kermit 6.0 was the last version that could be built with an interactive
  9. # command parser under the 2.11 BSD memory model -- it fit into the overlay
  10. # structure with only a few bytes to spare.
  11. #
  12. # C-Kermit 7.0 and later can be built only in command-line form.
  13. #
  14. # Instructions:
  15. #   1. Make sure there are no other files called "makefile" or "Makefile"
  16. #      in the same directory.
  17. #   2. Change the name of this file to "makefile".
  18. #   3. Read below about the strings file.
  19. #   4. "make bsd211" (for interactive version) or
  20. #      "make bsd211noicp" (for command-line-only version).
  21. #   5. If you are not on a system with /usr/lib/ctimed (2.10BSD for example),
  22. #      type "make bsd210" (which will compile cku2tm.c into 'ctimed')
  23. #      and then install 'ctimed' in the right place (default is /usr/lib).
  24. #   6. 2.11BSD includes ctimed and the necessary stub routines.  The 'ctimed'
  25. #      path is in <paths.h>.  The "libstubs.a" (obtained via a "-lstubs" at
  26. #      link time) contains the stub routines.
  27. #
  28. # Authors: Frank da Cruz, Columbia University, fdc@columbia.edu,
  29. # and Steven M Schultz, sms@wlv.iipo.gtegsc.com.
  30. #
  31. # Modified 4 July 1992 to reshuffle overlays (because the first one got too
  32. #   big) and to improve the method of defining the string file.  fdc.
  33. # And again 23 Aug 1992.  fdc.
  34. # And again 06 Sep 1992 to work around ckudia.c blowing up optimizers.  sms.
  35. # And again 09 Sep 1992 to incorporate cku2tm.c and new ckustr.c.  sms.
  36. # & again 19 Sep 92 to add -DMINIDIAL to reduce size of DIAL module.  fdc.
  37. # & again 7 Nov 92 because two of the segments got too big.  fdc.
  38. # & again 15-18 Apr 94, ditto, fdc.
  39. # + again 11-13 Jun 96, for version 6.0.192, fdc.
  40. # 18 Jul 96 to incorporate new 'ctimed' and stubs, sms.
  41. # 22 Aug 96 to reshuffle overlays, fdc.
  42. # 23 May 99 for C-Kermit 7.0: add new modules and command-line-only build, fdc.
  43. ###########################################################################
  44. #
  45. # 2.10BSD and 2.11BSD (the latter to a larger extent) are the same as 4.3BSD
  46. # but without a large address space.
  47. #
  48. # A string extraction method is used to put approx. 16KB of strings into a
  49. # file.  The module ckustr.c needs to find this file when C-Kermit runs.
  50. # The pathname where this file will reside is defined below (change it if
  51. # necessary).  After make is finished, the file cku195.sr must be moved to
  52. # where ckustr.c has been told to look for it, or you can define an
  53. # environment variable KSTR to override the built-in pathname, for example:
  54. #
  55. #  setenv KSTR `pwd`/cku195.sr
  56. #
  57. # If the resulting wermit program sprews garbage all over your screen, it's
  58. # because it is reading the wrong strings file.
  59. #
  60. # If the resulting wermit program doesn't run at all because UNIX says it
  61. # is too big, it's most likely because the data segment, the root segment,
  62. # or one of the overlays is too big.  The sum of the data (mostly strings.o)
  63. # and bss (mostly static buffers) sizes must be less than about 52K (56K is
  64. # the maximum, but about 4K is needed for stdio buffers that are added in at
  65. # runtime).  If the combined data+bss size exceeds 52K, start chopping away
  66. # at static buffers.  When it is borderline (> 52K but < 56K), performance
  67. # will be terrible -- screen output will be very slow and jerky because
  68. # stdio functions are doing a system call per character because they could
  69. # not allocate any buffers.
  70. #
  71. # The maximum number of overlays is 15, but the fewer overlays, the better
  72. # the peformance.  The smaller the root segment, the bigger the overlays can
  73. # be:
  74. #
  75. #   Root   Overlay
  76. #   56KB     8KB
  77. #   48KB    16KB
  78. #   40KB    24KB  <--  This arrangement used in 6.0.192
  79. #   32KB    32KB
  80. #   24KB    40KB
  81. #   16KB    48KB
  82. #    8KB    56KB
  83. #
  84. # The hardest-hit modules should go into the root segment, so top priority
  85. # goes to ckutio and ckufio, the low-level i/o modules.  It would also be
  86. # good to put ckcpro and ckucmd in the root segment but they are too big.
  87. #
  88. # Here is the layout for 6.0.192:
  89. #
  90. # % size wermit
  91. # text    data    bss     dec     hex
  92. # 34368   25574   26414   86356   15154   total text: 126912
  93. #         overlays: 23936,24512,23872,20224
  94. #
  95. # This shows root segment text is less than 40K,
  96. # data+bss is less than 52K, and each overlay is less than 24K.
  97. #
  98. ###########################################################################
  99. #
  100. # Compile and Link variables:
  101. #
  102. # EXT is the extension (file type) for object files, normally o.
  103. # EFLAGS is the CFLAGS _without_ the optimize flag (that is added separately).
  104. #  The optimizer can not handle a couple modules (ckcpro.c and ckudia.c).
  105. #  Sometimes this happens silently -- it just dies.
  106. #  In that case there might be a message like:
  107. #    Fatal error in /lib/c2 (which is the optimizer)
  108. #    mv: x.o: Cannot access: No such file or directory
  109. # NOTE: You can't add any more -D's to these because there is already
  110. #  the maximum number of them.  See ckcker.h and ckucmd.h for additional
  111. #  PDP-11 feature disabling.
  112. EXT=o
  113. OPT=-O
  114. EFLAGS=-DBSD43 -DLCKDIR -DNODEBUG -DNOTLOG -DNODIAL 
  115. -DNOCSETS -DNOHELP -DNOSCRIPT -DNOSPL -DNOXMIT -DNOSETBUF 
  116. -DNOMSEND -DNOFRILLS -DNOPARSEN -DNOAPC $(KFLAGS) 
  117. -DSTR_FILE=\"/usr/local/lib/cku195.sr\"
  118. LNKFLAGS= -i
  119. CC=./ckustr.sed
  120. CC2=cc
  121. #
  122. ###########################################################################
  123. #
  124. # Dependencies section and overlay structure for the command-line only version.
  125. wermit: ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) 
  126. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckcpro.$(EXT) 
  127. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) 
  128. ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) 
  129. ckuscr.$(EXT) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) 
  130. ckuusx.$(EXT) ckuusy.$(EXT) ckusig.$(EXT) ckustr.o strings.o 
  131. ckctel.$(EXT) ckclib.$(EXT)
  132. $(CC2) $(LNKFLAGS) -o wermit 
  133. ckutio.$(EXT) ckusig.$(EXT)  
  134.  -Z ckcfns.$(EXT) ckuus3.$(EXT) ckuusy.$(EXT) 
  135.                     ckclib.$(EXT) ckcmai.$(EXT) 
  136.  -Z ckcpro.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) 
  137.     ckuus6.$(EXT) ckuus2.$(EXT) ckctel.$(EXT) 
  138.  -Z ckucmd.$(EXT) ckuxla.$(EXT) ckuscr.$(EXT) 
  139.     ckuusr.$(EXT) ckuus7.$(EXT) ckudia.$(EXT) 
  140.     ckcfn2.$(EXT) ckcfn3.$(EXT) 
  141.  -Z ckcnet.$(EXT) ckuusx.$(EXT) ckufio.$(EXT) ckucon.$(EXT) 
  142.  -Y ckustr.o strings.o $(LIBS)
  143. # This is for the interactive version, which is too big as of C-Kermit 7.0.
  144. wermiti: ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) 
  145. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckcpro.$(EXT) 
  146. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) 
  147. ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) 
  148. ckuscr.$(EXT) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) 
  149. ckuusx.$(EXT) ckuusy.$(EXT) ckusig.$(EXT) ckustr.o strings.o
  150. $(CC2) $(LNKFLAGS) -o wermit 
  151. ckufio.$(EXT) ckutio.$(EXT) ckcmai.$(EXT) ckusig.$(EXT)  
  152.  -Z ckcfns.$(EXT) ckuus3.$(EXT) ckuusy.$(EXT) 
  153.  -Z ckcpro.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) 
  154.     ckuus6.$(EXT) ckuus2.$(EXT) 
  155.  -Z ckucmd.$(EXT) ckuxla.$(EXT) ckuscr.$(EXT) 
  156.     ckuusr.$(EXT) ckuus7.$(EXT) ckudia.$(EXT) 
  157.  -Z ckcfn2.$(EXT) ckcfn3.$(EXT) ckucon.$(EXT) 
  158.     ckcnet.$(EXT) ckuusx.$(EXT) 
  159.  -Y ckustr.o strings.o $(LIBS)
  160. strings.o: strings
  161. xstr
  162. cc -c xs.c
  163. mv -f xs.o strings.o
  164. rm -f xs.c
  165. ###########################################################################
  166. # Dependencies for each module...
  167. #
  168. ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h ckcsig.h 
  169. ckctel.h ckclib.h
  170. ckclib.$(EXT): ckclib.c ckclib.h ckcdeb.h ckcasc.h ckcsym.h
  171. ckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcasc.h ckctel.h ckclib.h
  172. $(CC) CFLAGS=${EFLAGS} -c ckcpro.c
  173. ckcpro.c: ckcpro.w wart ckcdeb.h ckcasc.h ckcker.h
  174. ./wart ckcpro.w ckcpro.c
  175. ckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h 
  176. ckuxla.h ckctel.h ckclib.h
  177. ckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckuxla.h 
  178. ckctel.h ckclib.h
  179. ckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h 
  180. ckuxla.h ckctel.h ckclib.h
  181. ckuxla.$(EXT): ckuxla.c ckcker.h ckcdeb.h ckcxla.h ckuxla.h ckctel.h ckclib.h
  182. ckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h 
  183. ckcasc.h ckcnet.h ckctel.h ckclib.h
  184. ckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h 
  185. ckcasc.h ckctel.h ckclib.h
  186. ckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h 
  187. ckcasc.h ckcnet.h ckctel.h ckclib.h
  188. ckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h 
  189. ckcasc.h ckcnet.h ckctel.h ckclib.h
  190. ckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h 
  191. ckctel.h ckclib.h
  192. ckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h 
  193. ckctel.h ckclib.h
  194. ckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h 
  195. ckcasc.h ckcnet.h ckctel.h ckclib.h
  196. ckuusx.$(EXT): ckuusx.c  ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcsig.h 
  197. ckctel.h ckclib.h
  198. ckuusy.$(EXT): ckuusy.c  ckcker.h ckcdeb.h ckcasc.h ckctel.h ckclib.h
  199. ckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h ckctel.h ckclib.h
  200. ckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h ckctel.h ckclib.h
  201. ckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h ckctel.h ckclib.h
  202. ckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsig.h 
  203. ckctel.h ckclib.h
  204. ckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h ckcsig.h ckctel.h ckclib.h
  205. ckctel.$(EXT): ckcsym.h ckcdeb.h ckcker.h ckcnet.h ckctel.h ckclib.h
  206. wart: ckwart.$(EXT)
  207. $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT)
  208. ckcmdb.$(EXT): ckcmdb.c ckcdeb.h
  209. ckwart.$(EXT): ckwart.c
  210. ckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h ckcsig.h 
  211. ckctel.h ckclib.h
  212. $(CC) CFLAGS=${EFLAGS} -c ckudia.c
  213. ckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h ckcsig.h ckctel.h ckclib.h
  214. ckusig.$(EXT): ckusig.c ckcsig.h ckcasc.h ckcdeb.h ckcker.h ckcnet.h ckuusr.h 
  215. ckctel.h ckclib.h
  216. #2.11BSD
  217. #
  218. bsd211:
  219. @echo "Making C-Kermit $(CKVER) for 2.10/2.11BSD with overlays..."
  220. @echo -n "Be sure to install cku195.sr with the same pathname"
  221. @echo " specified in ckustr.c!"
  222. chmod +x ckustr.sed
  223. make wermiti CFLAGS="${OPT} ${EFLAGS}" LIBS=-lstubs
  224. bsd211noicp:
  225. @echo "Making C-Kermit $(CKVER) for 2.10/2.11BSD NOICP..."
  226. @echo -n "Be sure to install cku195.sr with the same pathname"
  227. @echo " specified in ckustr.c!"
  228. chmod +x ckustr.sed
  229. make wermit CFLAGS="${OPT} ${EFLAGS} -DNOICP" LIBS=-lstubs
  230. #2.10BSD
  231. #
  232. bsd210:
  233. @echo -n "Be sure to install ctimed with the same pathname"
  234. @echo " specified in ckustr.c for STR_CTIMED!"
  235. @echo "Making C-Kermit $(CKVER) for 2.10/2.11BSD with overlays..."
  236. @echo -n "Be sure to install cku195.sr with the same pathname"
  237. @echo " specified in ckustr.c!"
  238. chmod +x ckustr.sed
  239. make wermiti CFLAGS="${OPT} ${EFLAGS} 
  240. -DSTR_CTIMED=\"/usr/lib/ctimed\""
  241. ctimed:
  242. $(CC2) $OPT $(EFLAGS) $(LNKFLAGS) -o ctimed cku2tm.c
  243. #Clean up intermediate and object files
  244. clean:
  245. @echo 'Removing intermediate files...'
  246. -rm -f *.$(EXT) ckcpro.c wart strings cku195.sr ctimed wermit xs.c
  247. -rm -f xxmk.c mk.c x.c