#
# Quake2 gamei386.so Makefile for Linux 
#

ARCH=i386
CC=gcc
BASE_CFLAGS=-Dstricmp=strcasecmp

# The optimization flags below cause a crash immediately after connect 
# with slackware. You might try adding flags one by one and recompiling 
# for some extra speed.  If you find a single flag that causes the
# crash send email to myrku@myrkul.org

#use these cflags to optimize it
#CFLAGS=$(BASE_CFLAGS) -m486 -O6 -ffast-math -funroll-loops \
	-fomit-frame-pointer -fexpensive-optimizations -malign-loops=2 \
	-malign-jumps=2 -malign-functions=2
CFLAGS=$(BASE_CFLAGS) -m486 -ffast-math

#use these when debugging 
#CFLAGS=$(BASE_CFLAGS) -g

LDFLAGS=-ldl -lm
SHLIBEXT=so
SHLIBCFLAGS=-fPIC
SHLIBLDFLAGS=-shared

DO_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<

#############################################################################
# SETUP AND BUILD
# GAME
#############################################################################

.c.o:
	$(DO_CC)

GAME_OBJS = \
	g_ai.o p_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_save.o g_spawn.o \
	g_target.o g_trigger.o g_turret.o g_utils.o g_weapon.o m_actor.o \
	m_berserk.o m_boss2.o m_boss3.o m_boss31.o m_boss32.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_trail.o p_view.o p_weapon.o q_shared.o m_flash.o \
	e_gbstat.o e_grapple.o e_motd.o e_overlay.o e_util.o e_obit.o

game$(ARCH).$(SHLIBEXT) : $(GAME_OBJS)
	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(GAME_OBJS)


#############################################################################
# MISC
#############################################################################

clean:
	-rm -f $(GAME_OBJS)
