Makefile.AXP 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717
  1. #
  2. # Quake2 Makefile for Solaris
  3. #
  4. # Nov '97 by Zoid <zoid@idsoftware.com>
  5. #
  6. # ELF only
  7. #
  8. ARCH=axp
  9. MOUNT_DIR=/chest/Quake2/code
  10. BUILD_DEBUG_DIR=debug$(ARCH)
  11. BUILD_RELEASE_DIR=release$(ARCH)
  12. CLIENT_DIR=$(MOUNT_DIR)/client
  13. SERVER_DIR=$(MOUNT_DIR)/server
  14. COMMON_DIR=$(MOUNT_DIR)/qcommon
  15. LINUX_DIR=$(MOUNT_DIR)/linux
  16. GAME_DIR=$(MOUNT_DIR)/game
  17. CTF_DIR=$(MOUNT_DIR)/ctf
  18. XATRIX_DIR=$(MOUNT_DIR)/xatrix
  19. NULL_DIR=$(MOUNT_DIR)/null
  20. CC=gcc
  21. BASE_CFLAGS=-Dstricmp=strcasecmp -DC_ONLY -DDEDICATED_ONLY
  22. RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
  23. -fomit-frame-pointer -fexpensive-optimizations
  24. DEBUG_CFLAGS=$(BASE_CFLAGS) -g
  25. LDFLAGS=-ldl -lm
  26. XCFLAGS=
  27. SHLIBEXT=so
  28. SHLIBCFLAGS=-fPIC
  29. SHLIBLDFLAGS=-shared
  30. DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
  31. DO_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
  32. #############################################################################
  33. # SETUP AND BUILD
  34. #############################################################################
  35. TARGETS=$(BUILDDIR)/q2ded \
  36. $(BUILDDIR)/game$(ARCH).$(SHLIBEXT) \
  37. $(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT) \
  38. $(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT)
  39. build_debug:
  40. @-mkdir $(BUILD_DEBUG_DIR) \
  41. $(BUILD_DEBUG_DIR)/client \
  42. $(BUILD_DEBUG_DIR)/game \
  43. $(BUILD_DEBUG_DIR)/ctf \
  44. $(BUILD_DEBUG_DIR)/xatrix
  45. $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  46. build_release:
  47. @-mkdir $(BUILD_RELEASE_DIR) \
  48. $(BUILD_RELEASE_DIR)/client \
  49. $(BUILD_RELEASE_DIR)/game \
  50. $(BUILD_RELEASE_DIR)/ctf \
  51. $(BUILD_RELEASE_DIR)/xatrix
  52. $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"
  53. all: build_debug build_release
  54. targets: $(TARGETS)
  55. #############################################################################
  56. # CLIENT/SERVER
  57. #############################################################################
  58. QUAKE2_OBJS = \
  59. \
  60. $(BUILDDIR)/client/cmd.o \
  61. $(BUILDDIR)/client/cmodel.o \
  62. $(BUILDDIR)/client/common.o \
  63. $(BUILDDIR)/client/crc.o \
  64. $(BUILDDIR)/client/cvar.o \
  65. $(BUILDDIR)/client/files.o \
  66. $(BUILDDIR)/client/md4.o \
  67. $(BUILDDIR)/client/net_chan.o \
  68. \
  69. $(BUILDDIR)/client/sv_ccmds.o \
  70. $(BUILDDIR)/client/sv_ents.o \
  71. $(BUILDDIR)/client/sv_game.o \
  72. $(BUILDDIR)/client/sv_init.o \
  73. $(BUILDDIR)/client/sv_main.o \
  74. $(BUILDDIR)/client/sv_send.o \
  75. $(BUILDDIR)/client/sv_user.o \
  76. $(BUILDDIR)/client/sv_world.o \
  77. \
  78. $(BUILDDIR)/client/q_shlinux.o \
  79. $(BUILDDIR)/client/sys_linux.o \
  80. $(BUILDDIR)/client/glob.o \
  81. $(BUILDDIR)/client/net_udp.o \
  82. \
  83. $(BUILDDIR)/client/q_shared.o \
  84. $(BUILDDIR)/client/pmove.o \
  85. \
  86. $(BUILDDIR)/client/cl_null.o \
  87. $(BUILDDIR)/client/cd_null.o
  88. $(BUILDDIR)/q2ded : $(QUAKE2_OBJS)
  89. $(CC) $(CFLAGS) -o $@ $(QUAKE2_OBJS) $(LDFLAGS)
  90. $(BUILDDIR)/client/cmd.o : $(COMMON_DIR)/cmd.c
  91. $(DO_CC)
  92. $(BUILDDIR)/client/cmodel.o : $(COMMON_DIR)/cmodel.c
  93. $(DO_CC)
  94. $(BUILDDIR)/client/common.o : $(COMMON_DIR)/common.c
  95. $(DO_CC)
  96. $(BUILDDIR)/client/crc.o : $(COMMON_DIR)/crc.c
  97. $(DO_CC)
  98. $(BUILDDIR)/client/cvar.o : $(COMMON_DIR)/cvar.c
  99. $(DO_CC)
  100. $(BUILDDIR)/client/files.o : $(COMMON_DIR)/files.c
  101. $(DO_CC)
  102. $(BUILDDIR)/client/md4.o : $(COMMON_DIR)/md4.c
  103. $(DO_CC)
  104. $(BUILDDIR)/client/net_chan.o : $(COMMON_DIR)/net_chan.c
  105. $(DO_CC)
  106. $(BUILDDIR)/client/q_shared.o : $(GAME_DIR)/q_shared.c
  107. $(DO_CC)
  108. $(BUILDDIR)/client/pmove.o : $(COMMON_DIR)/pmove.c
  109. $(DO_CC)
  110. $(BUILDDIR)/client/sv_ccmds.o : $(SERVER_DIR)/sv_ccmds.c
  111. $(DO_CC)
  112. $(BUILDDIR)/client/sv_ents.o : $(SERVER_DIR)/sv_ents.c
  113. $(DO_CC)
  114. $(BUILDDIR)/client/sv_game.o : $(SERVER_DIR)/sv_game.c
  115. $(DO_CC)
  116. $(BUILDDIR)/client/sv_init.o : $(SERVER_DIR)/sv_init.c
  117. $(DO_CC)
  118. $(BUILDDIR)/client/sv_main.o : $(SERVER_DIR)/sv_main.c
  119. $(DO_CC)
  120. $(BUILDDIR)/client/sv_send.o : $(SERVER_DIR)/sv_send.c
  121. $(DO_CC)
  122. $(BUILDDIR)/client/sv_user.o : $(SERVER_DIR)/sv_user.c
  123. $(DO_CC)
  124. $(BUILDDIR)/client/sv_world.o : $(SERVER_DIR)/sv_world.c
  125. $(DO_CC)
  126. $(BUILDDIR)/client/q_shlinux.o : $(LINUX_DIR)/q_shlinux.c
  127. $(DO_CC)
  128. $(BUILDDIR)/client/sys_linux.o : $(LINUX_DIR)/sys_linux.c
  129. $(DO_CC)
  130. $(BUILDDIR)/client/glob.o : $(LINUX_DIR)/glob.c
  131. $(DO_CC)
  132. $(BUILDDIR)/client/net_udp.o : $(LINUX_DIR)/net_udp.c
  133. $(DO_CC)
  134. $(BUILDDIR)/client/cd_null.o : $(NULL_DIR)/cd_null.c
  135. $(DO_CC)
  136. $(BUILDDIR)/client/cl_null.o : $(NULL_DIR)/cl_null.c
  137. $(DO_CC)
  138. #############################################################################
  139. # GAME
  140. #############################################################################
  141. GAME_OBJS = \
  142. $(BUILDDIR)/game/g_ai.o \
  143. $(BUILDDIR)/game/p_client.o \
  144. $(BUILDDIR)/game/g_cmds.o \
  145. $(BUILDDIR)/game/g_svcmds.o \
  146. $(BUILDDIR)/game/g_combat.o \
  147. $(BUILDDIR)/game/g_func.o \
  148. $(BUILDDIR)/game/g_items.o \
  149. $(BUILDDIR)/game/g_main.o \
  150. $(BUILDDIR)/game/g_misc.o \
  151. $(BUILDDIR)/game/g_monster.o \
  152. $(BUILDDIR)/game/g_phys.o \
  153. $(BUILDDIR)/game/g_save.o \
  154. $(BUILDDIR)/game/g_spawn.o \
  155. $(BUILDDIR)/game/g_target.o \
  156. $(BUILDDIR)/game/g_trigger.o \
  157. $(BUILDDIR)/game/g_turret.o \
  158. $(BUILDDIR)/game/g_utils.o \
  159. $(BUILDDIR)/game/g_weapon.o \
  160. $(BUILDDIR)/game/m_actor.o \
  161. $(BUILDDIR)/game/m_berserk.o \
  162. $(BUILDDIR)/game/m_boss2.o \
  163. $(BUILDDIR)/game/m_boss3.o \
  164. $(BUILDDIR)/game/m_boss31.o \
  165. $(BUILDDIR)/game/m_boss32.o \
  166. $(BUILDDIR)/game/m_brain.o \
  167. $(BUILDDIR)/game/m_chick.o \
  168. $(BUILDDIR)/game/m_flipper.o \
  169. $(BUILDDIR)/game/m_float.o \
  170. $(BUILDDIR)/game/m_flyer.o \
  171. $(BUILDDIR)/game/m_gladiator.o \
  172. $(BUILDDIR)/game/m_gunner.o \
  173. $(BUILDDIR)/game/m_hover.o \
  174. $(BUILDDIR)/game/m_infantry.o \
  175. $(BUILDDIR)/game/m_insane.o \
  176. $(BUILDDIR)/game/m_medic.o \
  177. $(BUILDDIR)/game/m_move.o \
  178. $(BUILDDIR)/game/m_mutant.o \
  179. $(BUILDDIR)/game/m_parasite.o \
  180. $(BUILDDIR)/game/m_soldier.o \
  181. $(BUILDDIR)/game/m_supertank.o \
  182. $(BUILDDIR)/game/m_tank.o \
  183. $(BUILDDIR)/game/p_hud.o \
  184. $(BUILDDIR)/game/p_trail.o \
  185. $(BUILDDIR)/game/p_view.o \
  186. $(BUILDDIR)/game/p_weapon.o \
  187. $(BUILDDIR)/game/q_shared.o \
  188. $(BUILDDIR)/game/m_flash.o
  189. $(BUILDDIR)/game$(ARCH).$(SHLIBEXT) : $(GAME_OBJS)
  190. $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(GAME_OBJS)
  191. $(BUILDDIR)/game/g_ai.o : $(GAME_DIR)/g_ai.c
  192. $(DO_SHLIB_CC)
  193. $(BUILDDIR)/game/p_client.o : $(GAME_DIR)/p_client.c
  194. $(DO_SHLIB_CC)
  195. $(BUILDDIR)/game/g_cmds.o : $(GAME_DIR)/g_cmds.c
  196. $(DO_SHLIB_CC)
  197. $(BUILDDIR)/game/g_svcmds.o : $(GAME_DIR)/g_svcmds.c
  198. $(DO_SHLIB_CC)
  199. $(BUILDDIR)/game/g_combat.o : $(GAME_DIR)/g_combat.c
  200. $(DO_SHLIB_CC)
  201. $(BUILDDIR)/game/g_func.o : $(GAME_DIR)/g_func.c
  202. $(DO_SHLIB_CC)
  203. $(BUILDDIR)/game/g_items.o : $(GAME_DIR)/g_items.c
  204. $(DO_SHLIB_CC)
  205. $(BUILDDIR)/game/g_main.o : $(GAME_DIR)/g_main.c
  206. $(DO_SHLIB_CC)
  207. $(BUILDDIR)/game/g_misc.o : $(GAME_DIR)/g_misc.c
  208. $(DO_SHLIB_CC)
  209. $(BUILDDIR)/game/g_monster.o : $(GAME_DIR)/g_monster.c
  210. $(DO_SHLIB_CC)
  211. $(BUILDDIR)/game/g_phys.o : $(GAME_DIR)/g_phys.c
  212. $(DO_SHLIB_CC)
  213. $(BUILDDIR)/game/g_save.o : $(GAME_DIR)/g_save.c
  214. $(DO_SHLIB_CC)
  215. $(BUILDDIR)/game/g_spawn.o : $(GAME_DIR)/g_spawn.c
  216. $(DO_SHLIB_CC)
  217. $(BUILDDIR)/game/g_target.o : $(GAME_DIR)/g_target.c
  218. $(DO_SHLIB_CC)
  219. $(BUILDDIR)/game/g_trigger.o : $(GAME_DIR)/g_trigger.c
  220. $(DO_SHLIB_CC)
  221. $(BUILDDIR)/game/g_turret.o : $(GAME_DIR)/g_turret.c
  222. $(DO_SHLIB_CC)
  223. $(BUILDDIR)/game/g_utils.o : $(GAME_DIR)/g_utils.c
  224. $(DO_SHLIB_CC)
  225. $(BUILDDIR)/game/g_weapon.o : $(GAME_DIR)/g_weapon.c
  226. $(DO_SHLIB_CC)
  227. $(BUILDDIR)/game/m_actor.o : $(GAME_DIR)/m_actor.c
  228. $(DO_SHLIB_CC)
  229. $(BUILDDIR)/game/m_berserk.o : $(GAME_DIR)/m_berserk.c
  230. $(DO_SHLIB_CC)
  231. $(BUILDDIR)/game/m_boss2.o : $(GAME_DIR)/m_boss2.c
  232. $(DO_SHLIB_CC)
  233. $(BUILDDIR)/game/m_boss3.o : $(GAME_DIR)/m_boss3.c
  234. $(DO_SHLIB_CC)
  235. $(BUILDDIR)/game/m_boss31.o : $(GAME_DIR)/m_boss31.c
  236. $(DO_SHLIB_CC)
  237. $(BUILDDIR)/game/m_boss32.o : $(GAME_DIR)/m_boss32.c
  238. $(DO_SHLIB_CC)
  239. $(BUILDDIR)/game/m_brain.o : $(GAME_DIR)/m_brain.c
  240. $(DO_SHLIB_CC)
  241. $(BUILDDIR)/game/m_chick.o : $(GAME_DIR)/m_chick.c
  242. $(DO_SHLIB_CC)
  243. $(BUILDDIR)/game/m_flipper.o : $(GAME_DIR)/m_flipper.c
  244. $(DO_SHLIB_CC)
  245. $(BUILDDIR)/game/m_float.o : $(GAME_DIR)/m_float.c
  246. $(DO_SHLIB_CC)
  247. $(BUILDDIR)/game/m_flyer.o : $(GAME_DIR)/m_flyer.c
  248. $(DO_SHLIB_CC)
  249. $(BUILDDIR)/game/m_gladiator.o : $(GAME_DIR)/m_gladiator.c
  250. $(DO_SHLIB_CC)
  251. $(BUILDDIR)/game/m_gunner.o : $(GAME_DIR)/m_gunner.c
  252. $(DO_SHLIB_CC)
  253. $(BUILDDIR)/game/m_hover.o : $(GAME_DIR)/m_hover.c
  254. $(DO_SHLIB_CC)
  255. $(BUILDDIR)/game/m_infantry.o : $(GAME_DIR)/m_infantry.c
  256. $(DO_SHLIB_CC)
  257. $(BUILDDIR)/game/m_insane.o : $(GAME_DIR)/m_insane.c
  258. $(DO_SHLIB_CC)
  259. $(BUILDDIR)/game/m_medic.o : $(GAME_DIR)/m_medic.c
  260. $(DO_SHLIB_CC)
  261. $(BUILDDIR)/game/m_move.o : $(GAME_DIR)/m_move.c
  262. $(DO_SHLIB_CC)
  263. $(BUILDDIR)/game/m_mutant.o : $(GAME_DIR)/m_mutant.c
  264. $(DO_SHLIB_CC)
  265. $(BUILDDIR)/game/m_parasite.o : $(GAME_DIR)/m_parasite.c
  266. $(DO_SHLIB_CC)
  267. $(BUILDDIR)/game/m_soldier.o : $(GAME_DIR)/m_soldier.c
  268. $(DO_SHLIB_CC)
  269. $(BUILDDIR)/game/m_supertank.o : $(GAME_DIR)/m_supertank.c
  270. $(DO_SHLIB_CC)
  271. $(BUILDDIR)/game/m_tank.o : $(GAME_DIR)/m_tank.c
  272. $(DO_SHLIB_CC)
  273. $(BUILDDIR)/game/p_hud.o : $(GAME_DIR)/p_hud.c
  274. $(DO_SHLIB_CC)
  275. $(BUILDDIR)/game/p_trail.o : $(GAME_DIR)/p_trail.c
  276. $(DO_SHLIB_CC)
  277. $(BUILDDIR)/game/p_view.o : $(GAME_DIR)/p_view.c
  278. $(DO_SHLIB_CC)
  279. $(BUILDDIR)/game/p_weapon.o : $(GAME_DIR)/p_weapon.c
  280. $(DO_SHLIB_CC)
  281. $(BUILDDIR)/game/q_shared.o : $(GAME_DIR)/q_shared.c
  282. $(DO_SHLIB_CC)
  283. $(BUILDDIR)/game/m_flash.o : $(GAME_DIR)/m_flash.c
  284. $(DO_SHLIB_CC)
  285. #############################################################################
  286. # CTF
  287. #############################################################################
  288. CTF_OBJS = \
  289. $(BUILDDIR)/ctf/g_ai.o \
  290. $(BUILDDIR)/ctf/g_chase.o \
  291. $(BUILDDIR)/ctf/g_cmds.o \
  292. $(BUILDDIR)/ctf/g_combat.o \
  293. $(BUILDDIR)/ctf/g_ctf.o \
  294. $(BUILDDIR)/ctf/g_func.o \
  295. $(BUILDDIR)/ctf/g_items.o \
  296. $(BUILDDIR)/ctf/g_main.o \
  297. $(BUILDDIR)/ctf/g_misc.o \
  298. $(BUILDDIR)/ctf/g_monster.o \
  299. $(BUILDDIR)/ctf/g_phys.o \
  300. $(BUILDDIR)/ctf/g_save.o \
  301. $(BUILDDIR)/ctf/g_spawn.o \
  302. $(BUILDDIR)/ctf/g_svcmds.o \
  303. $(BUILDDIR)/ctf/g_target.o \
  304. $(BUILDDIR)/ctf/g_trigger.o \
  305. $(BUILDDIR)/ctf/g_utils.o \
  306. $(BUILDDIR)/ctf/g_weapon.o \
  307. $(BUILDDIR)/ctf/m_move.o \
  308. $(BUILDDIR)/ctf/p_client.o \
  309. $(BUILDDIR)/ctf/p_hud.o \
  310. $(BUILDDIR)/ctf/p_menu.o \
  311. $(BUILDDIR)/ctf/p_trail.o \
  312. $(BUILDDIR)/ctf/p_view.o \
  313. $(BUILDDIR)/ctf/p_weapon.o \
  314. $(BUILDDIR)/ctf/q_shared.o
  315. $(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT) : $(CTF_OBJS)
  316. $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(CTF_OBJS)
  317. $(BUILDDIR)/ctf/g_ai.o : $(CTF_DIR)/g_ai.c
  318. $(DO_SHLIB_CC)
  319. $(BUILDDIR)/ctf/g_chase.o : $(CTF_DIR)/g_chase.c
  320. $(DO_SHLIB_CC)
  321. $(BUILDDIR)/ctf/g_cmds.o : $(CTF_DIR)/g_cmds.c
  322. $(DO_SHLIB_CC)
  323. $(BUILDDIR)/ctf/g_combat.o : $(CTF_DIR)/g_combat.c
  324. $(DO_SHLIB_CC)
  325. $(BUILDDIR)/ctf/g_ctf.o : $(CTF_DIR)/g_ctf.c
  326. $(DO_SHLIB_CC)
  327. $(BUILDDIR)/ctf/g_func.o : $(CTF_DIR)/g_func.c
  328. $(DO_SHLIB_CC)
  329. $(BUILDDIR)/ctf/g_items.o : $(CTF_DIR)/g_items.c
  330. $(DO_SHLIB_CC)
  331. $(BUILDDIR)/ctf/g_main.o : $(CTF_DIR)/g_main.c
  332. $(DO_SHLIB_CC)
  333. $(BUILDDIR)/ctf/g_misc.o : $(CTF_DIR)/g_misc.c
  334. $(DO_SHLIB_CC)
  335. $(BUILDDIR)/ctf/g_monster.o : $(CTF_DIR)/g_monster.c
  336. $(DO_SHLIB_CC)
  337. $(BUILDDIR)/ctf/g_phys.o : $(CTF_DIR)/g_phys.c
  338. $(DO_SHLIB_CC)
  339. $(BUILDDIR)/ctf/g_save.o : $(CTF_DIR)/g_save.c
  340. $(DO_SHLIB_CC)
  341. $(BUILDDIR)/ctf/g_spawn.o : $(CTF_DIR)/g_spawn.c
  342. $(DO_SHLIB_CC)
  343. $(BUILDDIR)/ctf/g_svcmds.o : $(CTF_DIR)/g_svcmds.c
  344. $(DO_SHLIB_CC)
  345. $(BUILDDIR)/ctf/g_target.o : $(CTF_DIR)/g_target.c
  346. $(DO_SHLIB_CC)
  347. $(BUILDDIR)/ctf/g_trigger.o : $(CTF_DIR)/g_trigger.c
  348. $(DO_SHLIB_CC)
  349. $(BUILDDIR)/ctf/g_utils.o : $(CTF_DIR)/g_utils.c
  350. $(DO_SHLIB_CC)
  351. $(BUILDDIR)/ctf/g_weapon.o : $(CTF_DIR)/g_weapon.c
  352. $(DO_SHLIB_CC)
  353. $(BUILDDIR)/ctf/m_move.o : $(CTF_DIR)/m_move.c
  354. $(DO_SHLIB_CC)
  355. $(BUILDDIR)/ctf/p_client.o : $(CTF_DIR)/p_client.c
  356. $(DO_SHLIB_CC)
  357. $(BUILDDIR)/ctf/p_hud.o : $(CTF_DIR)/p_hud.c
  358. $(DO_SHLIB_CC)
  359. $(BUILDDIR)/ctf/p_menu.o : $(CTF_DIR)/p_menu.c
  360. $(DO_SHLIB_CC)
  361. $(BUILDDIR)/ctf/p_trail.o : $(CTF_DIR)/p_trail.c
  362. $(DO_SHLIB_CC)
  363. $(BUILDDIR)/ctf/p_view.o : $(CTF_DIR)/p_view.c
  364. $(DO_SHLIB_CC)
  365. $(BUILDDIR)/ctf/p_weapon.o : $(CTF_DIR)/p_weapon.c
  366. $(DO_SHLIB_CC)
  367. $(BUILDDIR)/ctf/q_shared.o : $(CTF_DIR)/q_shared.c
  368. $(DO_SHLIB_CC)
  369. #############################################################################
  370. # XATRIX
  371. #############################################################################
  372. XATRIX_OBJS = \
  373. $(BUILDDIR)/xatrix/g_ai.o \
  374. $(BUILDDIR)/xatrix/g_cmds.o \
  375. $(BUILDDIR)/xatrix/g_combat.o \
  376. $(BUILDDIR)/xatrix/g_func.o \
  377. $(BUILDDIR)/xatrix/g_items.o \
  378. $(BUILDDIR)/xatrix/g_main.o \
  379. $(BUILDDIR)/xatrix/g_misc.o \
  380. $(BUILDDIR)/xatrix/g_monster.o \
  381. $(BUILDDIR)/xatrix/g_phys.o \
  382. $(BUILDDIR)/xatrix/g_save.o \
  383. $(BUILDDIR)/xatrix/g_spawn.o \
  384. $(BUILDDIR)/xatrix/g_svcmds.o \
  385. $(BUILDDIR)/xatrix/g_target.o \
  386. $(BUILDDIR)/xatrix/g_trigger.o \
  387. $(BUILDDIR)/xatrix/g_turret.o \
  388. $(BUILDDIR)/xatrix/g_utils.o \
  389. $(BUILDDIR)/xatrix/g_weapon.o \
  390. $(BUILDDIR)/xatrix/m_actor.o \
  391. $(BUILDDIR)/xatrix/m_berserk.o \
  392. $(BUILDDIR)/xatrix/m_boss2.o \
  393. $(BUILDDIR)/xatrix/m_boss3.o \
  394. $(BUILDDIR)/xatrix/m_boss31.o \
  395. $(BUILDDIR)/xatrix/m_boss32.o \
  396. $(BUILDDIR)/xatrix/m_boss5.o \
  397. $(BUILDDIR)/xatrix/m_brain.o \
  398. $(BUILDDIR)/xatrix/m_chick.o \
  399. $(BUILDDIR)/xatrix/m_fixbot.o \
  400. $(BUILDDIR)/xatrix/m_flash.o \
  401. $(BUILDDIR)/xatrix/m_flipper.o \
  402. $(BUILDDIR)/xatrix/m_float.o \
  403. $(BUILDDIR)/xatrix/m_flyer.o \
  404. $(BUILDDIR)/xatrix/m_gekk.o \
  405. $(BUILDDIR)/xatrix/m_gladb.o \
  406. $(BUILDDIR)/xatrix/m_gladiator.o \
  407. $(BUILDDIR)/xatrix/m_gunner.o \
  408. $(BUILDDIR)/xatrix/m_hover.o \
  409. $(BUILDDIR)/xatrix/m_infantry.o \
  410. $(BUILDDIR)/xatrix/m_insane.o \
  411. $(BUILDDIR)/xatrix/m_medic.o \
  412. $(BUILDDIR)/xatrix/m_move.o \
  413. $(BUILDDIR)/xatrix/m_mutant.o \
  414. $(BUILDDIR)/xatrix/m_parasite.o \
  415. $(BUILDDIR)/xatrix/m_soldier.o \
  416. $(BUILDDIR)/xatrix/m_supertank.o \
  417. $(BUILDDIR)/xatrix/m_tank.o \
  418. $(BUILDDIR)/xatrix/p_client.o \
  419. $(BUILDDIR)/xatrix/p_hud.o \
  420. $(BUILDDIR)/xatrix/p_trail.o \
  421. $(BUILDDIR)/xatrix/p_view.o \
  422. $(BUILDDIR)/xatrix/p_weapon.o \
  423. $(BUILDDIR)/xatrix/q_shared.o
  424. $(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT) : $(XATRIX_OBJS)
  425. $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(XATRIX_OBJS)
  426. $(BUILDDIR)/xatrix/g_ai.o : $(XATRIX_DIR)/g_ai.c
  427. $(DO_SHLIB_CC)
  428. $(BUILDDIR)/xatrix/g_cmds.o : $(XATRIX_DIR)/g_cmds.c
  429. $(DO_SHLIB_CC)
  430. $(BUILDDIR)/xatrix/g_combat.o : $(XATRIX_DIR)/g_combat.c
  431. $(DO_SHLIB_CC)
  432. $(BUILDDIR)/xatrix/g_func.o : $(XATRIX_DIR)/g_func.c
  433. $(DO_SHLIB_CC)
  434. $(BUILDDIR)/xatrix/g_items.o : $(XATRIX_DIR)/g_items.c
  435. $(DO_SHLIB_CC)
  436. $(BUILDDIR)/xatrix/g_main.o : $(XATRIX_DIR)/g_main.c
  437. $(DO_SHLIB_CC)
  438. $(BUILDDIR)/xatrix/g_misc.o : $(XATRIX_DIR)/g_misc.c
  439. $(DO_SHLIB_CC)
  440. $(BUILDDIR)/xatrix/g_monster.o : $(XATRIX_DIR)/g_monster.c
  441. $(DO_SHLIB_CC)
  442. $(BUILDDIR)/xatrix/g_phys.o : $(XATRIX_DIR)/g_phys.c
  443. $(DO_SHLIB_CC)
  444. $(BUILDDIR)/xatrix/g_save.o : $(XATRIX_DIR)/g_save.c
  445. $(DO_SHLIB_CC)
  446. $(BUILDDIR)/xatrix/g_spawn.o : $(XATRIX_DIR)/g_spawn.c
  447. $(DO_SHLIB_CC)
  448. $(BUILDDIR)/xatrix/g_svcmds.o : $(XATRIX_DIR)/g_svcmds.c
  449. $(DO_SHLIB_CC)
  450. $(BUILDDIR)/xatrix/g_target.o : $(XATRIX_DIR)/g_target.c
  451. $(DO_SHLIB_CC)
  452. $(BUILDDIR)/xatrix/g_trigger.o : $(XATRIX_DIR)/g_trigger.c
  453. $(DO_SHLIB_CC)
  454. $(BUILDDIR)/xatrix/g_turret.o : $(XATRIX_DIR)/g_turret.c
  455. $(DO_SHLIB_CC)
  456. $(BUILDDIR)/xatrix/g_utils.o : $(XATRIX_DIR)/g_utils.c
  457. $(DO_SHLIB_CC)
  458. $(BUILDDIR)/xatrix/g_weapon.o : $(XATRIX_DIR)/g_weapon.c
  459. $(DO_SHLIB_CC)
  460. $(BUILDDIR)/xatrix/m_actor.o : $(XATRIX_DIR)/m_actor.c
  461. $(DO_SHLIB_CC)
  462. $(BUILDDIR)/xatrix/m_berserk.o : $(XATRIX_DIR)/m_berserk.c
  463. $(DO_SHLIB_CC)
  464. $(BUILDDIR)/xatrix/m_boss2.o : $(XATRIX_DIR)/m_boss2.c
  465. $(DO_SHLIB_CC)
  466. $(BUILDDIR)/xatrix/m_boss3.o : $(XATRIX_DIR)/m_boss3.c
  467. $(DO_SHLIB_CC)
  468. $(BUILDDIR)/xatrix/m_boss31.o : $(XATRIX_DIR)/m_boss31.c
  469. $(DO_SHLIB_CC)
  470. $(BUILDDIR)/xatrix/m_boss32.o : $(XATRIX_DIR)/m_boss32.c
  471. $(DO_SHLIB_CC)
  472. $(BUILDDIR)/xatrix/m_boss5.o : $(XATRIX_DIR)/m_boss5.c
  473. $(DO_SHLIB_CC)
  474. $(BUILDDIR)/xatrix/m_brain.o : $(XATRIX_DIR)/m_brain.c
  475. $(DO_SHLIB_CC)
  476. $(BUILDDIR)/xatrix/m_chick.o : $(XATRIX_DIR)/m_chick.c
  477. $(DO_SHLIB_CC)
  478. $(BUILDDIR)/xatrix/m_fixbot.o : $(XATRIX_DIR)/m_fixbot.c
  479. $(DO_SHLIB_CC)
  480. $(BUILDDIR)/xatrix/m_flash.o : $(XATRIX_DIR)/m_flash.c
  481. $(DO_SHLIB_CC)
  482. $(BUILDDIR)/xatrix/m_flipper.o : $(XATRIX_DIR)/m_flipper.c
  483. $(DO_SHLIB_CC)
  484. $(BUILDDIR)/xatrix/m_float.o : $(XATRIX_DIR)/m_float.c
  485. $(DO_SHLIB_CC)
  486. $(BUILDDIR)/xatrix/m_flyer.o : $(XATRIX_DIR)/m_flyer.c
  487. $(DO_SHLIB_CC)
  488. $(BUILDDIR)/xatrix/m_gekk.o : $(XATRIX_DIR)/m_gekk.c
  489. $(DO_SHLIB_CC)
  490. $(BUILDDIR)/xatrix/m_gladb.o : $(XATRIX_DIR)/m_gladb.c
  491. $(DO_SHLIB_CC)
  492. $(BUILDDIR)/xatrix/m_gladiator.o : $(XATRIX_DIR)/m_gladiator.c
  493. $(DO_SHLIB_CC)
  494. $(BUILDDIR)/xatrix/m_gunner.o : $(XATRIX_DIR)/m_gunner.c
  495. $(DO_SHLIB_CC)
  496. $(BUILDDIR)/xatrix/m_hover.o : $(XATRIX_DIR)/m_hover.c
  497. $(DO_SHLIB_CC)
  498. $(BUILDDIR)/xatrix/m_infantry.o : $(XATRIX_DIR)/m_infantry.c
  499. $(DO_SHLIB_CC)
  500. $(BUILDDIR)/xatrix/m_insane.o : $(XATRIX_DIR)/m_insane.c
  501. $(DO_SHLIB_CC)
  502. $(BUILDDIR)/xatrix/m_medic.o : $(XATRIX_DIR)/m_medic.c
  503. $(DO_SHLIB_CC)
  504. $(BUILDDIR)/xatrix/m_move.o : $(XATRIX_DIR)/m_move.c
  505. $(DO_SHLIB_CC)
  506. $(BUILDDIR)/xatrix/m_mutant.o : $(XATRIX_DIR)/m_mutant.c
  507. $(DO_SHLIB_CC)
  508. $(BUILDDIR)/xatrix/m_parasite.o : $(XATRIX_DIR)/m_parasite.c
  509. $(DO_SHLIB_CC)
  510. $(BUILDDIR)/xatrix/m_soldier.o : $(XATRIX_DIR)/m_soldier.c
  511. $(DO_SHLIB_CC)
  512. $(BUILDDIR)/xatrix/m_supertank.o : $(XATRIX_DIR)/m_supertank.c
  513. $(DO_SHLIB_CC)
  514. $(BUILDDIR)/xatrix/m_tank.o : $(XATRIX_DIR)/m_tank.c
  515. $(DO_SHLIB_CC)
  516. $(BUILDDIR)/xatrix/p_client.o : $(XATRIX_DIR)/p_client.c
  517. $(DO_SHLIB_CC)
  518. $(BUILDDIR)/xatrix/p_hud.o : $(XATRIX_DIR)/p_hud.c
  519. $(DO_SHLIB_CC)
  520. $(BUILDDIR)/xatrix/p_trail.o : $(XATRIX_DIR)/p_trail.c
  521. $(DO_SHLIB_CC)
  522. $(BUILDDIR)/xatrix/p_view.o : $(XATRIX_DIR)/p_view.c
  523. $(DO_SHLIB_CC)
  524. $(BUILDDIR)/xatrix/p_weapon.o : $(XATRIX_DIR)/p_weapon.c
  525. $(DO_SHLIB_CC)
  526. $(BUILDDIR)/xatrix/q_shared.o : $(XATRIX_DIR)/q_shared.c
  527. $(DO_SHLIB_CC)
  528. #############################################################################
  529. # MISC
  530. #############################################################################
  531. clean: clean-debug clean-release
  532. clean-debug:
  533. $(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  534. clean-release:
  535. $(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  536. clean2:
  537. -rm -f $(QUAKE2_OBJS) $(GAME_OBJS) $(CTF_OBJS) $(XATRIX_OBJS)