home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / UTIL / WWIVE / MAKEFILE.MAK < prev    next >
Text File  |  1991-12-21  |  7KB  |  248 lines

  1. #############################################################################
  2. #
  3. # This is the makefile for TC v2.0 and TC++ (1.0).
  4. #
  5. # Rename this file to 'makefile.mak' to use it.
  6. #
  7.  
  8.  
  9. #############################################################################
  10. #
  11. # Specify directories to use
  12. #
  13.  
  14. !if $(__MAKE__) >= 0x0300
  15. TC  = c:\tcpp
  16. !else
  17. TC  = c:\tc
  18. !endif
  19.  
  20. OBJ = obj\\
  21.  
  22. EXE = exe\\
  23.  
  24.  
  25. #############################################################################
  26. #
  27. # Get 286 and 87 options.  Define the env-var "87" or "286" and the
  28. # corresponding type of executable will be built automatically
  29. #
  30.  
  31. !if $d(87)
  32. OPS87=-f87
  33. LIB87=fp87
  34. !else
  35. LIB87=emu
  36. !endif
  37.  
  38. !if $d(286)
  39. OPS286=-1
  40. !endif
  41.  
  42.  
  43. #############################################################################
  44. #
  45. # Decide if we want to use TC++ or TC 1.5/2.0.  If make version is 3.0, then
  46. # assume the user has TC++.  If this is not correct, fix it yourself.
  47. #
  48.  
  49. !if $(__MAKE__) >= 0x0300
  50. C_PLUS_PLUS = YES
  51. USE_OVERLAYS = YES
  52. !endif
  53.  
  54. !if $d(USE_OVERLAYS)
  55. OVER_START = /o
  56. OVER_END = /o-
  57. OVER_LIB = $(TC)\lib\overlay
  58. !endif
  59.  
  60.  
  61. #############################################################################
  62. #
  63. # Define command lines to use.
  64. #
  65. #
  66.  
  67. TCOPTS= -O -d -r -ml -N- -Z -c $(OPS87) $(OPS286)
  68.  
  69. TCC = tcc $(TCOPTS) $(TCC_OPTS) -I$(TC)\include -n$(OBJ) $&.c
  70.  
  71.  
  72. !if $d(USE_OVERLAYS)
  73. TCC_NRM = tcc $(TCOPTS) $(TCC_OPTS) -Y -I$(TC)\include -n$(OBJ) $&.c
  74. TCC_OVL = tcc $(TCOPTS) $(TCC_OPTS) -Yo -I$(TC)\include -n$(OBJ) $&.c
  75.  
  76. !else
  77. TCC_NRM = $(TCC)
  78. TCC_OVL = $(TCC)
  79. !endif
  80.  
  81.  
  82.  
  83. #############################################################################
  84. #
  85. #
  86. # Normal, non-overlaid bbs files
  87. #
  88. BBS_NRM = \
  89.         $(OBJ)bbs.obj $(OBJ)bbsutl.obj $(OBJ)bbsutl1.obj $(OBJ)com.obj\
  90.         $(OBJ)conio.obj $(OBJ)connect1.obj $(OBJ)extrn.obj $(OBJ)modem.obj\
  91.         $(OBJ)msgbase.obj $(OBJ)msgbase1.obj $(OBJ)shrink.obj $(OBJ)sr.obj\
  92.         $(OBJ)utility.obj $(OBJ)xfer.obj $(OBJ)netsup.obj
  93. #
  94. # Overlaid bbs files
  95. #
  96. BBS_OVL = \
  97.         $(OBJ)newuser.obj $(OBJ)sysopf.obj $(OBJ)voteedit.obj\
  98.         $(OBJ)gfledit.obj $(OBJ)tedit.obj $(OBJ)chnedit.obj\
  99.         $(OBJ)uedit.obj $(OBJ)diredit.obj $(OBJ)subedit.obj\
  100.         $(OBJ)xferovl.obj $(OBJ)multmail.obj $(OBJ)gfiles.obj\
  101.         $(OBJ)defaults.obj $(OBJ)misccmd.obj $(OBJ)xinit.obj\
  102.         $(OBJ)xfertmp.obj $(OBJ)batch.obj $(OBJ)srrcv.obj\
  103.         $(OBJ)srsend.obj $(OBJ)lilo.obj
  104.  
  105. #############################################################################
  106. #
  107. # Building everything requires bbs.exe, return.exe, and bbs.com.
  108. #
  109.  
  110. all: $(EXE)bbs.exe $(EXE)return.exe $(EXE)bbs.com
  111.  
  112. #############################################################################
  113. #
  114. # Building return.exe and bbs.com is easy and the same everywhere.
  115. #
  116.  
  117. $(EXE)return.exe: $(OBJ)return.obj
  118.   tlink /c /x $(TC)\lib\c0l+$(OBJ)return,$(EXE)return,,$(TC)\lib\$(LIB87)+\
  119.     $(TC)\lib\mathl+$(TC)\lib\cl
  120.  
  121. $(EXE)bbs.com  : loader.asm
  122.   @echo You do not really need to compile loader.asm, as bbs.com comes with
  123.   @echo the source code already.  Put it in the $(EXE) directory to avoid
  124.   @echo this error if you do not have tasm installed.
  125.   tasm loader,$(OBJ)loader.obj
  126.   tlink /c /x /t $(OBJ)loader,$(EXE)bbs.com
  127.  
  128.  
  129. #############################################################################
  130. #
  131. # make v3.0 supports response files, previous versions were brain-dead.
  132. #
  133.  
  134. !if $(__MAKE__) >= 0x0300
  135.  
  136. $(EXE)bbs.exe: $(BBS_NRM) $(BBS_OVL)
  137.   tlink /c /x @&&^
  138. $(TC)\lib\c0l.obj $(BBS_NRM) $(OVER_START) $(BBS_OVL) $(OVER_END)
  139. $(EXE)bbs
  140. bbs.map
  141. $(TC)\lib\$(LIB87) $(TC)\lib\mathl $(OVER_LIB) $(TC)\lib\cl
  142. ^
  143.  
  144. !else
  145.  
  146. $(EXE)bbs.exe: $(BBS_NRM) $(BBS_OVL) linkfile
  147.   tlink /c /x @linkfile,$(EXE)bbs,bbs.map,$(TC)\lib\$(LIB87)+$(TC)\lib\mathl+$(TC)\lib\cl
  148.  
  149. linkfile: makefile.mak makelf.bat
  150.   @command /c makelf $(TC) $(OBJ)
  151.  
  152. !endif
  153.  
  154. #############################################################################
  155. #
  156. # How each of the .OBJ files depends upon source files.
  157. #
  158.  
  159.  
  160. $(OBJ)bbs.obj     : bbs.c      vars.h vardec.h net.h
  161.   $(TCC_NRM)
  162. $(OBJ)modem.obj   : modem.c    vars.h vardec.h net.h
  163.   $(TCC_NRM)
  164. $(OBJ)bbsutl.obj  : bbsutl.c   vars.h vardec.h net.h
  165.   $(TCC_NRM)
  166. $(OBJ)bbsutl1.obj : bbsutl1.c  vars.h vardec.h net.h
  167.   $(TCC_NRM)
  168. $(OBJ)com.obj     : com.c      vars.h vardec.h net.h
  169.   $(TCC_NRM)
  170. $(OBJ)conio.obj   : conio.c    vars.h vardec.h net.h
  171.   $(TCC_NRM)
  172. $(OBJ)connect1.obj: connect1.c vars.h vardec.h net.h
  173.   $(TCC_NRM)
  174. $(OBJ)extrn.obj   : extrn.c    vars.h vardec.h net.h
  175.   $(TCC_NRM)
  176. $(OBJ)msgbase.obj : msgbase.c  vars.h vardec.h net.h
  177.   $(TCC_NRM)
  178. $(OBJ)msgbase1.obj: msgbase1.c vars.h vardec.h net.h
  179.   $(TCC_NRM)
  180. $(OBJ)newuser.obj : newuser.c  vars.h vardec.h net.h
  181.   $(TCC_OVL)
  182. $(OBJ)shrink.obj  : shrink.c   vars.h vardec.h net.h
  183.   $(TCC_NRM)
  184. $(OBJ)sr.obj      : sr.c       vars.h vardec.h net.h
  185.   $(TCC_NRM)
  186. $(OBJ)sysopf.obj  : sysopf.c   vars.h vardec.h net.h
  187.   $(TCC_OVL)
  188. $(OBJ)utility.obj : utility.c  vars.h vardec.h net.h
  189.   $(TCC_NRM)
  190. $(OBJ)xfer.obj    : xfer.c     vars.h vardec.h net.h
  191.   $(TCC_NRM)
  192. $(OBJ)netsup.obj  : netsup.c   vars.h vardec.h net.h
  193.   $(TCC_NRM)
  194. $(OBJ)voteedit.obj: voteedit.c vars.h vardec.h net.h
  195.   $(TCC_OVL)
  196. $(OBJ)gfledit.obj : gfledit.c  vars.h vardec.h net.h
  197.   $(TCC_OVL)
  198. $(OBJ)tedit.obj   : tedit.c    vars.h vardec.h net.h
  199.   $(TCC_OVL)
  200. $(OBJ)chnedit.obj : chnedit.c  vars.h vardec.h net.h
  201.   $(TCC_OVL)
  202. $(OBJ)uedit.obj   : uedit.c    vars.h vardec.h net.h
  203.   $(TCC_OVL)
  204. $(OBJ)diredit.obj : diredit.c  vars.h vardec.h net.h
  205.   $(TCC_OVL)
  206. $(OBJ)subedit.obj : subedit.c  vars.h vardec.h net.h
  207.   $(TCC_OVL)
  208. $(OBJ)xferovl.obj : xferovl.c  vars.h vardec.h net.h
  209.   $(TCC_OVL)
  210. $(OBJ)multmail.obj: multmail.c vars.h vardec.h net.h
  211.   $(TCC_OVL)
  212. $(OBJ)gfiles.obj  : gfiles.c   vars.h vardec.h net.h
  213.   $(TCC_OVL)
  214. $(OBJ)defaults.obj: defaults.c vars.h vardec.h net.h
  215.   $(TCC_OVL)
  216. $(OBJ)misccmd.obj : misccmd.c  vars.h vardec.h net.h
  217.   $(TCC_OVL)
  218. $(OBJ)xinit.obj   : xinit.c    vars.h vardec.h net.h
  219.   $(TCC_OVL)
  220. $(OBJ)xfertmp.obj : xfertmp.c  vars.h vardec.h net.h
  221.   $(TCC_OVL)
  222. $(OBJ)batch.obj   : batch.c    vars.h vardec.h net.h
  223.   $(TCC_OVL)
  224. $(OBJ)srrcv.obj   : srrcv.c    vars.h vardec.h net.h
  225.   $(TCC_OVL)
  226. $(OBJ)srsend.obj  : srsend.c   vars.h vardec.h net.h
  227.   $(TCC_OVL)
  228. $(OBJ)lilo.obj    : lilo.c     vars.h vardec.h net.h
  229.   $(TCC_OVL)
  230.  
  231. $(OBJ)return.obj  : return.c   vars.h vardec.h net.h
  232.   $(TCC)
  233.  
  234.  
  235. #############################################################################
  236. #
  237. # routine to make fcns.h
  238. #
  239.  
  240. !if $(__MAKE__) >= 0x0300
  241.  
  242. fcns:
  243.   strip fcns.h &&^
  244. $(BBS_NRM) $(BBS_OVL)
  245. ^
  246. !endif
  247.  
  248.