home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / WWIV2.ZIP / MAKEFILE.MAK < prev    next >
Text File  |  1993-06-12  |  8KB  |  288 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:\tc
  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. TCC_VER = tcc $(TCOPTS) $(TCC_OPTS) -Y -I$(TC)\include -n$(OBJ) version.c
  76.  
  77. !else
  78. TCC_NRM = $(TCC)
  79. TCC_OVL = $(TCC)
  80. TCC_VER = tcc $(TCOPTS) $(TCC_OPTS) -I$(TC)\include -n$(OBJ) version.c
  81. !endif
  82.  
  83.  
  84.  
  85. #############################################################################
  86. #
  87. #
  88. # Normal, non-overlaid bbs files
  89. #
  90. BBS_NRM = \
  91.         $(OBJ)bbs.obj $(OBJ)bbsutl.obj $(OBJ)bbsutl1.obj $(OBJ)com.obj\
  92.         $(OBJ)conio.obj $(OBJ)connect1.obj $(OBJ)extrn.obj $(OBJ)modem.obj\
  93.         $(OBJ)msgbase.obj $(OBJ)msgbase1.obj $(OBJ)shrink.obj $(OBJ)sr.obj\
  94.     $(OBJ)utility.obj $(OBJ)xfer.obj $(OBJ)strings.obj $(OBJ)iq.obj
  95. #
  96. # Overlaid bbs files
  97. #
  98. BBS_OVL = \
  99.         $(OBJ)newuser.obj $(OBJ)sysopf.obj $(OBJ)voteedit.obj\
  100.         $(OBJ)gfledit.obj $(OBJ)tedit.obj $(OBJ)chnedit.obj\
  101.         $(OBJ)uedit.obj $(OBJ)diredit.obj $(OBJ)subedit.obj\
  102.         $(OBJ)xferovl.obj $(OBJ)multmail.obj $(OBJ)gfiles.obj\
  103.         $(OBJ)defaults.obj $(OBJ)misccmd.obj $(OBJ)xinit.obj\
  104.         $(OBJ)xfertmp.obj $(OBJ)batch.obj $(OBJ)srrcv.obj\
  105.         $(OBJ)srsend.obj $(OBJ)lilo.obj $(OBJ)subreq.obj\
  106.         $(OBJ)netsup.obj $(OBJ)subxtr.obj
  107.  
  108. #############################################################################
  109. #
  110. # Building everything requires bbs.exe, return.exe, and bbs.com.
  111. #
  112.  
  113. all: $(EXE)bbs.exe $(EXE)return.exe $(EXE)bbs.com $(EXE)miniesm.exe
  114.  
  115. #############################################################################
  116. #
  117. # Building return.exe and bbs.com is easy and the same everywhere.
  118. #
  119.  
  120. !if $(__MAKE__) >= 0x0300
  121.  
  122. $(EXE)return.exe: $(OBJ)return.obj version.c
  123.   $(TCC_VER)
  124.   tlink /c /x @&&^
  125. $(TC)\lib\c0l $(OBJ)return $(OBJ)version.obj
  126. $(EXE)return
  127. return.map
  128. $(TC)\lib\$(LIB87) $(TC)\lib\mathl $(TC)\lib\cl
  129. ^
  130.  
  131. !else
  132.  
  133. $(EXE)return.exe: $(OBJ)return.obj version.c
  134.   $(TCC_VER)
  135.   tlink /c /x $(TC)\lib\c0l+$(OBJ)return+$(OBJ)version,$(EXE)return,,$(TC)\lib\$(LIB87)+$(TC)\lib\mathl+$(TC)\lib\cl
  136.  
  137. !endif
  138.  
  139. $(EXE)bbs.com  : loader.asm
  140.   @echo You do not really need to compile loader.asm, as bbs.com comes with
  141.   @echo the source code already.  Put it in the $(EXE) directory to avoid
  142.   @echo this error if you do not have tasm installed.
  143.   tasm loader,$(OBJ)loader.obj
  144.   tlink /c /x /t $(OBJ)loader,$(EXE)bbs.com
  145.  
  146.  
  147. $(EXE)miniesm.exe: miniesm.c strings.c
  148.   $(TCC_NRM)
  149.   tlink /c /x $(TC)\lib\c0l+$(OBJ)\miniesm,$(EXE)\miniesm,,$(TC)\lib\$(LIB87)+$(TC)\lib\mathl+$(TC)\lib\cl
  150.  
  151.  
  152. #############################################################################
  153. #
  154. # make v3.0 supports response files, previous versions were brain-dead.
  155. #
  156.  
  157. !if $(__MAKE__) >= 0x0300
  158.  
  159. $(EXE)bbs.exe: $(BBS_NRM) $(BBS_OVL) version.c
  160.   $(TCC_VER)
  161.   tlink /c /x @&&^
  162. $(TC)\lib\c0l.obj $(OBJ)version.obj $(BBS_NRM) $(OVER_START) $(BBS_OVL) $(OVER_END)
  163. $(EXE)bbs
  164. bbs.map
  165. $(TC)\lib\$(LIB87) $(TC)\lib\mathl $(OVER_LIB) $(TC)\lib\cl
  166. ^
  167.  
  168. !else
  169.  
  170. $(EXE)bbs.exe: $(BBS_NRM) $(BBS_OVL) linkfile version.c
  171.   $(TCC_VER)
  172.   tlink /c /x @linkfile,$(EXE)bbs,bbs.map,$(TC)\lib\$(LIB87)+$(TC)\lib\mathl+$(TC)\lib\cl
  173.  
  174. linkfile: makefile.mak makelf.bat
  175.   @command /c makelf $(TC) $(OBJ)
  176.  
  177. !endif
  178.  
  179. #############################################################################
  180. #
  181. # How each of the .OBJ files depends upon source files.
  182. #
  183.  
  184.  
  185. $(OBJ)bbs.obj     : bbs.c      vars.h vardec.h net.h
  186.   $(TCC_NRM)
  187. $(OBJ)modem.obj   : modem.c    vars.h vardec.h net.h
  188.   $(TCC_NRM)
  189. $(OBJ)bbsutl.obj  : bbsutl.c   vars.h vardec.h net.h
  190.   $(TCC_NRM)
  191. $(OBJ)bbsutl1.obj : bbsutl1.c  vars.h vardec.h net.h
  192.   $(TCC_NRM)
  193. $(OBJ)com.obj     : com.c      vars.h vardec.h net.h
  194.   $(TCC_NRM)
  195. $(OBJ)conio.obj   : conio.c    vars.h vardec.h net.h
  196.   $(TCC_NRM)
  197. $(OBJ)connect1.obj: connect1.c vars.h vardec.h net.h
  198.   $(TCC_NRM)
  199. $(OBJ)extrn.obj   : extrn.c    vars.h vardec.h net.h
  200.   $(TCC_NRM)
  201. $(OBJ)msgbase.obj : msgbase.c  vars.h vardec.h net.h
  202.   $(TCC_NRM)
  203. $(OBJ)msgbase1.obj: msgbase1.c vars.h vardec.h net.h
  204.   $(TCC_NRM)
  205. $(OBJ)newuser.obj : newuser.c  vars.h vardec.h net.h
  206.   $(TCC_OVL)
  207. $(OBJ)shrink.obj  : shrink.c   vars.h vardec.h net.h
  208.   $(TCC_NRM)
  209. $(OBJ)sr.obj      : sr.c       vars.h vardec.h net.h
  210.   $(TCC_NRM)
  211. $(OBJ)sysopf.obj  : sysopf.c   vars.h vardec.h net.h
  212.   $(TCC_OVL)
  213. $(OBJ)utility.obj : utility.c  vars.h vardec.h net.h
  214.   $(TCC_NRM)
  215. $(OBJ)xfer.obj    : xfer.c     vars.h vardec.h net.h
  216.   $(TCC_NRM)
  217. $(OBJ)strings.obj : strings.c
  218.   $(TCC_NRM)
  219. $(OBJ)iq.obj      : iq.c       vars.h
  220.   $(TCC_NRM)
  221. $(OBJ)netsup.obj  : netsup.c   vars.h vardec.h net.h
  222.   $(TCC_OVL)
  223. $(OBJ)voteedit.obj: voteedit.c vars.h vardec.h net.h
  224.   $(TCC_OVL)
  225. $(OBJ)gfledit.obj : gfledit.c  vars.h vardec.h net.h
  226.   $(TCC_OVL)
  227. $(OBJ)tedit.obj   : tedit.c    vars.h vardec.h net.h
  228.   $(TCC_OVL)
  229. $(OBJ)chnedit.obj : chnedit.c  vars.h vardec.h net.h
  230.   $(TCC_OVL)
  231. $(OBJ)uedit.obj   : uedit.c    vars.h vardec.h net.h
  232.   $(TCC_OVL)
  233. $(OBJ)diredit.obj : diredit.c  vars.h vardec.h net.h
  234.   $(TCC_OVL)
  235. $(OBJ)subedit.obj : subedit.c  vars.h vardec.h net.h
  236.   $(TCC_OVL)
  237. $(OBJ)subreq.obj  : subreq.c   vars.h vardec.h net.h
  238.   $(TCC_OVL)
  239. $(OBJ)xferovl.obj : xferovl.c  vars.h vardec.h net.h
  240.   $(TCC_OVL)
  241. $(OBJ)multmail.obj: multmail.c vars.h vardec.h net.h
  242.   $(TCC_OVL)
  243. $(OBJ)gfiles.obj  : gfiles.c   vars.h vardec.h net.h
  244.   $(TCC_OVL)
  245. $(OBJ)defaults.obj: defaults.c vars.h vardec.h net.h
  246.   $(TCC_OVL)
  247. $(OBJ)misccmd.obj : misccmd.c  vars.h vardec.h net.h
  248.   $(TCC_OVL)
  249. $(OBJ)xinit.obj   : xinit.c    vars.h vardec.h net.h
  250.   $(TCC_OVL)
  251. $(OBJ)subxtr.obj  : subxtr.c   vars.h vardec.h net.h
  252.   $(TCC_OVL)
  253. $(OBJ)xfertmp.obj : xfertmp.c  vars.h vardec.h net.h
  254.   $(TCC_OVL)
  255. $(OBJ)batch.obj   : batch.c    vars.h vardec.h net.h
  256.   $(TCC_OVL)
  257. $(OBJ)srrcv.obj   : srrcv.c    vars.h vardec.h net.h
  258.   $(TCC_OVL)
  259. $(OBJ)srsend.obj  : srsend.c   vars.h vardec.h net.h
  260.   $(TCC_OVL)
  261. $(OBJ)lilo.obj    : lilo.c     vars.h vardec.h net.h
  262.   $(TCC_OVL)
  263.  
  264. $(OBJ)return.obj  : return.c   vars.h vardec.h net.h
  265.   $(TCC)
  266.  
  267.  
  268. #############################################################################
  269. #
  270. # routine to make fcns.h
  271. #
  272.  
  273. !if $(__MAKE__) >= 0x0300
  274.  
  275.  
  276. .\strip.exe: strip.c
  277.   tcc -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. !endif
  287.  
  288.