include ../Makeincl

#	Yves Hwang 2002
#	Thomas Braunl 2003, 2004
#	hwang-y@ee.uwa.edu.au


CC_LINUX = gcc -c -Wall
LD_LINUX = gcc
CC_SIM = gccsim -c -Wall
LD_SIM = gccsim
CC_EYE = gcc68 -c
LD_EYE = gcc68

# the flag is used to define the PC marco so that stdio.h will be included when 
# compiling on linux
# DEBUG flag is used for debug statements now
# STATUS flag is used to print out the status of the node. 

FLAG = -DPC  
DEBUG = 

LINUXPROG = GP
WORLDGEN  = WorldGen
EYESIMPROG = Search.dll
EYEBOTPROG = Search.hex

OBJS_LINUX =  main_linux.o gp.o tree.o
OBJS_EYESIM = main_sim.o tracking.o visual.o sim_execution.o tree.o

all:	${EYESIMPROG} ${LINUXPROG} ${WORLDGEN}

%.o:	%.c
	$(CC_SIM) $(FLAG) $<
		
${EYESIMPROG}:	$(OBJS_EYESIM)
	${LD_SIM} -o ${EYESIMPROG} ${OBJS_EYESIM} 

${LINUXPROG}:	$(OBJS_LINUX)
	${LD_LINUX} -o ${LINUXPROG} ${OBJS_LINUX} -lstdc++

${WORLDGEN}:	WorldGen.cpp
	$(LD_LINUX) -o ${WORLDGEN} WorldGen.cpp

clean:
	-$(RM) obj_track.so GP debug debug.txt *.o *.lsp *.fit *.tree *.new *.raw ${EYESIMPROG} ${LINUXPROG} core* map

core:
	-$(RM) core*

