# megaq2 makefile for GNU/Linux (and hopefully other systems, too)

CC	?= gcc
CFLAGS	?= -O2 -fomit-frame-pointer -pipe -g
LDFLAGS	?= 

CFLAGS	+= -fPIC -DGAME_DLL -DLINUX -fno-strict-aliasing -Wall -ffloat-store \
	   -MF .depends/$*.d -MMD

ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/alpha/axp/)

SRC	:= g_ai.c g_chase.c g_cmds.c g_combat.c g_func.c g_items.c \
	   g_main.c g_misc.c g_monster.c g_phys.c g_save.c g_spawn.c \
	   g_svcmds.c g_target.c g_trigger.c g_turret.c g_utils.c g_weapon.c \
	   m_actor.c m_berserk.c m_block.c m_boss2.c m_boss3.c m_boss31.c \
	   m_boss32.c m_brain.c m_chick.c m_cutbox.c m_cutman.c m_dustman.c \
	   m_flash.c m_flipper.c m_float.c m_fly.c m_flyer.c m_gladiator.c \
	   m_gunner.c m_helmet.c m_hover.c m_infantry.c m_insane.c \
	   m_magnetman.c m_medic.c m_move.c m_mutant.c m_needleman.c \
	   m_parasite.c m_pitmonster.c m_soldier.c m_supertank.c m_tank.c \
	   m_turret.c p_client.c p_hud.c p_trail.c p_view.c p_weapon.c \
	   q_shared.c
OBJ	:= $(SRC:.c=.o)

default: game$(ARCH).so

.PHONY: all clean default distclean

all: game$(ARCH).so

clean:
	rm -f *.o *~

distclean: clean
	rm -f game$(ARCH).so


game$(ARCH).so: $(OBJ)
	$(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
