Quake-2

Quake 2 GPL Source Release
Log | Files | Refs

Makefile.OLD (12029B)


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