zaero/Makefile
2009-04-10 08:16:42 +00:00

346 lines
7.3 KiB
Makefile
Executable file

# ------------------------------------------------------ #
# Makefile for the "Zaero Missionpack" #
# #
# Platforms: #
# - Linux #
# - FreeBSD #
# - Maybe any other POSIX compliant system #
# supported by SDL 1.2 #
# ------------------------------------------------------ #
# Check the OS type
OSTYPE := $(shell uname -s)
ifneq ($(OSTYPE),Linux)
ifneq ($(OSTYPE),FreeBSD)
#$(error $(OSTYPE) is currently not supported by this Client.)
endif
endif
# ----------
ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/amd64/x86_64/)
ifneq ($(ARCH),i386)
ifneq ($(ARCH),x86_64)
$(error arch $(ARCH) is currently not supported)
endif
endif
# ----------
# The compiler and compiler flags
CC = gcc
ifeq ($(ARCH),i386)
CFLAGS = -O2 -ffast-math -funroll-loops -falign-loops=2 \
-falign-jumps=2 -falign-functions=2 -fno-strict-aliasing \
-Wall -pipe -fPIC -g
endif
ifeq ($(ARCH),x86_64)
CFLAGS = -O2 -ffast-math -funroll-loops -fomit-frame-pointer \
-fexpensive-optimizations -fno-strict-aliasing \
-Wall -pipe -fPIC -g
endif
# Optimizations
# ~25% - 30% perfomance gain, but may not
# work on all CPUs. Adjust to your needs
# CFLAFS_BASE += -mmmx -msse -msse2 -msse3 -m3dnow
# ----------
# The linker and linkerflags
# Linux
ifeq ($(OSTYPE),Linux)
LDFLAGS=-lm -ldl -shared
endif
# FreeBSD
ifeq ($(OSTYPE),FreeBSD)
LDFLAGS=-lm -shared
endif
# ----------
# Targets
all: zaero
zaero:
@-mkdir -p build \
release
$(MAKE) release/game.so
clean:
@-rm -Rf build release
# ----------
# Quake II - Zaero Object
ZAERO_OBJS = \
build/g_ai.o \
build/g_cmds.o \
build/g_combat.o \
build/g_func.o \
build/g_items.o \
build/g_main.o \
build/g_misc.o \
build/g_monster.o \
build/g_phys.o \
build/g_save.o \
build/g_spawn.o \
build/g_svcmds.o \
build/g_target.o \
build/g_trigger.o \
build/g_turret.o \
build/g_utils.o \
build/g_weapon.o \
build/m_actor.o \
build/m_berserk.o \
build/m_boss2.o \
build/m_boss3.o \
build/m_boss31.o \
build/m_boss32.o \
build/m_brain.o \
build/m_chick.o \
build/m_flash.o \
build/m_flipper.o \
build/m_float.o \
build/m_flyer.o \
build/m_gladiator.o \
build/m_gunner.o \
build/m_hover.o \
build/m_infantry.o \
build/m_insane.o \
build/m_medic.o \
build/m_move.o \
build/m_mutant.o \
build/m_parasite.o \
build/m_soldier.o \
build/m_supertank.o \
build/m_tank.o \
build/p_client.o \
build/p_hud.o \
build/p_trail.o \
build/p_view.o \
build/p_weapon.o \
build/q_shared.o \
build/z_acannon.o \
build/z_ai.o \
build/z_anim.o \
build/z_boss.o \
build/z_camera.o \
build/z_debug.o \
build/z_frames.o \
build/z_handler.o \
build/z_hound.o \
build/z_item.o \
build/z_list.o \
build/z_mtest.o \
build/z_sentien.o \
build/z_spawn.o \
build/z_trigger.o \
build/z_weapon.o
# ----------
# Zaero build
build/g_ai.o: src/g_ai.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_cmds.o: src/g_cmds.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_combat.o: src/g_combat.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_func.o: src/g_func.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_items.o: src/g_items.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_main.o: src/g_main.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_misc.o: src/g_misc.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_monster.o: src/g_monster.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_phys.o: src/g_phys.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_save.o: src/g_save.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_spawn.o: src/g_spawn.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_svcmds.o: src/g_svcmds.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_target.o: src/g_target.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_trigger.o: src/g_trigger.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_turret.o: src/g_turret.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_utils.o: src/g_utils.c
$(CC) $(CFLAGS) -o $@ -c $<
build/g_weapon.o: src/g_weapon.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_actor.o: src/m_actor.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_berserk.o: src/m_berserk.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_boss2.o: src/m_boss2.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_boss3.o: src/m_boss3.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_boss31.o: src/m_boss31.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_boss32.o: src/m_boss32.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_brain.o: src/m_brain.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_chick.o: src/m_chick.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_flash.o: src/m_flash.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_flipper.o: src/m_flipper.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_float.o: src/m_float.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_flyer.o: src/m_flyer.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_gladiator.o: src/m_gladiator.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_gunner.o: src/m_gunner.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_hover.o: src/m_hover.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_infantry.o: src/m_infantry.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_insane.o: src/m_insane.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_medic.o: src/m_medic.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_move.o: src/m_move.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_mutant.o: src/m_mutant.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_parasite.o: src/m_parasite.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_soldier.o: src/m_soldier.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_supertank.o: src/m_supertank.c
$(CC) $(CFLAGS) -o $@ -c $<
build/m_tank.o: src/m_tank.c
$(CC) $(CFLAGS) -o $@ -c $<
build/p_client.o: src/p_client.c
$(CC) $(CFLAGS) -o $@ -c $<
build/p_hud.o: src/p_hud.c
$(CC) $(CFLAGS) -o $@ -c $<
build/p_trail.o: src/p_trail.c
$(CC) $(CFLAGS) -o $@ -c $<
build/p_view.o: src/p_view.c
$(CC) $(CFLAGS) -o $@ -c $<
build/p_weapon.o: src/p_weapon.c
$(CC) $(CFLAGS) -o $@ -c $<
build/q_shared.o: src/q_shared.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_acannon.o: src/z_acannon.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_ai.o: src/z_ai.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_anim.o: src/z_anim.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_boss.o: src/z_boss.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_camera.o: src/z_camera.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_debug.o: src/z_debug.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_frames.o: src/z_frames.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_handler.o: src/z_handler.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_hound.o: src/z_hound.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_item.o: src/z_item.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_list.o: src/z_list.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_mtest.o: src/z_mtest.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_sentien.o: src/z_sentien.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_spawn.o: src/z_spawn.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_trigger.o: src/z_trigger.c
$(CC) $(CFLAGS) -o $@ -c $<
build/z_weapon.o: src/z_weapon.c
$(CC) $(CFLAGS) -o $@ -c $<
# ----------
# Quake II - Zaero
release/game.so : $(ZAERO_OBJS)
$(CC) $(CFLAGS) -o $@ $(ZAERO_OBJS) $(LDFLAGS)