MAKEFILE 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. # Undefine this next line for release build
  2. !define RELEASE
  3. # Undefine this next line to use Causeway in all EXEs
  4. #!define USE_CAUSEWAY
  5. SRCDIR = SRC
  6. OBJDIR = OBJ
  7. LIBDIR = \qtools\lib;\blood\obj;\helix32
  8. .cpp.obj: .AUTODEPEND
  9. !ifdef RELEASE
  10. wpp386 -we -wx -4r -mf -d1 -s -ox -dNOMC $[@ /fo=$(OBJDIR)\$^&
  11. !else
  12. wpp386 -we -wx -4r -mf -d2 -s -dNOMC $[@ /fo=$(OBJDIR)\$^&
  13. !endif
  14. .c.obj: .AUTODEPEND
  15. !ifdef RELEASE
  16. wcc386 -we -wx -4r -mf -d2 -ox -dNOMC $[@ /fo=$(OBJDIR)\$^&
  17. !else
  18. wcc386 -we -wx -4r -mf -d2 -s -dNOMC $[@ /fo=$(OBJDIR)\$^&
  19. !endif
  20. .asm.obj: .AUTODEPEND
  21. !ifdef RELEASE
  22. tasm -mx -m2 -q $[@ $(OBJDIR)\$^&
  23. !else
  24. tasm -mx -m2 -zi $[@ $(OBJDIR)\$^&
  25. !endif
  26. # Specify the location of dependencies
  27. .obj : $(OBJDIR)
  28. .lib : $(LIBDIR)
  29. .c : $(SRCDIR)
  30. .cpp : $(SRCDIR)
  31. .h : $(SRCDIR)
  32. .asm : $(SRCDIR)
  33. BLOODOBJS = &
  34. blood.obj &
  35. screen.obj &
  36. view.obj &
  37. db.obj &
  38. gameutil.obj &
  39. fire.obj &
  40. fframe.obj &
  41. sectorfx.obj &
  42. map2d.obj &
  43. asstimer.obj &
  44. usrhooks.obj &
  45. levels.obj &
  46. sound.obj &
  47. sfx.obj &
  48. controls.obj &
  49. actor.obj &
  50. player.obj &
  51. replace.obj &
  52. tile.obj &
  53. triggers.obj &
  54. eventq.obj &
  55. qav.obj &
  56. weapon.obj &
  57. options.obj &
  58. gui.obj &
  59. seq.obj &
  60. mirrors.obj &
  61. dude.obj &
  62. warp.obj &
  63. credits.obj &
  64. mmulti.obj &
  65. ai.obj &
  66. aicult.obj &
  67. aigarg.obj &
  68. aihand.obj &
  69. aihound.obj &
  70. airat.obj &
  71. aispid.obj &
  72. aizomba.obj &
  73. aizombf.obj &
  74. MAPEDITOBJS = &
  75. bstub.obj &
  76. db.obj &
  77. screen.obj &
  78. gameutil.obj &
  79. sectorfx.obj &
  80. gui.obj &
  81. replace.obj &
  82. tile.obj &
  83. options.obj &
  84. edit2d.obj &
  85. edit3d.obj &
  86. QAVEDITOBJS = &
  87. qavedit.obj &
  88. qav.obj &
  89. gui.obj &
  90. replace.obj &
  91. tile.obj &
  92. gameutil.obj &
  93. screen.obj &
  94. options.obj &
  95. SEQEDITOBJS = &
  96. seqedit.obj &
  97. gui.obj &
  98. replace.obj &
  99. tile.obj &
  100. gameutil.obj &
  101. screen.obj &
  102. options.obj &
  103. ARTEDITOBJS = &
  104. artedit.obj &
  105. gui.obj &
  106. replace.obj &
  107. tile.obj &
  108. gameutil.obj &
  109. screen.obj &
  110. options.obj &
  111. EDGAROBJS = &
  112. edgar.obj &
  113. gui.obj &
  114. replace.obj &
  115. tile.obj &
  116. gameutil.obj &
  117. screen.obj &
  118. options.obj &
  119. TABLESOBJS = &
  120. tables.obj &
  121. PALTOOLOBJS = &
  122. paltool.obj &
  123. CONVDB6 = &
  124. convdb6.obj &
  125. APEOBJS = &
  126. ape.obj &
  127. SLUTOBJS = &
  128. slut.obj &
  129. REMAP = &
  130. remap.obj &
  131. SHPLAY = &
  132. shplay.obj &
  133. SETUP = &
  134. setup.obj &
  135. JOYTEST = &
  136. joytest.obj &
  137. SPRITEST = &
  138. spritest.obj &
  139. db.obj &
  140. dummy : globals.obj blood.exe mapedit.exe
  141. all : globals.obj blood.exe mapedit.exe qavedit.exe seqedit.exe artedit.exe tables.exe paltool.exe ape.exe slut.exe remap.exe shplay.exe setup.exe joytest.exe
  142. blood.exe : $(BLOODOBJS) qtools.lib helix32.lib engine.lib blood.lnk
  143. wlink @$^*
  144. mapedit.exe : $(MAPEDITOBJS) qtools.lib helix32.lib engine.lib mapedit.lnk
  145. wlink @$^*
  146. qavedit.exe : $(QAVEDITOBJS) qtools.lib helix32.lib qavedit.lnk
  147. wlink @$^*
  148. seqedit.exe : $(SEQEDITOBJS) qtools.lib helix32.lib seqedit.lnk
  149. wlink @$^*
  150. artedit.exe : $(ARTEDITOBJS) qtools.lib helix32.lib artedit.lnk
  151. wlink @$^*
  152. edgar.exe : $(EDGAROBJS) qtools.lib helix32.lib edgar.lnk
  153. wlink @$^*
  154. tables.exe : $(TABLESOBJS) qtools.lib tables.lnk
  155. wlink @$^*
  156. paltool.exe : $(PALTOOLOBJS) qtools.lib paltool.lnk
  157. wlink @$^*
  158. convdb6.exe : $(CONVDB6) qtools.lib convdb6.lnk
  159. wlink @$^*
  160. ape.exe : $(APEOBJS) qtools.lib ape.lnk
  161. wlink @$^*
  162. slut.exe : $(SLUTOBJS) qtools.lib slut.lnk
  163. wlink @$^*
  164. remap.exe : $(REMAP) qtools.lib helix32.lib remap.lnk
  165. wlink @$^*
  166. shplay.exe: $(SHPLAY) qtools.lib helix32.lib shplay.lnk
  167. wlink @$^*
  168. setup.exe: $(SETUP) qtools.lib setup.lnk
  169. wlink @$^*
  170. joytest.exe: $(JOYTEST) qtools.lib joytest.lnk
  171. wlink @$^*
  172. spritest.exe: $(SPRITEST) qtools.lib spritest.lnk
  173. wlink @$^*
  174. globals.obj : globals.cpp globals.h qtools.lib engine.lib $(BLOODOBJS) $(MAPEDITOBJS)
  175. !ifdef RELEASE
  176. wpp386 -w2 -4r -mf -oneatx -dNOMC $[@ /fo=$(OBJDIR)\$^&
  177. !else
  178. wpp386 -w2 -4r -mf -d2 $[@ -dNOMC /fo=$(OBJDIR)\$^&
  179. !endif
  180. blood.lnk : makefile
  181. %create $^@
  182. %append $^@ NAME $^&
  183. %append $^@ DEBUG ALL
  184. %append $^@ FILE $(OBJDIR)\globals.obj
  185. for %i in ($(BLOODOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  186. %append $^@ FILE \helix32\hgd13.obj
  187. %append $^@ FILE \helix32\hgdx.obj
  188. %append $^@ LIB mca3r.lib
  189. %append $^@ LIB qtools.lib
  190. %append $^@ LIB engine.lib
  191. %append $^@ LIB audio_wf.lib
  192. !ifdef USE_CAUSEWAY
  193. %append $^@ SYSTEM CAUSEWAY
  194. !endif
  195. %append $^@ OPTION
  196. %append $^@ VERBOSE,
  197. %append $^@ REDEFSOK,
  198. %append $^@ STACK=8K,
  199. %append $^@ MAP=$(OBJDIR)\$^&.map,
  200. mapedit.lnk : makefile
  201. %create $^@
  202. %append $^@ NAME $^&
  203. %append $^@ DEBUG ALL
  204. %append $^@ FILE $(OBJDIR)\globals.obj
  205. for %i in ($(MAPEDITOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  206. %append $^@ FILE \helix32\hgd13.obj
  207. %append $^@ FILE \helix32\hgdx.obj
  208. %append $^@ FILE $(OBJDIR)\build.obj
  209. %append $^@ LIB mca3r.lib
  210. %append $^@ LIB qtools.lib
  211. %append $^@ LIB engine.lib
  212. !ifdef USE_CAUSEWAY
  213. %append $^@ SYSTEM CAUSEWAY
  214. !endif
  215. %append $^@ OPTION
  216. %append $^@ VERBOSE,
  217. %append $^@ REDEFSOK,
  218. %append $^@ STACK=8K,
  219. %append $^@ MAP=$(OBJDIR)\$^&.map,
  220. qavedit.lnk : makefile
  221. %create $^@
  222. %append $^@ NAME $^&
  223. %append $^@ DEBUG ALL
  224. %append $^@ FILE $(OBJDIR)\globals.obj
  225. for %i in ($(QAVEDITOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  226. %append $^@ FILE \helix32\hgd13.obj
  227. %append $^@ FILE \helix32\hgdx.obj
  228. %append $^@ LIB mca3r.lib
  229. %append $^@ LIB qtools.lib
  230. %append $^@ LIB engine.lib
  231. !ifdef USE_CAUSEWAY
  232. %append $^@ SYSTEM CAUSEWAY
  233. !endif
  234. %append $^@ OPTION
  235. %append $^@ VERBOSE,
  236. %append $^@ REDEFSOK,
  237. %append $^@ STACK=8K,
  238. %append $^@ MAP=$(OBJDIR)\$^&.map,
  239. seqedit.lnk : makefile
  240. %create $^@
  241. %append $^@ NAME $^&
  242. %append $^@ DEBUG ALL
  243. %append $^@ FILE $(OBJDIR)\globals.obj
  244. for %i in ($(SEQEDITOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  245. %append $^@ FILE \helix32\hgd13.obj
  246. %append $^@ FILE \helix32\hgdx.obj
  247. %append $^@ LIB mca3r.lib
  248. %append $^@ LIB qtools.lib
  249. %append $^@ LIB engine.lib
  250. !ifdef USE_CAUSEWAY
  251. %append $^@ SYSTEM CAUSEWAY
  252. !endif
  253. %append $^@ OPTION
  254. %append $^@ VERBOSE,
  255. %append $^@ REDEFSOK,
  256. %append $^@ STACK=8K,
  257. %append $^@ MAP=$(OBJDIR)\$^&.map,
  258. artedit.lnk : makefile
  259. %create $^@
  260. %append $^@ NAME $^&
  261. %append $^@ DEBUG ALL
  262. %append $^@ FILE $(OBJDIR)\globals.obj
  263. for %i in ($(ARTEDITOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  264. %append $^@ FILE \helix32\hgd13.obj
  265. %append $^@ FILE \helix32\hgdx.obj
  266. %append $^@ LIB mca3r.lib
  267. %append $^@ LIB qtools.lib
  268. %append $^@ LIB engine.lib
  269. !ifdef USE_CAUSEWAY
  270. %append $^@ SYSTEM CAUSEWAY
  271. !endif
  272. %append $^@ OPTION
  273. %append $^@ VERBOSE,
  274. %append $^@ REDEFSOK,
  275. %append $^@ STACK=8K,
  276. %append $^@ MAP=$(OBJDIR)\$^&.map,
  277. edgar.lnk : makefile
  278. %create $^@
  279. %append $^@ NAME $^&
  280. %append $^@ DEBUG ALL
  281. %append $^@ FILE $(OBJDIR)\globals.obj
  282. for %i in ($(EDGAROBJS)) do %append $^@ FILE $(OBJDIR)\%i
  283. %append $^@ FILE \helix32\hgd13.obj
  284. %append $^@ LIB mca3r.lib
  285. %append $^@ LIB qtools.lib
  286. %append $^@ LIB engine.lib
  287. !ifdef USE_CAUSEWAY
  288. %append $^@ SYSTEM CAUSEWAY
  289. !endif
  290. %append $^@ OPTION
  291. %append $^@ VERBOSE,
  292. %append $^@ REDEFSOK,
  293. %append $^@ STACK=8K,
  294. %append $^@ MAP=$(OBJDIR)\$^&.map,
  295. tables.lnk : makefile
  296. %create $^@
  297. %append $^@ NAME $^&
  298. for %i in ($(TABLESOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  299. %append $^@ LIB qtools.lib
  300. %append $^@ OPTION
  301. %append $^@ VERBOSE,
  302. %append $^@ REDEFSOK,
  303. paltool.lnk : makefile
  304. %create $^@
  305. %append $^@ NAME $^&
  306. for %i in ($(PALTOOLOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  307. %append $^@ LIB qtools.lib
  308. %append $^@ OPTION
  309. %append $^@ VERBOSE,
  310. %append $^@ REDEFSOK,
  311. convdb6.lnk : makefile
  312. %create $^@
  313. %append $^@ NAME $^&
  314. %append $^@ DEBUG ALL
  315. for %i in ($(CONVDB6)) do %append $^@ FILE $(OBJDIR)\%i
  316. %append $^@ LIB qtools.lib
  317. !ifdef USE_CAUSEWAY
  318. %append $^@ SYSTEM CAUSEWAY
  319. !endif
  320. %append $^@ OPTION
  321. %append $^@ VERBOSE,
  322. %append $^@ REDEFSOK,
  323. %append $^@ MAP=$(OBJDIR)\$^&.map,
  324. ape.lnk : makefile
  325. %create $^@
  326. %append $^@ NAME $^&
  327. %append $^@ DEBUG ALL
  328. for %i in ($(APEOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  329. %append $^@ LIB qtools.lib
  330. !ifdef USE_CAUSEWAY
  331. %append $^@ SYSTEM CAUSEWAY
  332. !endif
  333. %append $^@ OPTION
  334. %append $^@ VERBOSE,
  335. %append $^@ REDEFSOK,
  336. %append $^@ STACK=8K,
  337. %append $^@ MAP=$(OBJDIR)\$^&.map,
  338. slut.lnk : makefile
  339. %create $^@
  340. %append $^@ NAME $^&
  341. for %i in ($(SLUTOBJS)) do %append $^@ FILE $(OBJDIR)\%i
  342. %append $^@ LIB qtools.lib
  343. remap.lnk : makefile
  344. %create $^@
  345. %append $^@ NAME $^&
  346. %append $^@ DEBUG ALL
  347. for %i in ($(REMAP)) do %append $^@ FILE $(OBJDIR)\%i
  348. %append $^@ FILE \helix32\hgd13.obj
  349. %append $^@ LIB qtools.lib
  350. !ifdef USE_CAUSEWAY
  351. %append $^@ SYSTEM CAUSEWAY
  352. !endif
  353. %append $^@ OPTION
  354. %append $^@ VERBOSE,
  355. %append $^@ REDEFSOK,
  356. %append $^@ STACK=8K,
  357. %append $^@ MAP=$(OBJDIR)\$^&.map,
  358. shplay.lnk : makefile
  359. %create $^@
  360. %append $^@ NAME $^&
  361. %append $^@ DEBUG ALL
  362. for %i in ($(SHPLAY)) do %append $^@ FILE $(OBJDIR)\%i
  363. %append $^@ FILE \helix32\hgd13.obj
  364. %append $^@ LIB mca3r.lib
  365. %append $^@ LIB qtools.lib
  366. %append $^@ LIB audio_wf.lib
  367. !ifdef USE_CAUSEWAY
  368. %append $^@ SYSTEM CAUSEWAY
  369. !endif
  370. %append $^@ OPTION
  371. %append $^@ VERBOSE,
  372. %append $^@ REDEFSOK,
  373. %append $^@ STACK=8K,
  374. %append $^@ MAP=$(OBJDIR)\$^&.map,
  375. setup.lnk : makefile
  376. %create $^@
  377. %append $^@ NAME $^&
  378. %append $^@ DEBUG ALL
  379. for %i in ($(SETUP)) do %append $^@ FILE $(OBJDIR)\%i
  380. %append $^@ LIB mca3r.lib
  381. %append $^@ LIB qtools.lib
  382. %append $^@ LIB audio_wf.lib
  383. !ifdef USE_CAUSEWAY
  384. %append $^@ SYSTEM CAUSEWAY
  385. !endif
  386. %append $^@ OPTION
  387. %append $^@ VERBOSE,
  388. %append $^@ REDEFSOK,
  389. %append $^@ STACK=8K,
  390. %append $^@ MAP=$(OBJDIR)\$^&.map,
  391. joytest.lnk : makefile
  392. %create $^@
  393. %append $^@ NAME $^&
  394. %append $^@ DEBUG ALL
  395. for %i in ($(JOYTEST)) do %append $^@ FILE $(OBJDIR)\%i
  396. %append $^@ LIB qtools.lib
  397. !ifdef USE_CAUSEWAY
  398. %append $^@ SYSTEM CAUSEWAY
  399. !endif
  400. %append $^@ OPTION
  401. %append $^@ VERBOSE,
  402. %append $^@ REDEFSOK,
  403. %append $^@ STACK=8K,
  404. %append $^@ MAP=$(OBJDIR)\$^&.map,
  405. spritest.lnk : makefile
  406. %create $^@
  407. %append $^@ NAME $^&
  408. %append $^@ DEBUG ALL
  409. for %i in ($(SPRITEST)) do %append $^@ FILE $(OBJDIR)\%i
  410. %append $^@ FILE $(OBJDIR)\globals.obj
  411. %append $^@ LIB qtools.lib
  412. %append $^@ LIB engine.lib
  413. !ifdef USE_CAUSEWAY
  414. %append $^@ SYSTEM CAUSEWAY
  415. !endif
  416. %append $^@ OPTION
  417. %append $^@ VERBOSE,
  418. %append $^@ REDEFSOK,
  419. %append $^@ STACK=8K,
  420. %append $^@ MAP=$(OBJDIR)\$^&.map,