home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / W / WWIVSOR.ZIP / MAKEFILE.BCC < prev    next >
Text File  |  1995-02-20  |  8KB  |  338 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  bbsutl2.obj  \
  97.         com.obj      conio.obj    connect1.obj extrn.obj    \
  98.         mmenu.obj    modem.obj    msgbase.obj  msgbase1.obj \
  99.         share.obj    strings.obj  subacc.obj   utility.obj  \
  100.         xfer.obj     ripspeed.obj
  101.  
  102. BBS_O_NRM = \
  103.         $(OBJ)\bbs.obj      $(OBJ)\bbsutl.obj   $(OBJ)\bbsutl1.obj  \
  104.         $(OBJ)\bbsutl2.obj  $(OBJ)\com.obj      $(OBJ)\conio.obj    \
  105.         $(OBJ)\connect1.obj $(OBJ)\extrn.obj    $(OBJ)\mmenu.obj    \
  106.         $(OBJ)\modem.obj    $(OBJ)\msgbase.obj  $(OBJ)\msgbase1.obj \
  107.         $(OBJ)\share.obj    $(OBJ)\strings.obj  $(OBJ)\subacc.obj   \
  108.         $(OBJ)\utility.obj  $(OBJ)\xfer.obj     $(OBJ)\ripspeed.obj \
  109.         
  110.  
  111. #############################################################################
  112. #
  113. # Overlaid bbs files
  114. #
  115. BBS_OVL = \
  116.         batch.obj    bbsovl1.obj  bbsovl2.obj  bbsovl3.obj  \
  117.         chnedit.obj  conf.obj     defaults.obj diredit.obj  \
  118.         extrn1.obj   gfiles.obj   gfledit.obj  ini.obj      \
  119.         instmsg.obj  lilo.obj     misccmd.obj  multinst.obj \
  120.         multmail.obj netsup.obj   newuser.obj  readmail.obj \
  121.         sr.obj       srrcv.obj    srsend.obj   subedit.obj  \
  122.         subreq.obj   subxtr.obj   sysopf.obj   tedit.obj    \
  123.         uedit.obj    voteedit.obj xferovl.obj  xferovl2.obj \
  124.         xfertmp.obj  xinit.obj    qwk.obj      qwk1.obj     \
  125.         ripovl.obj   
  126.  
  127. BBS_O_OVL = \
  128.         $(OBJ)\batch.obj    $(OBJ)\bbsovl1.obj  $(OBJ)\bbsovl2.obj  \
  129.         $(OBJ)\bbsovl3.obj  $(OBJ)\chnedit.obj  $(OBJ)\conf.obj     \
  130.         $(OBJ)\defaults.obj $(OBJ)\diredit.obj  $(OBJ)\extrn1.obj   \
  131.         $(OBJ)\gfiles.obj   $(OBJ)\gfledit.obj  $(OBJ)\ini.obj      \
  132.         $(OBJ)\instmsg.obj  $(OBJ)\lilo.obj     $(OBJ)\misccmd.obj  \
  133.         $(OBJ)\multinst.obj $(OBJ)\multmail.obj $(OBJ)\netsup.obj   \
  134.         $(OBJ)\newuser.obj  $(OBJ)\readmail.obj $(OBJ)\sr.obj       \
  135.         $(OBJ)\srrcv.obj    $(OBJ)\srsend.obj   $(OBJ)\subedit.obj  \
  136.         $(OBJ)\subreq.obj   $(OBJ)\subxtr.obj   $(OBJ)\sysopf.obj   \
  137.         $(OBJ)\tedit.obj    $(OBJ)\uedit.obj    $(OBJ)\voteedit.obj \
  138.         $(OBJ)\xferovl.obj  $(OBJ)\xferovl2.obj $(OBJ)\xfertmp.obj  \
  139.         $(OBJ)\xinit.obj    $(OBJ)\qwk.obj      $(OBJ)\qwk1.obj     \
  140.         $(OBJ)\ripovl.obj
  141.  
  142.  
  143. #############################################################################
  144. #
  145. # Building everything requires bbs.exe, return.exe, miniesm.exe and fix.exe.
  146. #
  147.  
  148. all: bbs.exe return.exe miniesm.exe fix.exe
  149.  
  150. #############################################################################
  151. #
  152. # Building return.exe is easy.
  153. #
  154.  
  155. return.exe: return.obj share.obj version.c
  156.   $(TCC_VER)
  157.   tlink /c /x @&&|
  158. c0l $(OBJ)\return.obj $(OBJ)\share.obj $(OBJ)\version.obj
  159. $*
  160. nul
  161. $(LIB87) mathl cl
  162. |
  163.  
  164. miniesm.exe: miniesm.c strings.c share.c
  165.   $(TCC_NRM)
  166.   tlink /c /x @&&|
  167.   c0l $(OBJ)\miniesm.obj
  168.   $*
  169.   nul
  170.   $(LIB87) mathl cl
  171. |
  172.  
  173. fix.exe: fix.obj
  174.   $(TCC_VER)
  175.   tlink /c /x c0l+$(OBJ)\fix+$(OBJ)\version,$(EXE)\fix,,$(LIB87)+mathl+cl
  176.  
  177.  
  178. #############################################################################
  179. #
  180. # How to link the BBS
  181. #
  182.  
  183. bbs.exe: $(BBS_NRM) $(BBS_OVL) version.c
  184.   $(TCC_VER)
  185.   tlink /c @&&|
  186.   shrnka.obj c0l $(OBJ)\version.obj $(BBS_O_NRM) ripint.obj $(OVER_START) $(BBS_O_OVL) $(OVER_END)
  187. $*
  188. bbs.map
  189. shrnk $(LIB87) mathl $(OVER_LIB) cl
  190. |
  191. #  c0l $(OBJ)\version.obj $(BBS_O_NRM) $(OVER_START) $(BBS_O_OVL) $(OVER_END)
  192. #$(LIB87) mathl $(OVER_LIB) cl
  193.  
  194. #############################################################################
  195. #
  196. # How to make non-overlaid BBS files
  197. #
  198.  
  199. bbs.obj     : bbs.c
  200.   $(TCC_NRM)
  201. bbsutl.obj  : bbsutl.c
  202.   $(TCC_NRM)
  203. bbsutl1.obj : bbsutl1.c
  204.   $(TCC_NRM)
  205. bbsutl2.obj : bbsutl2.c
  206.   $(TCC_NRM)
  207. com.obj     : com.c
  208.   $(TCC_NRM)
  209. conio.obj   : conio.c
  210.   $(TCC_NRM)
  211. connect1.obj: connect1.c
  212.   $(TCC_NRM)
  213. extrn.obj   : extrn.c
  214.   $(TCC_NRM)
  215. mmenu.obj   : mmenu.c
  216.   $(TCC_NRM)
  217. modem.obj   : modem.c
  218.   $(TCC_NRM)
  219. msgbase.obj : msgbase.c
  220.   $(TCC_NRM)
  221. msgbase1.obj: msgbase1.c
  222.   $(TCC_NRM)
  223. strings.obj : strings.c
  224.   $(TCC_NRM)
  225. share.obj   : share.c
  226.   $(TCC_NRM)
  227. subacc.obj  : subacc.c
  228.   $(TCC_NRM)
  229. utility.obj : utility.c
  230.   $(TCC_NRM)
  231. xfer.obj    : xfer.c
  232.   $(TCC_NRM)
  233. ripspeed.obj: ripspeed.c
  234.   $(TCC_NRM)
  235.  
  236. #############################################################################
  237. #
  238. # how to make overlaid BBS files
  239. #
  240.  
  241. batch.obj   : batch.c
  242.   $(TCC_OVL)
  243. bbsovl1.obj : bbsovl1.c
  244.   $(TCC_OVL)
  245. bbsovl2.obj : bbsovl2.c
  246.   $(TCC_OVL)
  247. bbsovl3.obj : bbsovl3.c
  248.   $(TCC_OVL)
  249. chnedit.obj : chnedit.c
  250.   $(TCC_OVL)
  251. conf.obj    : conf.c
  252.   $(TCC_OVL)
  253. defaults.obj: defaults.c
  254.   $(TCC_OVL)
  255. diredit.obj : diredit.c
  256.   $(TCC_OVL)
  257. extrn1.obj  : extrn1.c
  258.   $(TCC_OVL)
  259. gfiles.obj  : gfiles.c
  260.   $(TCC_OVL)
  261. gfledit.obj : gfledit.c
  262.   $(TCC_OVL)
  263. ini.obj     : ini.c
  264.   $(TCC_OVL)
  265. instmsg.obj : instmsg.c
  266.   $(TCC_OVL)
  267. lilo.obj    : lilo.c
  268.   $(TCC_OVL)
  269. misccmd.obj : misccmd.c
  270.   $(TCC_OVL)
  271. multinst.obj: multinst.c
  272.   $(TCC_OVL)
  273. multmail.obj: multmail.c
  274.   $(TCC_OVL)
  275. netsup.obj  : netsup.c
  276.   $(TCC_OVL)
  277. newuser.obj : newuser.c
  278.   $(TCC_OVL)
  279. readmail.obj: readmail.c
  280.   $(TCC_OVL)
  281. shrink.obj  : shrink.c
  282.   $(TCC_OVL)
  283. sr.obj      : sr.c
  284.   $(TCC_OVL)
  285. srrcv.obj   : srrcv.c
  286.   $(TCC_OVL)
  287. srsend.obj  : srsend.c
  288.   $(TCC_OVL)
  289. subedit.obj : subedit.c
  290.   $(TCC_OVL)
  291. subreq.obj  : subreq.c
  292.   $(TCC_OVL)
  293. subxtr.obj  : subxtr.c
  294.   $(TCC_OVL)
  295. sysopf.obj  : sysopf.c
  296.   $(TCC_OVL)
  297. tedit.obj   : tedit.c
  298.   $(TCC_OVL)
  299. uedit.obj   : uedit.c
  300.   $(TCC_OVL)
  301. voteedit.obj: voteedit.c
  302.   $(TCC_OVL)
  303. xferovl.obj : xferovl.c
  304.   $(TCC_OVL)
  305. xferovl2.obj: xferovl2.c
  306.   $(TCC_OVL)
  307. xfertmp.obj : xfertmp.c
  308.   $(TCC_OVL)
  309. xinit.obj   : xinit.c
  310.   $(TCC_OVL)
  311. qwk.obj     : qwk.c
  312.   $(TCC_OVL)
  313. qwk1.obj    : qwk1.c
  314.   $(TCC_OVL)
  315. ripovl.obj  : ripovl.c
  316.   $(TCC_OVL)
  317.  
  318. fix.obj     : fix.c
  319.   $(TCC)
  320.  
  321.  
  322. #############################################################################
  323. #
  324. # how to make the fcns.h file.
  325. #
  326.  
  327.  
  328. .\strip.exe: strip.c
  329.   bcc -ml strip.c
  330.   del strip.obj
  331.  
  332. fcns: .\strip.exe
  333.   del fcns.h
  334.   strip fcns.h &&|
  335. $(BBS_NRM) $(BBS_OVL)
  336. |
  337.  
  338.