Quake-2

Quake 2 GPL Source Release
Log | Files | Refs

Makefile.AXP (18565B)


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