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