From a838cd6087e98a0780ba215684ec30641f621cb1 Mon Sep 17 00:00:00 2001
From: Tim Angus <tim@ngus.net>
Date: Mon, 27 Nov 2000 19:08:15 +0000
Subject: Initial revision

---
 Makefile | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 211 insertions(+)
 create mode 100644 Makefile

(limited to 'Makefile')

diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..9e8dffb8
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,211 @@
+# --
+# -- Makefile for building Q3A qvms on Linux
+# -- 
+# -- Copyleft under the GPL by Yumpee
+# -- yumpee@freeshell.org
+# -- http://freeshell.org/~yumpee
+# -- with additions/modifications by Timbo
+# -- tma@dcs.ed.ac.uk
+
+
+# -- Default definitions, can be over-ridden by commandline options
+CPP=/usr/games/quake3/tools/q3cpp
+CPP_FLAGS=-DQ3_VM
+INCLUDES=-Icgame -Igame -Iui
+
+RCC=/usr/games/quake3/tools/q3rcc
+RCC_FLAGS=-target=bytecode -g
+
+Q3ASM=/usr/games/quake3/tools/q3asm
+Q3ASM_FLAGS=
+
+CC=gcc
+CC_DEPEND_FLAGS=-MM
+
+SED=sed
+
+Q3ADIR=/usr/games/quake3
+MOD=tremulous
+
+
+# -- Object files of each QVM
+VM_CGAME_OBJ=    cgame/vm/cg_main.asm		\
+                 cgame/vm/cg_mem.asm	\
+                 cgame/vm/cg_consolecmds.asm	\
+                 cgame/vm/cg_draw.asm		\
+                 cgame/vm/cg_drawtools.asm	\
+                 cgame/vm/cg_effects.asm	\
+                 cgame/vm/cg_ents.asm		\
+                 cgame/vm/cg_event.asm		\
+                 cgame/vm/cg_info.asm		\
+                 cgame/vm/cg_localents.asm	\
+	               cgame/vm/cg_marks.asm		\
+                 cgame/vm/cg_players.asm	\
+                 cgame/vm/cg_playerstate.asm	\
+                 cgame/vm/cg_predict.asm	\
+                 cgame/vm/cg_scoreboard.asm	\
+                 cgame/vm/cg_servercmds.asm	\
+                 cgame/vm/cg_snapshot.asm	\
+                 cgame/vm/cg_view.asm		\
+                 cgame/vm/cg_weapons.asm	\
+                 cgame/vm/cg_creep.asm	\
+                 cgame/vm/cg_lightmap.asm \
+                 cgame/vm/cg_scanner.asm \
+                 game/vm/bg_misc.asm		\
+                 game/vm/bg_pmove.asm		\
+                 game/vm/bg_slidemove.asm	\
+                 game/vm/bg_lib.asm		\
+                 game/vm/q_math.asm		\
+                 game/vm/q_shared.asm
+
+
+VM_GAME_OBJ=    game/vm/g_main.asm		\
+                game/vm/bg_misc.asm		\
+                game/vm/bg_lib.asm		\
+                game/vm/bg_pmove.asm		\
+                game/vm/bg_slidemove.asm	\
+                game/vm/q_math.asm		\
+                game/vm/q_shared.asm		\
+                game/vm/g_active.asm		\
+                game/vm/g_arenas.asm		\
+                game/vm/g_client.asm		\
+                game/vm/g_cmds.asm		\
+                game/vm/g_combat.asm		\
+                game/vm/g_items.asm		\
+                game/vm/g_buildable.asm		\
+                game/vm/g_creep.asm		\
+                game/vm/g_mem.asm		\
+                game/vm/g_misc.asm		\
+                game/vm/g_missile.asm		\
+                game/vm/g_mover.asm		\
+                game/vm/g_session.asm		\
+                game/vm/g_spawn.asm		\
+                game/vm/g_svcmds.asm		\
+                game/vm/g_target.asm		\
+                game/vm/g_team.asm		\
+                game/vm/g_trigger.asm		\
+                game/vm/g_utils.asm		\
+                game/vm/g_weapon.asm
+
+VM_UI_OBJ=	ui/vm/ui_main.asm		\
+            ui/vm/ui_mods.asm		\
+            ui/vm/ui_gameinfo.asm		\
+            ui/vm/ui_atoms.asm		\
+            ui/vm/ui_cinematics.asm		\
+            ui/vm/ui_connect.asm		\
+            ui/vm/ui_controls2.asm		\
+            ui/vm/ui_demo2.asm		\
+            ui/vm/ui_mfield.asm		\
+            ui/vm/ui_credits.asm		\
+            ui/vm/ui_menu.asm		\
+            ui/vm/ui_ingame.asm		\
+            ui/vm/ui_confirm.asm		\
+            ui/vm/ui_setup.asm		\
+            ui/vm/ui_options.asm		\
+            ui/vm/ui_display.asm		\
+            ui/vm/ui_sound.asm		\
+            ui/vm/ui_network.asm		\
+            ui/vm/ui_playermodel.asm	\
+            ui/vm/ui_players.asm		\
+            ui/vm/ui_playersettings.asm	\
+            ui/vm/ui_preferences.asm	\
+            ui/vm/ui_qmenu.asm		\
+            ui/vm/ui_serverinfo.asm		\
+            ui/vm/ui_servers2.asm		\
+            ui/vm/ui_sparena.asm		\
+            ui/vm/ui_specifyserver.asm	\
+            ui/vm/ui_sppostgame.asm		\
+            ui/vm/ui_splevel.asm		\
+            ui/vm/ui_spskill.asm		\
+            ui/vm/ui_startserver.asm	\
+            ui/vm/ui_team.asm		\
+            ui/vm/ui_video.asm		\
+            ui/vm/ui_addbots.asm		\
+            ui/vm/ui_removebots.asm		\
+            ui/vm/ui_teamorders.asm		\
+            ui/vm/ui_dynamicmenu.asm		\
+            ui/vm/ui_loadconfig.asm		\
+            ui/vm/ui_saveconfig.asm		\
+            ui/vm/ui_cdkey.asm		\
+            game/vm/bg_misc.asm		\
+            game/vm/bg_lib.asm		\
+            game/vm/q_math.asm		\
+            game/vm/q_shared.asm
+
+
+# -- Makefile's main targets
+all: cgame game ui
+
+install: cgame game ui
+	-mkdir -p $(Q3ADIR)/$(MOD)/vm
+	-cp cgame/vm/cgame.qvm $(Q3ADIR)/$(MOD)/vm 
+	-cp game/vm/qagame.qvm $(Q3ADIR)/$(MOD)/vm 
+	-cp ui/vm/ui.qvm $(Q3ADIR)/$(MOD)/vm 
+
+cgame: cgame/vm/cgame.qvm
+
+game: game/vm/qagame.qvm
+
+ui: ui/vm/ui.qvm
+
+
+# -- Rules for compiling each QVM
+cgame/vm/cgame.qvm: $(VM_CGAME_OBJ)
+	 $(Q3ASM) $(Q3ASM_FLAGS) $^ cgame/cg_syscalls.asm
+	-mv q3asm.qvm cgame/vm/cgame.qvm
+	-mv q3asm.map cgame/vm/cgame.map
+
+game/vm/qagame.qvm: $(VM_GAME_OBJ)
+	 $(Q3ASM) $(Q3ASM_FLAGS) $^ game/g_syscalls.asm
+	-mv q3asm.qvm game/vm/qagame.qvm
+	-mv q3asm.map game/vm/qagame.map
+
+ui/vm/ui.qvm: $(VM_UI_OBJ)
+	 $(Q3ASM) $(Q3ASM_FLAGS) $^ ui/ui_syscalls.asm
+	-mv q3asm.qvm ui/vm/ui.qvm
+	-mv q3asm.map ui/vm/ui.map
+
+
+# -- Rules for compiling single files
+cgame/vm/%.asm: cgame/%.c
+	$(CPP) $(CPP_FLAGS) $(INCLUDES) $< cgame/vm/$*.i
+	$(RCC) $(RCC_FLAGS) cgame/vm/$*.i $@
+	-rm cgame/vm/$*.i
+
+game/vm/%.asm: game/%.c
+	$(CPP) $(CPP_FLAGS) $(INCLUDES) $< game/vm/$*.i
+	$(RCC) $(RCC_FLAGS) game/vm/$*.i $@
+	-rm game/vm/$*.i
+
+ui/vm/%.asm: ui/%.c
+	$(CPP) $(CPP_FLAGS) $(INCLUDES) $< ui/vm/$*.i
+	$(RCC) $(RCC_FLAGS) ui/vm/$*.i $@
+	-rm ui/vm/$*.i
+
+
+# -- Dependency rules (made automatically in file Q3A.depend)
+depend:
+	-echo > Q3A.depend
+	-$(CC) $(CC_DEPEND_FLAGS) -Igame -Icgame -Iui cgame/*.c | $(SED) -e 's/\.o/.asm/g' -e 's/^\(.*asm\)/cgame\/vm\/\1/g' >> Q3A.depend
+	-$(CC) $(CC_DEPEND_FLAGS) -Igame -Icgame -Iui game/*.c | $(SED) -e 's/\.o/.asm/g' -e 's/^\(.*asm\)/game\/vm\/\1/g' >> Q3A.depend
+	-$(CC) $(CC_DEPEND_FLAGS) -Igame -Icgame -Iui ui/*.c | $(SED) -e 's/\.o/.asm/g' -e 's/^\(.*asm\)/ui\/vm\/\1/g' >> Q3A.depend
+
+include Q3A.depend
+
+
+# -- Clean up object files
+clean: clean_cgame clean_game clean_ui
+
+clean_cgame:
+	-rm $(VM_CGAME_OBJ)
+	-rm cgame/cm/cgame.qvm
+
+clean_game:
+	-rm $(VM_GAME_OBJ)
+	-rm game/vm/qagame.qvm
+
+clean_ui:
+	-rm $(VM_UI_OBJ)
+	-rm ui/vm/ui.qvm
+
+# -- EOF
-- 
cgit