TARGET=../runme
CC=gcc

#
#Optimized CFLAGS
CFLAGS+=-O2 -Wall -ansi -pedantic -DNDEBUG
#

#
#Debugging CFLAGS
#CFLAGS+=-g -Wall -ansi -pedantic -DDEBUG_NET
#CFLAGS+=-g -Wall -ansi -pedantic
#

OBJECTS=net.o main.o board.o env.o player.o pkt.o bedford.o gui.o \
	base.o ia.o layer.o reflex.o
HEADERS=$(OBJECTS:.o=.h)

all : $(TARGET) ../bin/otterbot ../bin/gui

../bin/gui: 
	make -C gui
	cp -f gui/gui ../bin

../bin/otterbot : 
	make objclean
	CFLAGS="-DGUI" make otterbot
	cp -f otterbot ../bin
	make objclean

otterbot : $(OBJECTS)
	$(CC) $(LDFLAGS) -o otterbot $(OBJECTS)

$(TARGET) : $(OBJECTS)
	$(CC) $(LDFLAGS) -static -o $(TARGET) $(OBJECTS)
	strip $(TARGET)

%.o : %.c $(HEADERS)
	$(CC) $(CFLAGS) -c $< -o $@

objclean :
	rm -f $(OBJECTS)

clean : objclean
	rm -f TAGS otterbot ../runme ../bin/otterbot ../bin/gui *~
	make -C gui clean

dist : objclean
	cd ../.. && tar cvzf icfp02-otterbot.tar.gz icfp02-otterbot

tags : TAGS
TAGS : 
	rm -f TAGS
	find . -name "*.c" -exec etags -a {} \;
	find . -name "*.h" -exec etags -a {} \;

