home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / WWIV2.ZIP / MAKEFILE.BCC < prev    next >
Text File  |  1993-01-03  |  7KB  |  286 lines

  1. #############################################################################
  2. #
  3. # This is the makefile for BC++ 2.0.
  4. #
  5. # Rename this file to 'makefile.mak' to use it.
  6. #
  7.  
  8. .autodepend
  9. .nosilent
  10.  
  11. #############################################################################
  12. #
  13. # Define the paths for the various types of files.
  14. #
  15.  
  16. SRC=.
  17. OBJ=obj
  18. EXE=exe
  19.  
  20. .path.c   = $(SRC)
  21. .path.obj = $(OBJ)
  22. .path.exe = $(EXE)
  23. .path.com = $(EXE)
  24.  
  25.  
  26. #############################################################################
  27. #
  28. # Get 286 and 87 options.  Define the env-var "87" or "286" and the
  29. # corresponding type of executable will be built automatically
  30. #
  31.  
  32. !if $d(87)
  33. OPS87=-f87
  34. LIB87=fp87
  35. !else
  36. LIB87=emu
  37. !endif
  38.  
  39. !if $d(286)
  40. OPS286=-1
  41. !endif
  42.  
  43.  
  44. #############################################################################
  45. #
  46. # Code to specify options for the overlays.  Comment out these lines
  47. # to not use overlays.
  48. #
  49.  
  50. OVER_START = /o
  51. OVER_END = /o-
  52. OVER_LIB= overlay.lib
  53. USE_OVERLAYS=
  54.  
  55.  
  56. #############################################################################
  57. #
  58. # Define command lines to use.
  59. #
  60.  
  61. !if $d(386)
  62. COMPILER=bccx
  63. !else
  64. COMPILER=bcc
  65. !endif
  66.  
  67. TCOPTS= -O -Z -d -ml -r -N- $(OPS87) $(OPS286) -c
  68.  
  69. TCC = $(COMPILER) $(TCOPTS) $(TCC_OPTS) -n$(OBJ) {$(SRC)\$&.c }
  70.  
  71. !if $d(USE_OVERLAYS)
  72. TCC_NRM = $(COMPILER) -H=$(OBJ)\bbs.sym $(TCOPTS) $(TCC_OPTS) -Y -n$(OBJ) {$(SRC)\$&.c }
  73. TCC_OVL = $(COMPILER) -H=$(OBJ)\bbs.sym $(TCOPTS) $(TCC_OPTS) -Yo -n$(OBJ) {$(SRC)\$&.c }
  74. TCC_VER = $(COMPILER) $(TCOPTS) $(TCC_OPTS) -Y -n$(OBJ) version.c
  75. !else
  76. TCC_NRM = $(TCC)
  77. TCC_OVL = $(TCC)
  78. TCC_VER = $(COMPILER) $(TCOPTS) $(TCC_OPTS) -n$(OBJ) version.c
  79. !endif
  80.  
  81.  
  82. #############################################################################
  83. #
  84. # generic compilation rule
  85. #
  86. .c.obj:
  87.   $(TCC)
  88.  
  89.  
  90. #############################################################################
  91. #
  92. #
  93. # Normal, non-overlaid bbs files
  94. #
  95. BBS_NRM = \
  96.         bbs.obj bbsutl.obj bbsutl1.obj com.obj conio.obj connect1.obj\
  97.         extrn.obj modem.obj msgbase.obj msgbase1.obj shrink.obj sr.obj\
  98.         utility.obj xfer.obj strings.obj
  99.  
  100. BBS_O_NRM = \
  101.         $(OBJ)\bbs.obj $(OBJ)\bbsutl.obj $(OBJ)\bbsutl1.obj\
  102.         $(OBJ)\com.obj $(OBJ)\conio.obj $(OBJ)\connect1.obj\
  103.         $(OBJ)\extrn.obj $(OBJ)\modem.obj $(OBJ)\msgbase.obj\
  104.         $(OBJ)\msgbase1.obj $(OBJ)\shrink.obj $(OBJ)\sr.obj\
  105.         $(OBJ)\utility.obj $(OBJ)\xfer.obj $(OBJ)\strings.obj
  106.  
  107. #############################################################################
  108. #
  109. # Overlaid bbs files
  110. #
  111. BBS_OVL = \
  112.         batch.obj chnedit.obj defaults.obj diredit.obj gfiles.obj\
  113.         gfledit.obj lilo.obj misccmd.obj multmail.obj netsup.obj\
  114.         newuser.obj srrcv.obj srsend.obj subedit.obj subreq.obj\
  115.         sysopf.obj tedit.obj uedit.obj voteedit.obj xferovl.obj\
  116.         xfertmp.obj xinit.obj subxtr.obj
  117.  
  118. BBS_O_OVL = \
  119.         $(OBJ)\batch.obj $(OBJ)\chnedit.obj $(OBJ)\defaults.obj\
  120.         $(OBJ)\diredit.obj $(OBJ)\gfiles.obj $(OBJ)\gfledit.obj\
  121.         $(OBJ)\lilo.obj $(OBJ)\misccmd.obj $(OBJ)\multmail.obj\
  122.         $(OBJ)\netsup.obj $(OBJ)\newuser.obj $(OBJ)\srrcv.obj\
  123.         $(OBJ)\srsend.obj $(OBJ)\subedit.obj $(OBJ)\subreq.obj\
  124.         $(OBJ)\sysopf.obj $(OBJ)\tedit.obj $(OBJ)\uedit.obj\
  125.         $(OBJ)\voteedit.obj $(OBJ)\xferovl.obj $(OBJ)\xfertmp.obj\
  126.         $(OBJ)\xinit.obj $(OBJ)\subxtr.obj
  127.  
  128.  
  129. #############################################################################
  130. #
  131. # Building everything requires bbs.exe, return.exe, and bbs.com.
  132. #
  133.  
  134. all: bbs.exe return.exe bbs.com miniesm.exe
  135.  
  136. #############################################################################
  137. #
  138. # Building return.exe and bbs.com is easy.
  139. #
  140.  
  141. return.exe: return.obj version.c
  142.   $(TCC_VER)
  143.   tlink /c /x @&&^
  144. c0l $(OBJ)\return.obj $(OBJ)\version.obj
  145. $*
  146. nul
  147. $(LIB87) mathl cl
  148. ^
  149.  
  150. bbs.com: loader.asm
  151.   @echo You do not really need to compile loader.asm, as bbs.com comes with
  152.   @echo the source code already.  Put it in the $(EXE) directory to avoid
  153.   @echo this error if you do not have tasm installed.
  154.   tasm loader,$(OBJ)\loader.obj
  155.   tlink /c /x /t $(OBJ)\loader,$(EXE)\bbs.com
  156.  
  157.  
  158. miniesm.exe: miniesm.c strings.c
  159.   $(TCC_NRM)
  160.   tlink /c /x @&&^
  161.   c0l $(OBJ)\miniesm.obj
  162.   $*
  163.   nul
  164.   $(LIB87) mathl cl
  165. ^
  166.  
  167. #############################################################################
  168. #
  169. # How to link the BBS
  170. #
  171.  
  172. bbs.exe: $(BBS_NRM) $(BBS_OVL) version.c
  173.   $(TCC_VER)
  174.   tlink /c /x @&&^
  175.   c0l $(OBJ)\version.obj $(BBS_O_NRM) $(OVER_START) $(BBS_O_OVL) $(OVER_END)
  176. $*
  177. nul
  178. $(LIB87) mathl $(OVER_LIB) cl
  179. ^
  180.  
  181. #############################################################################
  182. #
  183. # How to make non-overlaid BBS files
  184. #
  185.  
  186. bbs.obj     : bbs.c
  187.   $(TCC_NRM)
  188. modem.obj   : modem.c
  189.   $(TCC_NRM)
  190. bbsutl.obj  : bbsutl.c
  191.   $(TCC_NRM)
  192. bbsutl1.obj : bbsutl1.c
  193.   $(TCC_NRM)
  194. com.obj     : com.c
  195.   $(TCC_NRM)
  196. conio.obj   : conio.c
  197.   $(TCC_NRM)
  198. connect1.obj: connect1.c
  199.   $(TCC_NRM)
  200. extrn.obj   : extrn.c
  201.   $(TCC_NRM)
  202. msgbase.obj : msgbase.c
  203.   $(TCC_NRM)
  204. msgbase1.obj: msgbase1.c
  205.   $(TCC_NRM)
  206. shrink.obj  : shrink.c
  207.   $(TCC_NRM)
  208. sr.obj      : sr.c
  209.   $(TCC_NRM)
  210. utility.obj : utility.c
  211.   $(TCC_NRM)
  212. xfer.obj    : xfer.c
  213.   $(TCC_NRM)
  214. strings.obj : strings.c
  215.   $(TCC_NRM)
  216.  
  217. #############################################################################
  218. #
  219. # how to make overlaid BBS files
  220. #
  221.  
  222. batch.obj   : batch.c
  223.   $(TCC_OVL)
  224. chnedit.obj : chnedit.c
  225.   $(TCC_OVL)
  226. defaults.obj: defaults.c
  227.   $(TCC_OVL)
  228. diredit.obj : diredit.c
  229.   $(TCC_OVL)
  230. gfiles.obj  : gfiles.c
  231.   $(TCC_OVL)
  232. gfledit.obj : gfledit.c
  233.   $(TCC_OVL)
  234. lilo.obj    : lilo.c
  235.   $(TCC_OVL)
  236. misccmd.obj : misccmd.c
  237.   $(TCC_OVL)
  238. multmail.obj: multmail.c
  239.   $(TCC_OVL)
  240. newuser.obj : newuser.c
  241.   $(TCC_OVL)
  242. netsup.obj  : netsup.c
  243.   $(TCC_OVL)
  244. srrcv.obj   : srrcv.c
  245.   $(TCC_OVL)
  246. srsend.obj  : srsend.c
  247.   $(TCC_OVL)
  248. subedit.obj : subedit.c
  249.   $(TCC_OVL)
  250. subreq.obj  : subreq.c
  251.   $(TCC_OVL)
  252. sysopf.obj  : sysopf.c
  253.   $(TCC_OVL)
  254. tedit.obj   : tedit.c
  255.   $(TCC_OVL)
  256. uedit.obj   : uedit.c
  257.   $(TCC_OVL)
  258. voteedit.obj: voteedit.c
  259.   $(TCC_OVL)
  260. xferovl.obj : xferovl.c
  261.   $(TCC_OVL)
  262. xfertmp.obj : xfertmp.c
  263.   $(TCC_OVL)
  264. xinit.obj   : xinit.c
  265.   $(TCC_OVL)
  266. subxtr.obj  : subxtr.c
  267.   $(TCC_OVL)
  268.  
  269.  
  270. #############################################################################
  271. #
  272. # how to make the fcns.h file.
  273. #
  274.  
  275.  
  276. .\strip.exe: strip.c
  277.   bcc -ml strip.c
  278.   del strip.obj
  279.  
  280. fcns: .\strip.exe
  281.   del fcns.h
  282.   strip fcns.h &&^
  283. $(BBS_NRM) $(BBS_OVL)
  284. ^
  285.  
  286.