# Makefile to compile Robocup Soccer Simulation Team UvA_Trilearn
# Date: 28-1-2002
# Author: Jelle Kok
# Usage: make (or gmake on Solaris) will create trilearn_player
#        for Solaris uncomment OSFLAG and CFLAGS_LIBS.
# Comments: This makefile compiles all related sources

CC                      = g++
COMPILE                 = $(CC) $(INCLUDES) ${FLAGS} ${DEFINES}

SRC_DIR                 = .
DST_DIR                 = .
TARGET                  = shigahoku_player

# ==== INCLUDES =================================================

SOCCER_INCLUDES         =
INCLUDES	        = $(SOCCER_INCLUDES)

# ==== FLAGS ====================================================

# Substitute operating system that is used:
# SunOS_5 linux
OSFLAGS                  = ${OSFLAGS_linux}
CFLAGS_LIBS              = ${CLIBS_linux}
#OSFLAGS                 = $(OSFLAGS_SunOS_5)
#CFLAGS_LIBS             = ${CLIBS_SunOS_5}

CFLAGS_DEBUG            = #-g
CFLAGS_OPT             = -O3  #-static
CFLAGS_WARN             = -Wall

OSFLAGS_SunOS_5         = -DSolaris
OSFLAGS_linux           = -Dlinux

CLIBS_SunOS_5           =
CLIBS_linux             =

FLAGS                   = ${OSFLAGS} ${CFLAGS_OPT} ${CFLAGS_DEBUG} ${CFLAGS_WARN}

# ==== LIBS ====================================================

CLIBS_SunOS_5           = -lsocket -lnsl -lpthread
CLIBS_linux             = -lpthread

# ==== DEFINES =================================================

#DEFINES	                = -DEC_LOG_ENABLED=1

# ==== SOURCES =================================================

SRCS		=	\
		Connection.C \
		SenseHandler.C \
		ActHandler.C \
		SoccerTypes.C \
		Objects.C \
		WorldModel.C \
		WorldModelHighLevel.C \
		WorldModelPredict.C \
		WorldModelUpdate.C \
		ServerSettings.C \
		PlayerSettings.C \
		GenericValues.C \
		Formations.C \
		Geometry.C \
		Parse.C \
 		Logger.C

SRCS_PLAYER = ${SRCS}    \
		BasicPlayer.C \
		Player.C \
		main.C \


OBJS_PLAYER	= $(SRCS_PLAYER:.C=.o)

# ==== RULES ==================================================

all::	$(TARGET)

.C.o:
	$(COMPILE) -c -o $@ $(@F:%.o=%.C)

#.C.a:
#	@echo Using own c++ objectlibmakerule $(DST_DIR)/$%
#	$(COMPILE) -o $(DST_DIR)/$% $(SRC_DIR)/$<
#	$(AR) $(ARFLAGS) $@ $(DST_DIR)/$%
#	-rm $(DST_DIR)/$%

#$(DST_DIR)/lib$(LIBNAME).a :	$(OBJS:%=$(DST_DIR)/lib$(LIBNAME).a(%))

shigahoku_player: $(OBJS_PLAYER)
	$(COMPILE) -o  $@ $(OBJS_PLAYER) ${CFLAGS_LIBS}

clean:
	rm -f $(TARGET) $(OBJS_PLAYER) *core a.out *~

depend:
	makedepend $(DEPENDFLAGS) -s "# DO NOT DELETE THIS LINE" -- $(INCLUDES) -- $(SRCS)

# DO NOT DELETE THIS LINE
