home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / OTHERUTI / WWIV412S.ZIP / MAKEFILE.MAK < prev    next >
Text File  |  1990-07-26  |  6KB  |  238 lines

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