LOCAL = ..
LOCAL_LIB = $(LOCAL)/lib

CC = g++
RM = rm
OPT = -O2 -DUSE_VWCHANGE -DUSE_SHOUT -march=i686
DEBUG = -DDEBUG -g
PROFILE =

CXXLIBS_default	= -lm
CXXLIBS_SunOS_4	= -lm
CXXLIBS_SunOS_5	= -lm -lsocket -lnsl -R/usr/lib
CXXLIBS_OSF1	= -lm
CXXLIBS_NEWS	= -lm
CXXLIBS_IRIX	= -lm
CXXLIBS_Linux	= -lm
LINK_Dynamic	= 
LINK_Static	= -static
CXXLIBS		= $(LINK_Dynamic) $(CXXLIBS_Linux) -L$(LOCAL_LIB) -lYowAI

OSFLAGS_default	= 
OSFLAGS_SunOS_4	= -DSunOS4
OSFLAGS_SunOS_5	= -DSolaris -DSYSV
OSFLAGS_OSF1	= -DOSF1
OSFLAGS_NEWS	= -DNewsOS
OSFLAGS_IRIX	= -DIRIX -DSYSV
OSFLAGS_Linux	= -DLinux

CFLAGS = $(OPT) $(DEBUG) $(PROFILE) -I. -I$(LOCAL_LIB) -Wall -pipe $(OSFLAGS_Linux)

SRCS		= main.cc AgentFactory.cc BasicAgent.cc SeeRequestMediator.cc History.cc SituationJudgementer.cc Predictor.cc SimpleAgent.cc KickTargetMediator.cc ReflectiveAgent.cc ReflectiveGK.cc Shout.cc TacticalAgent.cc StrategicalAgent.cc FormationLoader.cc PositionMediator.cc DribbleAgent.cc Dribble.cc
OBJS		= $(SRCS:.cc=.o)

TARGET		= player
LINK            = simple

$(TARGET):	$(OBJS) $(LOCAL_LIB)/libYowAI.a $(LINK)
	$(CXX) -o $@ $(OBJS) $(CFLAGS) $(CXXLIBS)

.cc.o:
	$(CXX) -c $(CFLAGS) $<

$(LINK):
	ln -s $(TARGET) $(LINK)

copy:
	cp -f $(TARGET) $(LINK) dribble *.sh *.conf /tmp/$(USER)

clean:
	rm -f $(TARGET) *.o *core *bak *~ *.log *.out $(LINK)

depend:
	makedepend $(OPT) -I$(LOCAL_LIB) -Y $(SRCS)

lib:
	@(cd ../lib; make)
	make
# DO NOT DELETE

main.o: ../lib/libYowAI.h ../lib/NetworkInterface.h ../lib/WorldModel.h
main.o: ../lib/param.h ../lib/Geometry.h ../lib/utility.h ../lib/Object.h
main.o: ../lib/ServerParameter.h ../lib/Effector.h ../lib/ParamReader.h
main.o: ../lib/SoccerAgent.h AgentFactory.h
AgentFactory.o: ../lib/libYowAI.h ../lib/NetworkInterface.h
AgentFactory.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
AgentFactory.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
AgentFactory.o: ../lib/Effector.h ../lib/ParamReader.h ../lib/SoccerAgent.h
AgentFactory.o: BasicAgent.h SituationJudgementer.h History.h Predictor.h
AgentFactory.o: SeeRequestMediator.h SimpleAgent.h DribbleAgent.h
AgentFactory.o: ReflectiveAgent.h KickTargetMediator.h TacticalAgent.h
AgentFactory.o: FormationLoader.h StrategicalAgent.h PositionMediator.h
AgentFactory.o: AgentFactory.h
BasicAgent.o: BasicAgent.h ../lib/libYowAI.h ../lib/NetworkInterface.h
BasicAgent.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
BasicAgent.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
BasicAgent.o: ../lib/Effector.h ../lib/ParamReader.h ../lib/SoccerAgent.h
BasicAgent.o: SituationJudgementer.h History.h Predictor.h
BasicAgent.o: SeeRequestMediator.h ../lib/DebugPrinter.h
SeeRequestMediator.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
SeeRequestMediator.o: ../lib/utility.h ../lib/Object.h
SeeRequestMediator.o: ../lib/ServerParameter.h SeeRequestMediator.h
SeeRequestMediator.o: ../lib/DebugPrinter.h
History.o: History.h ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
History.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
History.o: ../lib/DebugPrinter.h
SituationJudgementer.o: SituationJudgementer.h ../lib/WorldModel.h
SituationJudgementer.o: ../lib/param.h ../lib/Geometry.h ../lib/utility.h
SituationJudgementer.o: ../lib/Object.h ../lib/ServerParameter.h History.h
SituationJudgementer.o: ../lib/DebugPrinter.h
Predictor.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
Predictor.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
Predictor.o: Predictor.h ../lib/ParamReader.h ../lib/DebugPrinter.h
SimpleAgent.o: SimpleAgent.h ../lib/libYowAI.h ../lib/NetworkInterface.h
SimpleAgent.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
SimpleAgent.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
SimpleAgent.o: ../lib/Effector.h ../lib/ParamReader.h ../lib/SoccerAgent.h
SimpleAgent.o: BasicAgent.h SituationJudgementer.h History.h Predictor.h
SimpleAgent.o: SeeRequestMediator.h ../lib/DebugPrinter.h
KickTargetMediator.o: ../lib/ParamReader.h ../lib/WorldModel.h ../lib/param.h
KickTargetMediator.o: ../lib/Geometry.h ../lib/utility.h ../lib/Object.h
KickTargetMediator.o: ../lib/ServerParameter.h SituationJudgementer.h
KickTargetMediator.o: History.h Predictor.h KickTargetMediator.h
KickTargetMediator.o: ../lib/DebugPrinter.h
ReflectiveAgent.o: ReflectiveAgent.h BasicAgent.h ../lib/libYowAI.h
ReflectiveAgent.o: ../lib/NetworkInterface.h ../lib/WorldModel.h
ReflectiveAgent.o: ../lib/param.h ../lib/Geometry.h ../lib/utility.h
ReflectiveAgent.o: ../lib/Object.h ../lib/ServerParameter.h ../lib/Effector.h
ReflectiveAgent.o: ../lib/ParamReader.h ../lib/SoccerAgent.h
ReflectiveAgent.o: SituationJudgementer.h History.h Predictor.h
ReflectiveAgent.o: SeeRequestMediator.h KickTargetMediator.h
ReflectiveAgent.o: ../lib/DebugPrinter.h
ReflectiveGK.o: ReflectiveAgent.h BasicAgent.h ../lib/libYowAI.h
ReflectiveGK.o: ../lib/NetworkInterface.h ../lib/WorldModel.h ../lib/param.h
ReflectiveGK.o: ../lib/Geometry.h ../lib/utility.h ../lib/Object.h
ReflectiveGK.o: ../lib/ServerParameter.h ../lib/Effector.h
ReflectiveGK.o: ../lib/ParamReader.h ../lib/SoccerAgent.h
ReflectiveGK.o: SituationJudgementer.h History.h Predictor.h
ReflectiveGK.o: SeeRequestMediator.h KickTargetMediator.h
ReflectiveGK.o: ../lib/DebugPrinter.h
Shout.o: TacticalAgent.h ReflectiveAgent.h BasicAgent.h ../lib/libYowAI.h
Shout.o: ../lib/NetworkInterface.h ../lib/WorldModel.h ../lib/param.h
Shout.o: ../lib/Geometry.h ../lib/utility.h ../lib/Object.h
Shout.o: ../lib/ServerParameter.h ../lib/Effector.h ../lib/ParamReader.h
Shout.o: ../lib/SoccerAgent.h SituationJudgementer.h History.h Predictor.h
Shout.o: SeeRequestMediator.h KickTargetMediator.h FormationLoader.h Shout.h
Shout.o: ../lib/DebugPrinter.h
TacticalAgent.o: TacticalAgent.h ReflectiveAgent.h BasicAgent.h
TacticalAgent.o: ../lib/libYowAI.h ../lib/NetworkInterface.h
TacticalAgent.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
TacticalAgent.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
TacticalAgent.o: ../lib/Effector.h ../lib/ParamReader.h ../lib/SoccerAgent.h
TacticalAgent.o: SituationJudgementer.h History.h Predictor.h
TacticalAgent.o: SeeRequestMediator.h KickTargetMediator.h FormationLoader.h
TacticalAgent.o: Shout.h ../lib/DebugPrinter.h
StrategicalAgent.o: StrategicalAgent.h TacticalAgent.h ReflectiveAgent.h
StrategicalAgent.o: BasicAgent.h ../lib/libYowAI.h ../lib/NetworkInterface.h
StrategicalAgent.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
StrategicalAgent.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
StrategicalAgent.o: ../lib/Effector.h ../lib/ParamReader.h
StrategicalAgent.o: ../lib/SoccerAgent.h SituationJudgementer.h History.h
StrategicalAgent.o: Predictor.h SeeRequestMediator.h KickTargetMediator.h
StrategicalAgent.o: FormationLoader.h PositionMediator.h
StrategicalAgent.o: ../lib/DebugPrinter.h
FormationLoader.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
FormationLoader.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
FormationLoader.o: SituationJudgementer.h History.h FormationLoader.h
PositionMediator.o: PositionMediator.h ../lib/WorldModel.h ../lib/param.h
PositionMediator.o: ../lib/Geometry.h ../lib/utility.h ../lib/Object.h
PositionMediator.o: ../lib/ServerParameter.h SituationJudgementer.h History.h
PositionMediator.o: ../lib/DebugPrinter.h
DribbleAgent.o: DribbleAgent.h ../lib/libYowAI.h ../lib/NetworkInterface.h
DribbleAgent.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
DribbleAgent.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
DribbleAgent.o: ../lib/Effector.h ../lib/ParamReader.h ../lib/SoccerAgent.h
DribbleAgent.o: BasicAgent.h SituationJudgementer.h History.h Predictor.h
DribbleAgent.o: SeeRequestMediator.h ../lib/DebugPrinter.h
Dribble.o: BasicAgent.h ../lib/libYowAI.h ../lib/NetworkInterface.h
Dribble.o: ../lib/WorldModel.h ../lib/param.h ../lib/Geometry.h
Dribble.o: ../lib/utility.h ../lib/Object.h ../lib/ServerParameter.h
Dribble.o: ../lib/Effector.h ../lib/ParamReader.h ../lib/SoccerAgent.h
Dribble.o: SituationJudgementer.h History.h Predictor.h SeeRequestMediator.h
Dribble.o: ../lib/DebugPrinter.h
