#
# Quake2 gamei386.so Makefile for Keys2 - Solaris x86
#
# Nov '98 b y K2Guy <rshetina@planetquake.com>
#
# ELF only
#
# Probably requires GNU make
#

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

#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
#use these when debugging 
#CFLAGS=$(BASE_CFLAGS) -g

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

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

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

.c.o:
	$(DO_CC)

GAME_OBJS = \
	g_ai.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_svcmds.o g_target.o \
	g_trigger.o g_utils.o g_weapon.o g_ctf.o g_chase.o p_menu.o \
	m_move.o \
	p_client.o p_hud.o \
	p_view.o p_weapon.o q_shared.o \
	k2_keys2.o k2_feign.o k2_weapons.o k2_hook.o k2_cycle.o k2_menu.o \
	gslog.o stdlog.o \
	k2_botutils.o \
	bot_ai.o bot_die.o bot_items.o bot_misc.o bot_nav.o bot_spawn.o \
	bot_wpns.o camclient.o g_map_mod.o p_trail.o g_so.o 

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


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

clean:
	-rm -f g_ai.o g_cmds.o g_combat.o g_func.o g_items.o g_main.o g_misc.o
	-rm -f g_monster.o g_phys.o g_save.o g_spawn.o g_svcmds.o g_target.o 
	-rm -f g_trigger.o g_utils.o g_weapon.o g_ctf.o g_chase.o p_menu.o 
	-rm -f m_move.o gslog.o 
	-rm -f p_client.o p_hud.o 
	-rm -f p_view.o p_weapon.o q_shared.o 
	-rm -f k2_keys2.o k2_feign.o k2_weapons.o k2_hook.o k2_cycle.o k2_menu.o
	-rm -f k2_botutils.o bot_wpns.o camclient.o g_map_mod.o
	-rm -f bot_ai.o bot_die.o bot_items.o bot_misc.o bot_nav.o bot_spawn.o

depend:
	gcc -MM $(GAME_OBJS:.o=.c)

