--- quake2/irix/makefile 2018/04/24 17:58:33 1.1.1.1 +++ quake2/irix/makefile 2018/04/24 17:59:14 1.1.1.2 @@ -1,299 +1,689 @@ +#!gmake +# +# Quake2 Makefile for Irix +# +# ELF only +# + +MOUNT_DIR=.. + +SUB_MAKE_FLAGS=-j 3 + +BUILD_DEBUG_DIR=debug +BUILD_RELEASE_DIR=release +BUILD_DEBUG_STATIC_DIR=debug_static +BUILD_RELEASE_STATIC_DIR=release_static +CLIENT_DIR=$(MOUNT_DIR)/client +SERVER_DIR=$(MOUNT_DIR)/server +REF_SOFT_DIR=$(MOUNT_DIR)/ref_soft +REF_GL_DIR=$(MOUNT_DIR)/ref_gl +COMMON_DIR=$(MOUNT_DIR)/qcommon +IRIX_DIR=$(MOUNT_DIR)/irix +LINUX_DIR=$(MOUNT_DIR)/linux +GAME_DIR=$(MOUNT_DIR)/game -# warning(1185): enumerated type mixed with another type - -CFLAGS = -c -Xcpluscomm -woff 1185 -g -O -DGAME_HARD_LINKED -DREF_HARD_LINKED -LDFLAGS = - -EXE = quake2 -all: $(EXE) - -#---------------------------------------------------------------------- - -SERVERFILES = sv_ccmds.o sv_ents.o sv_game.o sv_init.o sv_main.o sv_send.o sv_user.o sv_world.o - -GAMEFILES = g_actor.o g_ai.o g_client.o g_cmds.o g_combat.o g_func.o g_items.o g_main.o g_misc.o g_monster.o g_phys.o g_player.o g_save.o g_spawn.o g_target.o g_trigger.o g_utils.o g_weapon.o m_berserk.o m_boss2.o m_brain.o m_chick.o m_flipper.o m_float.o m_flyer.o m_gladiator.o m_gunner.o m_hover.o m_infantry.o m_insane.o m_medic.o m_move.o m_mutant.o m_parasite.o m_soldier.o m_supertank.o m_tank.o p_hud.o p_move.o p_trail.o p_view.o p_weapon.o - -CLIENTFILES = cl_demo.o cl_ents.o cl_fx.o cl_input.o cl_inv.o cl_main.o cl_parse.o cl_tent.o console.o keys.o menu.o qmenu.o screen.o scr_cin.o snd_dma.o snd_mem.o snd_mix.o snd_menu.o view.o - -# commonfiles are used by both client and server -COMMONFILES = m_flash.o cmd.o cmodel.o common.o cvar.o files.o md4.o net_chan.o net_udp.o - -REFGLFILES = gl_draw.o gl_inter.o gl_light.o gl_math.o gl_mesh.o gl_model.o gl_rmain.o gl_rmisc.o gl_rsurf.o gl_textr.o gl_warp. - -REFSOFTFILES = r_aclip.o r_alias.o r_bsp.o r_draw.o r_edge.o r_image.o r_light.o r_main.o r_misc.o r_model.o r_part.o r_polyse.o r_poly.o r_rast.o r_scan.o r_sprite.o r_surf.o - -# sharedfiles are included in EVERY dll -SHAREDFILES = q_shared.o - -NULLFILES = cd_null.o in_null.o snddma_null.o vid_null.o sys_null.o swimp_null.o - -#---------------------------------------------------------------------- - -clean: - rm -f *.o $(EXE) - -#---------------------------------------------------------------------- - -FILES = $(SERVERFILES) $(GAMEFILES) $(COMMONFILES) $(CLIENTFILES) $(REFSOFTFILES) $(SHAREDFILES) $(NULLFILES) - -$(EXE) : $(FILES) - cc -o $(EXE) $(LDFLAGS) $(FILES) -lm - -#---------------------------------------------------------------------- - -q_shared.o : ../qcommon/q_shared.c - cc $(CFLAGS) -o $@ $? - -#---------------------------------------------------------------------- - -sv_ccmds.o : ../server/sv_ccmds.c - cc $(CFLAGS) -o $@ $? -sv_ents.o : ../server/sv_ents.c - cc $(CFLAGS) -o $@ $? -sv_game.o : ../server/sv_game.c - cc $(CFLAGS) -o $@ $? -sv_init.o : ../server/sv_init.c - cc $(CFLAGS) -o $@ $? -sv_main.o : ../server/sv_main.c - cc $(CFLAGS) -o $@ $? -sv_send.o : ../server/sv_send.c - cc $(CFLAGS) -o $@ $? -sv_user.o : ../server/sv_user.c - cc $(CFLAGS) -o $@ $? -sv_world.o : ../server/sv_world.c - cc $(CFLAGS) -o $@ $? - -#---------------------------------------------------------------------- - -g_actor.o : ../game/g_actor.c - cc $(CFLAGS) -o $@ $? -g_ai.o : ../game/g_ai.c - cc $(CFLAGS) -o $@ $? -g_client.o : ../game/g_client.c - cc $(CFLAGS) -o $@ $? -g_cmds.o : ../game/g_cmds.c - cc $(CFLAGS) -o $@ $? -g_combat.o : ../game/g_combat.c - cc $(CFLAGS) -o $@ $? -g_func.o : ../game/g_func.c - cc $(CFLAGS) -o $@ $? -g_items.o : ../game/g_items.c - cc $(CFLAGS) -o $@ $? -g_main.o : ../game/g_main.c - cc $(CFLAGS) -o $@ $? -g_misc.o : ../game/g_misc.c - cc $(CFLAGS) -o $@ $? -g_monster.o : ../game/g_monster.c - cc $(CFLAGS) -o $@ $? -g_phys.o : ../game/g_phys.c - cc $(CFLAGS) -o $@ $? -g_player.o : ../game/g_player.c - cc $(CFLAGS) -o $@ $? -g_save.o : ../game/g_save.c - cc $(CFLAGS) -o $@ $? -g_spawn.o : ../game/g_spawn.c - cc $(CFLAGS) -o $@ $? -g_target.o : ../game/g_target.c - cc $(CFLAGS) -o $@ $? -g_trigger.o : ../game/g_trigger.c - cc $(CFLAGS) -o $@ $? -g_utils.o : ../game/g_utils.c - cc $(CFLAGS) -o $@ $? -g_weapon.o : ../game/g_weapon.c - cc $(CFLAGS) -o $@ $? -m_berserk.o : ../game/m_berserk.c - cc $(CFLAGS) -o $@ $? -m_boss2.o : ../game/m_boss2.c - cc $(CFLAGS) -o $@ $? -m_brain.o : ../game/m_brain.c - cc $(CFLAGS) -o $@ $? -m_chick.o : ../game/m_chick.c - cc $(CFLAGS) -o $@ $? -m_flipper.o : ../game/m_flipper.c - cc $(CFLAGS) -o $@ $? -m_float.o : ../game/m_float.c - cc $(CFLAGS) -o $@ $? -m_flyer.o : ../game/m_flyer.c - cc $(CFLAGS) -o $@ $? -m_gladiator.o : ../game/m_gladiator.c - cc $(CFLAGS) -o $@ $? -m_gunner.o : ../game/m_gunner.c - cc $(CFLAGS) -o $@ $? -m_hover.o : ../game/m_hover.c - cc $(CFLAGS) -o $@ $? -m_infantry.o : ../game/m_infantry.c - cc $(CFLAGS) -o $@ $? -m_insane.o : ../game/m_insane.c - cc $(CFLAGS) -o $@ $? -m_medic.o : ../game/m_medic.c - cc $(CFLAGS) -o $@ $? -m_move.o : ../game/m_move.c - cc $(CFLAGS) -o $@ $? -m_mutant.o : ../game/m_mutant.c - cc $(CFLAGS) -o $@ $? -m_parasite.o : ../game/m_parasite.c - cc $(CFLAGS) -o $@ $? -m_soldier.o : ../game/m_soldier.c - cc $(CFLAGS) -o $@ $? -m_supertank.o : ../game/m_supertank.c - cc $(CFLAGS) -o $@ $? -m_tank.o : ../game/m_tank.c - cc $(CFLAGS) -o $@ $? -p_hud.o : ../game/p_hud.c - cc $(CFLAGS) -o $@ $? -p_move.o : ../game/p_move.c - cc $(CFLAGS) -o $@ $? -p_trail.o : ../game/p_trail.c - cc $(CFLAGS) -o $@ $? -p_view.o : ../game/p_view.c - cc $(CFLAGS) -o $@ $? -p_weapon.o : ../game/p_weapon.c - cc $(CFLAGS) -o $@ $? - -#---------------------------------------------------------------------- - -cl_demo.o : ../client/cl_demo.c - cc $(CFLAGS) -o $@ $? -cl_ents.o : ../client/cl_ents.c - cc $(CFLAGS) -o $@ $? -cl_fx.o : ../client/cl_fx.c - cc $(CFLAGS) -o $@ $? -cl_input.o : ../client/cl_input.c - cc $(CFLAGS) -o $@ $? -cl_inv.o : ../client/cl_inv.c - cc $(CFLAGS) -o $@ $? -cl_main.o : ../client/cl_main.c - cc $(CFLAGS) -o $@ $? -cl_parse.o : ../client/cl_parse.c - cc $(CFLAGS) -o $@ $? -cl_tent.o : ../client/cl_tent.c - cc $(CFLAGS) -o $@ $? -console.o : ../client/console.c - cc $(CFLAGS) -o $@ $? -keys.o : ../client/keys.c - cc $(CFLAGS) -o $@ $? -menu.o : ../client/menu.c - cc $(CFLAGS) -o $@ $? -qmenu.o : ../client/qmenu.c - cc $(CFLAGS) -o $@ $? -sbar2.o : ../client/sbar2.c - cc $(CFLAGS) -o $@ $? -screen.o : ../client/screen.c - cc $(CFLAGS) -o $@ $? -scr_cin.o : ../client/scr_cin.c - cc $(CFLAGS) -o $@ $? -snd_dma.o : ../client/snd_dma.c - cc $(CFLAGS) -o $@ $? -snd_mem.o : ../client/snd_mem.c - cc $(CFLAGS) -o $@ $? -snd_mix.o : ../client/snd_mix.c - cc $(CFLAGS) -o $@ $? -snd_menu.o : ../client/snd_menu.c - cc $(CFLAGS) -o $@ $? -view.o : ../client/view.c - cc $(CFLAGS) -o $@ $? - -#---------------------------------------------------------------------- - -cmd.o : ../qcommon/cmd.c - cc $(CFLAGS) -o $@ $? -cmodel.o : ../qcommon/cmodel.c - cc $(CFLAGS) -o $@ $? -common.o : ../qcommon/common.c - cc $(CFLAGS) -o $@ $? -cvar.o : ../qcommon/cvar.c - cc $(CFLAGS) -o $@ $? -files.o : ../qcommon/files.c - cc $(CFLAGS) -o $@ $? -md4.o : ../qcommon/md4.c - cc $(CFLAGS) -o $@ $? -net_chan.o : ../qcommon/net_chan.c - cc $(CFLAGS) -o $@ $? -net_udp.o : ../qcommon/net_udp.c - cc $(CFLAGS) -o $@ $? -m_flash.o : ../qcommon/m_flash.c - cc $(CFLAGS) -o $@ $? - -#---------------------------------------------------------------------- - -gl_draw.o : ../ref_gl/gl_draw.c - cc $(CFLAGS) -o $@ $? -gl_inter.o : ../ref_gl/gl_inter.c - cc $(CFLAGS) -o $@ $? -gl_light.o : ../ref_gl/gl_light.c - cc $(CFLAGS) -o $@ $? -gl_math.o : ../ref_gl/gl_math.c - cc $(CFLAGS) -o $@ $? -gl_mesh.o : ../ref_gl/gl_mesh.c - cc $(CFLAGS) -o $@ $? -gl_model.o : ../ref_gl/gl_model.c - cc $(CFLAGS) -o $@ $? -gl_rmain.o : ../ref_gl/gl_rmain.c - cc $(CFLAGS) -o $@ $? -gl_rmisc.o : ../ref_gl/gl_rmisc.c - cc $(CFLAGS) -o $@ $? -gl_rsurf.o : ../ref_gl/gl_rsurf.c - cc $(CFLAGS) -o $@ $? -gl_textr.o : ../ref_gl/gl_textr.c - cc $(CFLAGS) -o $@ $? -gl_warp.o : ../ref_gl/gl_warp.c - cc $(CFLAGS) -o $@ $? - -#---------------------------------------------------------------------- - -r_aclip.o : ../ref_soft/r_aclip.c - cc $(CFLAGS) -o $@ $? -r_alias.o : ../ref_soft/r_alias.c - cc $(CFLAGS) -o $@ $? -r_bsp.o : ../ref_soft/r_bsp.c - cc $(CFLAGS) -o $@ $? -r_draw.o : ../ref_soft/r_draw.c - cc $(CFLAGS) -o $@ $? -r_edge.o : ../ref_soft/r_edge.c - cc $(CFLAGS) -o $@ $? -r_image.o : ../ref_soft/r_image.c - cc $(CFLAGS) -o $@ $? -r_light.o : ../ref_soft/r_light.c - cc $(CFLAGS) -o $@ $? -r_main.o : ../ref_soft/r_main.c - cc $(CFLAGS) -o $@ $? -r_misc.o : ../ref_soft/r_misc.c - cc $(CFLAGS) -o $@ $? -r_model.o : ../ref_soft/r_model.c - cc $(CFLAGS) -o $@ $? -r_part.o : ../ref_soft/r_part.c - cc $(CFLAGS) -o $@ $? -r_polyse.o : ../ref_soft/r_polyse.c - cc $(CFLAGS) -o $@ $? -r_poly.o : ../ref_soft/r_poly.c - cc $(CFLAGS) -o $@ $? -r_rast.o : ../ref_soft/r_rast.c - cc $(CFLAGS) -o $@ $? -r_scan.o : ../ref_soft/r_scan.c - cc $(CFLAGS) -o $@ $? -r_sprite.o : ../ref_soft/r_sprite.c - cc $(CFLAGS) -o $@ $? -r_surf.o : ../ref_soft/r_surf.c - cc $(CFLAGS) -o $@ $? - -#---------------------------------------------------------------------- - -cd_null.o : ../null/cd_null.c - cc $(CFLAGS) -o $@ $? -in_null.o : ../null/in_null.c - cc $(CFLAGS) -o $@ $? -snd_null.o : ../null/snd_null.c - cc $(CFLAGS) -o $@ $? -snddma_null.o : ../null/snddma_null.c - cc $(CFLAGS) -o $@ $? -sys_null.o : ../null/sys_null.c - cc $(CFLAGS) -o $@ $? -vid_null.o : ../null/vid_null.c - cc $(CFLAGS) -o $@ $? -swimp_null.o : ../null/swimp_null.c - cc $(CFLAGS) -o $@ $? -glimp_null.o : ../null/glimp_null.c - cc $(CFLAGS) -o $@ $? +ARCH=mips -#---------------------------------------------------------------------- +#CC=gcc +# warning(1185): enumerated type mixed with another type +BASE_CFLAGS=-Dstricmp=strcasecmp -Xcpluscomm -woff 1185 -mips3 +RELEASE_CFLAGS=$(BASE_CFLAGS) -O3 +DEBUG_CFLAGS=$(BASE_CFLAGS) -g +BASE_STATIC_CFLAGS=-DGAME_HARD_LINKED -DREF_HARD_LINKED +RELEASE_STATIC_CFLAGS=$(BASE_STATIC_CFLAGS) $(RELEASE_CFLAGS) +DEBUG_STATIC_CFLAGS=$(BASE_STATIC_CFLAGS) $(DEBUG_CFLAGS) +# ld warning(15) multiply defined... +LDFLAGS=-ldl -lm -laudio -ldmedia -Wl,-woff,15 +XLDFLAGS=-lX11 -lXext +XCFLAGS= + +GLLDFLAGS=-lGL -lX11 -lXext +GLCFLAGS= + +SHLIBEXT=so + +#SHLIBCFLAGS=-fPIC +SHLIBCFLAGS= +SHLIBLDFLAGS=-shared + +DO_CC=$(CC) $(CFLAGS) -o $@ -c $< +DO_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $< +DO_GL_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) $(GLCFLAGS) -o $@ -c $< +DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< +DO_SHLIB_AS=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< + +############################################################################# +# SETUP AND BUILD +############################################################################# + +TARGETS=$(BUILDDIR)/quake2 $(BUILDDIR)/game$(ARCH).$(SHLIBEXT) \ + $(BUILDDIR)/ref_soft.$(SHLIBEXT) \ + $(BUILDDIR)/ref_gl.$(SHLIBEXT) + +STATIC_TARGETS= \ + $(BUILDDIR)/quake2.gl \ + $(BUILDDIR)/quake2.sw + +build_debug: + @ if test ! -d $(BUILD_DEBUG_DIR) ; then mkdir $(BUILD_DEBUG_DIR) ; fi + @ if test ! -d $(BUILD_DEBUG_DIR)/client ; then mkdir $(BUILD_DEBUG_DIR)/client ; fi + @ if test ! -d $(BUILD_DEBUG_DIR)/ref_soft ; then mkdir $(BUILD_DEBUG_DIR)/ref_soft ; fi + @ if test ! -d $(BUILD_DEBUG_DIR)/ref_gl ; then mkdir $(BUILD_DEBUG_DIR)/ref_gl ; fi + @ if test ! -d $(BUILD_DEBUG_DIR)/game ; then mkdir $(BUILD_DEBUG_DIR)/game ; fi + $(MAKE) $(SUB_MAKE_FLAGS) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)" + +build_release: + @ if test ! -d $(BUILD_RELEASE_DIR) ; then mkdir $(BUILD_RELEASE_DIR) ; fi + @ if test ! -d $(BUILD_RELEASE_DIR)/client ; then mkdir $(BUILD_RELEASE_DIR)/client ; fi + @ if test ! -d $(BUILD_RELEASE_DIR)/ref_soft ; then mkdir $(BUILD_RELEASE_DIR)/ref_soft ; fi + @ if test ! -d $(BUILD_RELEASE_DIR)/ref_gl ; then mkdir $(BUILD_RELEASE_DIR)/ref_gl ; fi + @ if test ! -d $(BUILD_RELEASE_DIR)/game ; then mkdir $(BUILD_RELEASE_DIR)/game ; fi + $(MAKE) $(SUB_MAKE_FLAGS) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)" + +build_debug_static: + @ if test ! -d $(BUILD_DEBUG_STATIC_DIR) ; then mkdir $(BUILD_DEBUG_STATIC_DIR) ; fi + @ if test ! -d $(BUILD_DEBUG_STATIC_DIR)/client ; then mkdir $(BUILD_DEBUG_STATIC_DIR)/client ; fi + @ if test ! -d $(BUILD_DEBUG_STATIC_DIR)/ref_soft ; then mkdir $(BUILD_DEBUG_STATIC_DIR)/ref_soft ; fi + @ if test ! -d $(BUILD_DEBUG_STATIC_DIR)/ref_gl ; then mkdir $(BUILD_DEBUG_STATIC_DIR)/ref_gl ; fi + @ if test ! -d $(BUILD_DEBUG_STATIC_DIR)/game ; then mkdir $(BUILD_DEBUG_STATIC_DIR)/game ; fi + $(MAKE) $(SUB_MAKE_FLAGS) static_targets BUILDDIR=$(BUILD_DEBUG_STATIC_DIR) CFLAGS="$(DEBUG_STATIC_CFLAGS)" + +build_release_static: + @ if test ! -d $(BUILD_RELEASE_STATIC_DIR) ; then mkdir $(BUILD_RELEASE_STATIC_DIR) ; fi + @ if test ! -d $(BUILD_RELEASE_STATIC_DIR)/client ; then mkdir $(BUILD_RELEASE_STATIC_DIR)/client ; fi + @ if test ! -d $(BUILD_RELEASE_STATIC_DIR)/ref_soft ; then mkdir $(BUILD_RELEASE_STATIC_DIR)/ref_soft ; fi + @ if test ! -d $(BUILD_RELEASE_STATIC_DIR)/ref_gl ; then mkdir $(BUILD_RELEASE_STATIC_DIR)/ref_gl ; fi + @ if test ! -d $(BUILD_RELEASE_STATIC_DIR)/game ; then mkdir $(BUILD_RELEASE_STATIC_DIR)/game ; fi + $(MAKE) $(SUB_MAKE_FLAGS) static_targets BUILDDIR=$(BUILD_RELEASE_STATIC_DIR) CFLAGS="$(RELEASE_STATIC_CFLAGS)" + +all: build_debug build_release build_debug_static build_release_static + +targets: $(TARGETS) + +static_targets: $(STATIC_TARGETS) + +############################################################################# +# CLIENT/SERVER +############################################################################# + +QUAKE2_OBJS = \ + $(BUILDDIR)/client/cl_cin.o \ + $(BUILDDIR)/client/cl_ents.o \ + $(BUILDDIR)/client/cl_fx.o \ + $(BUILDDIR)/client/cl_input.o \ + $(BUILDDIR)/client/cl_inv.o \ + $(BUILDDIR)/client/cl_main.o \ + $(BUILDDIR)/client/cl_parse.o \ + $(BUILDDIR)/client/cl_pred.o \ + $(BUILDDIR)/client/cl_tent.o \ + $(BUILDDIR)/client/cl_scrn.o \ + $(BUILDDIR)/client/cl_view.o \ + $(BUILDDIR)/client/console.o \ + $(BUILDDIR)/client/keys.o \ + $(BUILDDIR)/client/menu.o \ + $(BUILDDIR)/client/snd_dma.o \ + $(BUILDDIR)/client/snd_mem.o \ + $(BUILDDIR)/client/snd_mix.o \ + $(BUILDDIR)/client/qmenu.o \ + $(BUILDDIR)/client/m_flash.o \ + \ + $(BUILDDIR)/client/cmd.o \ + $(BUILDDIR)/client/cmodel.o \ + $(BUILDDIR)/client/common.o \ + $(BUILDDIR)/client/cvar.o \ + $(BUILDDIR)/client/files.o \ + $(BUILDDIR)/client/md4.o \ + $(BUILDDIR)/client/net_chan.o \ + \ + $(BUILDDIR)/client/sv_ccmds.o \ + $(BUILDDIR)/client/sv_ents.o \ + $(BUILDDIR)/client/sv_game.o \ + $(BUILDDIR)/client/sv_init.o \ + $(BUILDDIR)/client/sv_main.o \ + $(BUILDDIR)/client/sv_send.o \ + $(BUILDDIR)/client/sv_user.o \ + $(BUILDDIR)/client/sv_world.o \ + \ + $(BUILDDIR)/client/cd_irix.o \ + $(BUILDDIR)/client/q_shirix.o \ + $(BUILDDIR)/client/vid_menu.o \ + $(BUILDDIR)/client/vid_so.o \ + $(BUILDDIR)/client/snd_irix.o \ + $(BUILDDIR)/client/sys_irix.o \ + $(BUILDDIR)/client/glob.o \ + $(BUILDDIR)/client/net_udp.o \ + \ + $(BUILDDIR)/client/q_shared.o \ + $(BUILDDIR)/client/pmove.o + +$(BUILDDIR)/quake2 : $(QUAKE2_OBJS) + $(CC) $(CFLAGS) -o $@ $(QUAKE2_OBJS) $(LDFLAGS) + +$(BUILDDIR)/client/cl_cin.o : $(CLIENT_DIR)/cl_cin.c + $(DO_CC) + +$(BUILDDIR)/client/cl_ents.o : $(CLIENT_DIR)/cl_ents.c + $(DO_CC) + +$(BUILDDIR)/client/cl_fx.o : $(CLIENT_DIR)/cl_fx.c + $(DO_CC) + +$(BUILDDIR)/client/cl_input.o : $(CLIENT_DIR)/cl_input.c + $(DO_CC) + +$(BUILDDIR)/client/cl_inv.o : $(CLIENT_DIR)/cl_inv.c + $(DO_CC) + +$(BUILDDIR)/client/cl_main.o : $(CLIENT_DIR)/cl_main.c + $(DO_CC) + +$(BUILDDIR)/client/cl_parse.o : $(CLIENT_DIR)/cl_parse.c + $(DO_CC) + +$(BUILDDIR)/client/cl_pred.o : $(CLIENT_DIR)/cl_pred.c + $(DO_CC) + +$(BUILDDIR)/client/cl_tent.o : $(CLIENT_DIR)/cl_tent.c + $(DO_CC) + +$(BUILDDIR)/client/cl_scrn.o : $(CLIENT_DIR)/cl_scrn.c + $(DO_CC) + +$(BUILDDIR)/client/cl_view.o : $(CLIENT_DIR)/cl_view.c + $(DO_CC) + +$(BUILDDIR)/client/console.o : $(CLIENT_DIR)/console.c + $(DO_CC) + +$(BUILDDIR)/client/keys.o : $(CLIENT_DIR)/keys.c + $(DO_CC) + +$(BUILDDIR)/client/menu.o : $(CLIENT_DIR)/menu.c + $(DO_CC) + +$(BUILDDIR)/client/snd_dma.o : $(CLIENT_DIR)/snd_dma.c + $(DO_CC) + +$(BUILDDIR)/client/snd_mem.o : $(CLIENT_DIR)/snd_mem.c + $(DO_CC) + +$(BUILDDIR)/client/snd_mix.o : $(CLIENT_DIR)/snd_mix.c + $(DO_CC) + +$(BUILDDIR)/client/qmenu.o : $(CLIENT_DIR)/qmenu.c + $(DO_CC) + +$(BUILDDIR)/client/m_flash.o : $(GAME_DIR)/m_flash.c + $(DO_CC) + +$(BUILDDIR)/client/cmd.o : $(COMMON_DIR)/cmd.c + $(DO_CC) + +$(BUILDDIR)/client/cmodel.o : $(COMMON_DIR)/cmodel.c + $(DO_CC) + +$(BUILDDIR)/client/common.o : $(COMMON_DIR)/common.c + $(DO_CC) + +$(BUILDDIR)/client/cvar.o : $(COMMON_DIR)/cvar.c + $(DO_CC) + +$(BUILDDIR)/client/files.o : $(COMMON_DIR)/files.c + $(DO_CC) + +$(BUILDDIR)/client/md4.o : $(COMMON_DIR)/md4.c + $(DO_CC) + +$(BUILDDIR)/client/net_chan.o : $(COMMON_DIR)/net_chan.c + $(DO_CC) + +$(BUILDDIR)/client/q_shared.o : $(GAME_DIR)/q_shared.c + $(DO_CC) + +$(BUILDDIR)/client/pmove.o : $(COMMON_DIR)/pmove.c + $(DO_CC) + +$(BUILDDIR)/client/sv_ccmds.o : $(SERVER_DIR)/sv_ccmds.c + $(DO_CC) + +$(BUILDDIR)/client/sv_ents.o : $(SERVER_DIR)/sv_ents.c + $(DO_CC) + +$(BUILDDIR)/client/sv_game.o : $(SERVER_DIR)/sv_game.c + $(DO_CC) + +$(BUILDDIR)/client/sv_init.o : $(SERVER_DIR)/sv_init.c + $(DO_CC) + +$(BUILDDIR)/client/sv_main.o : $(SERVER_DIR)/sv_main.c + $(DO_CC) + +$(BUILDDIR)/client/sv_send.o : $(SERVER_DIR)/sv_send.c + $(DO_CC) + +$(BUILDDIR)/client/sv_user.o : $(SERVER_DIR)/sv_user.c + $(DO_CC) + +$(BUILDDIR)/client/sv_world.o : $(SERVER_DIR)/sv_world.c + $(DO_CC) + +$(BUILDDIR)/client/cd_irix.o : $(IRIX_DIR)/cd_irix.c + $(DO_CC) + +$(BUILDDIR)/client/q_shirix.o : $(IRIX_DIR)/q_shirix.c + $(DO_CC) + +$(BUILDDIR)/client/vid_menu.o : $(IRIX_DIR)/vid_menu.c + $(DO_CC) + +$(BUILDDIR)/client/vid_so.o : $(IRIX_DIR)/vid_so.c + $(DO_CC) + +$(BUILDDIR)/client/snd_irix.o : $(IRIX_DIR)/snd_irix.c + $(DO_CC) + +$(BUILDDIR)/client/sys_irix.o : $(IRIX_DIR)/sys_irix.c + $(DO_CC) + +$(BUILDDIR)/client/glob.o : $(LINUX_DIR)/glob.c + $(DO_CC) + +$(BUILDDIR)/client/net_udp.o : $(LINUX_DIR)/net_udp.c + $(DO_CC) + +############################################################################# +# GAME +############################################################################# + +GAME_OBJS = \ + $(BUILDDIR)/game/g_ai.o \ + $(BUILDDIR)/game/p_client.o \ + $(BUILDDIR)/game/g_cmds.o \ + $(BUILDDIR)/game/g_svcmds.o \ + $(BUILDDIR)/game/g_combat.o \ + $(BUILDDIR)/game/g_func.o \ + $(BUILDDIR)/game/g_items.o \ + $(BUILDDIR)/game/g_main.o \ + $(BUILDDIR)/game/g_misc.o \ + $(BUILDDIR)/game/g_monster.o \ + $(BUILDDIR)/game/g_phys.o \ + $(BUILDDIR)/game/g_save.o \ + $(BUILDDIR)/game/g_spawn.o \ + $(BUILDDIR)/game/g_target.o \ + $(BUILDDIR)/game/g_trigger.o \ + $(BUILDDIR)/game/g_turret.o \ + $(BUILDDIR)/game/g_utils.o \ + $(BUILDDIR)/game/g_weapon.o \ + $(BUILDDIR)/game/m_actor.o \ + $(BUILDDIR)/game/m_berserk.o \ + $(BUILDDIR)/game/m_boss2.o \ + $(BUILDDIR)/game/m_boss3.o \ + $(BUILDDIR)/game/m_boss31.o \ + $(BUILDDIR)/game/m_boss32.o \ + $(BUILDDIR)/game/m_brain.o \ + $(BUILDDIR)/game/m_chick.o \ + $(BUILDDIR)/game/m_flipper.o \ + $(BUILDDIR)/game/m_float.o \ + $(BUILDDIR)/game/m_flyer.o \ + $(BUILDDIR)/game/m_gladiator.o \ + $(BUILDDIR)/game/m_gunner.o \ + $(BUILDDIR)/game/m_hover.o \ + $(BUILDDIR)/game/m_infantry.o \ + $(BUILDDIR)/game/m_insane.o \ + $(BUILDDIR)/game/m_medic.o \ + $(BUILDDIR)/game/m_move.o \ + $(BUILDDIR)/game/m_mutant.o \ + $(BUILDDIR)/game/m_parasite.o \ + $(BUILDDIR)/game/m_soldier.o \ + $(BUILDDIR)/game/m_supertank.o \ + $(BUILDDIR)/game/m_tank.o \ + $(BUILDDIR)/game/p_hud.o \ + $(BUILDDIR)/game/p_trail.o \ + $(BUILDDIR)/game/p_view.o \ + $(BUILDDIR)/game/p_weapon.o \ + $(BUILDDIR)/game/q_shared.o \ + $(BUILDDIR)/game/m_flash.o + +$(BUILDDIR)/game$(ARCH).$(SHLIBEXT) : $(GAME_OBJS) + $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(GAME_OBJS) + +$(BUILDDIR)/game/g_ai.o : $(GAME_DIR)/g_ai.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/p_client.o : $(GAME_DIR)/p_client.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_cmds.o : $(GAME_DIR)/g_cmds.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_svcmds.o : $(GAME_DIR)/g_svcmds.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_combat.o : $(GAME_DIR)/g_combat.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_func.o : $(GAME_DIR)/g_func.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_items.o : $(GAME_DIR)/g_items.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_main.o : $(GAME_DIR)/g_main.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_misc.o : $(GAME_DIR)/g_misc.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_monster.o : $(GAME_DIR)/g_monster.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_phys.o : $(GAME_DIR)/g_phys.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_save.o : $(GAME_DIR)/g_save.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_spawn.o : $(GAME_DIR)/g_spawn.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_target.o : $(GAME_DIR)/g_target.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_trigger.o : $(GAME_DIR)/g_trigger.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_turret.o : $(GAME_DIR)/g_turret.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_utils.o : $(GAME_DIR)/g_utils.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/g_weapon.o : $(GAME_DIR)/g_weapon.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_actor.o : $(GAME_DIR)/m_actor.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_berserk.o : $(GAME_DIR)/m_berserk.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_boss2.o : $(GAME_DIR)/m_boss2.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_boss3.o : $(GAME_DIR)/m_boss3.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_boss31.o : $(GAME_DIR)/m_boss31.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_boss32.o : $(GAME_DIR)/m_boss32.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_brain.o : $(GAME_DIR)/m_brain.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_chick.o : $(GAME_DIR)/m_chick.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_flipper.o : $(GAME_DIR)/m_flipper.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_float.o : $(GAME_DIR)/m_float.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_flyer.o : $(GAME_DIR)/m_flyer.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_gladiator.o : $(GAME_DIR)/m_gladiator.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_gunner.o : $(GAME_DIR)/m_gunner.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_hover.o : $(GAME_DIR)/m_hover.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_infantry.o : $(GAME_DIR)/m_infantry.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_insane.o : $(GAME_DIR)/m_insane.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_medic.o : $(GAME_DIR)/m_medic.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_move.o : $(GAME_DIR)/m_move.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_mutant.o : $(GAME_DIR)/m_mutant.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_parasite.o : $(GAME_DIR)/m_parasite.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_soldier.o : $(GAME_DIR)/m_soldier.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_supertank.o : $(GAME_DIR)/m_supertank.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_tank.o : $(GAME_DIR)/m_tank.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/p_hud.o : $(GAME_DIR)/p_hud.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/p_trail.o : $(GAME_DIR)/p_trail.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/p_view.o : $(GAME_DIR)/p_view.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/p_weapon.o : $(GAME_DIR)/p_weapon.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/q_shared.o : $(GAME_DIR)/q_shared.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/game/m_flash.o : $(GAME_DIR)/m_flash.c + $(DO_SHLIB_CC) + +############################################################################# +# REF_SOFT +############################################################################# + +REF_SOFT_OBJS = \ + $(BUILDDIR)/ref_soft/r_aclip.o \ + $(BUILDDIR)/ref_soft/r_alias.o \ + $(BUILDDIR)/ref_soft/r_bsp.o \ + $(BUILDDIR)/ref_soft/r_draw.o \ + $(BUILDDIR)/ref_soft/r_edge.o \ + $(BUILDDIR)/ref_soft/r_image.o \ + $(BUILDDIR)/ref_soft/r_light.o \ + $(BUILDDIR)/ref_soft/r_main.o \ + $(BUILDDIR)/ref_soft/r_misc.o \ + $(BUILDDIR)/ref_soft/r_model.o \ + $(BUILDDIR)/ref_soft/r_part.o \ + $(BUILDDIR)/ref_soft/r_poly.o \ + $(BUILDDIR)/ref_soft/r_polyse.o \ + $(BUILDDIR)/ref_soft/r_rast.o \ + $(BUILDDIR)/ref_soft/r_scan.o \ + $(BUILDDIR)/ref_soft/r_sprite.o \ + $(BUILDDIR)/ref_soft/r_surf.o \ + \ + $(BUILDDIR)/ref_soft/q_shared.o \ + $(BUILDDIR)/ref_soft/q_shirix.o \ + $(BUILDDIR)/ref_soft/glob.o + +REF_SOFT_X11_OBJS = \ + $(BUILDDIR)/ref_soft/rw_x11.o + +$(BUILDDIR)/ref_soft.$(SHLIBEXT) : $(REF_SOFT_OBJS) $(REF_SOFT_X11_OBJS) + $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(REF_SOFT_OBJS) \ + $(REF_SOFT_X11_OBJS) $(XLDFLAGS) + +$(BUILDDIR)/ref_soft/r_aclip.o : $(REF_SOFT_DIR)/r_aclip.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_alias.o : $(REF_SOFT_DIR)/r_alias.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_bsp.o : $(REF_SOFT_DIR)/r_bsp.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_draw.o : $(REF_SOFT_DIR)/r_draw.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_edge.o : $(REF_SOFT_DIR)/r_edge.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_image.o : $(REF_SOFT_DIR)/r_image.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_light.o : $(REF_SOFT_DIR)/r_light.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_main.o : $(REF_SOFT_DIR)/r_main.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_misc.o : $(REF_SOFT_DIR)/r_misc.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_model.o : $(REF_SOFT_DIR)/r_model.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_part.o : $(REF_SOFT_DIR)/r_part.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_poly.o : $(REF_SOFT_DIR)/r_poly.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_polyse.o : $(REF_SOFT_DIR)/r_polyse.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_rast.o : $(REF_SOFT_DIR)/r_rast.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_scan.o : $(REF_SOFT_DIR)/r_scan.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_sprite.o : $(REF_SOFT_DIR)/r_sprite.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/r_surf.o : $(REF_SOFT_DIR)/r_surf.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/q_shared.o : $(GAME_DIR)/q_shared.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/q_shirix.o : $(IRIX_DIR)/q_shirix.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/glob.o : $(LINUX_DIR)/glob.c + $(DO_SHLIB_CC) + +$(BUILDDIR)/ref_soft/rw_x11.o : $(LINUX_DIR)/rw_x11.c + $(DO_SHLIB_CC) + +############################################################################# +# REF_GL +############################################################################# + +REF_GL_OBJS = \ + $(BUILDDIR)/ref_gl/gl_draw.o \ + $(BUILDDIR)/ref_gl/gl_image.o \ + $(BUILDDIR)/ref_gl/gl_light.o \ + $(BUILDDIR)/ref_gl/gl_mesh.o \ + $(BUILDDIR)/ref_gl/gl_model.o \ + $(BUILDDIR)/ref_gl/gl_rmain.o \ + $(BUILDDIR)/ref_gl/gl_rmisc.o \ + $(BUILDDIR)/ref_gl/gl_rsurf.o \ + $(BUILDDIR)/ref_gl/gl_warp.o \ + \ + $(BUILDDIR)/ref_gl/qgl_irix.o \ + $(BUILDDIR)/ref_gl/glw_imp.o \ + $(BUILDDIR)/ref_gl/q_shared.o \ + $(BUILDDIR)/ref_gl/q_shirix.o \ + $(BUILDDIR)/ref_gl/glob.o + +$(BUILDDIR)/ref_gl.$(SHLIBEXT) : $(REF_GL_OBJS) + $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(REF_GL_OBJS) $(GLLDFLAGS) + +$(BUILDDIR)/ref_gl/gl_draw.o : $(REF_GL_DIR)/gl_draw.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/gl_image.o : $(REF_GL_DIR)/gl_image.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/gl_light.o : $(REF_GL_DIR)/gl_light.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/gl_mesh.o : $(REF_GL_DIR)/gl_mesh.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/gl_model.o : $(REF_GL_DIR)/gl_model.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/gl_rmain.o : $(REF_GL_DIR)/gl_rmain.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/gl_rmisc.o : $(REF_GL_DIR)/gl_rmisc.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/gl_rsurf.o : $(REF_GL_DIR)/gl_rsurf.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/gl_warp.o : $(REF_GL_DIR)/gl_warp.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/qgl_irix.o : $(IRIX_DIR)/qgl_irix.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/glw_imp.o : $(IRIX_DIR)/glw_imp.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/q_shared.o : $(GAME_DIR)/q_shared.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/q_shirix.o : $(IRIX_DIR)/q_shirix.c + $(DO_GL_SHLIB_CC) + +$(BUILDDIR)/ref_gl/glob.o : $(LINUX_DIR)/glob.c + $(DO_GL_SHLIB_CC) + +############################################################################# +# MISC +############################################################################# + +$(BUILDDIR)/quake2.sw : $(QUAKE2_OBJS) $(GAME_OBJS) \ + $(REF_SOFT_OBJS) $(REF_SOFT_X11_OBJS) + $(CC) $(CFLAGS) -o $@ $(QUAKE2_OBJS) $(GAME_OBJS) \ + $(REF_SOFT_OBJS) $(REF_SOFT_X11_OBJS) $(LDFLAGS) $(XLDFLAGS) + +$(BUILDDIR)/quake2.gl : $(QUAKE2_OBJS) $(GAME_OBJS) $(REF_GL_OBJS) + $(CC) $(CFLAGS) -o $@ $(QUAKE2_OBJS) $(GAME_OBJS) \ + $(REF_GL_OBJS) $(LDFLAGS) $(GLLDFLAGS) + +############################################################################# + +clean: clean-debug clean-release clean-debug-static clean-release-static + +clean-debug: + $(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)" + +clean-release: + $(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)" + +clean-debug-static: + $(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_STATIC_DIR) CFLAGS="$(DEBUG_CFLAGS)" + +clean-release-static: + $(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_STATIC_DIR) CFLAGS="$(DEBUG_CFLAGS)" + +clean2: + -rm -f $(QUAKE2_OBJS) \ + $(GAME_OBJS) \ + $(REF_SOFT_OBJS) \ + $(REF_SOFT_X11_OBJS) \ + $(REF_GL_OBJS)