CXX		= g++

CCLIBS_default	= -lm
CCLIBS_SunOS_4	= -lm
CCLIBS_SunOS_5	= -lm -L/usr/ucblib -lucb -lsocket -lnsl
CCLIBS_OSF1		= -lm
CCLIBS_NEWS		= -lm
CCLIBS_IRIX		= -lm
CCLIBS_Linux	= -lm -lbsd
CXXLIBS			= $(CCLIBS_Linux)
#CXXLIBS			= $(CCLIBS_SunOS_4)
#CXXLIBS			= $(CCLIBS_SunOS_5)

OSFLAGS_default	= 
OSFLAGS_SunOS_4	= -DSunOS4
OSFLAGS_SunOS_5	= -DSolaris -DMEMSET
OSFLAGS_OSF1	= -DOSF1
OSFLAGS_NEWS	= -DNewsOS
OSFLAGS_IRIX	= -DIRIX -D_BSD_SIGNALS
OSFLAGS_Linux	= -DLinux 
CXXFLAGS	= -Wall $(OSFLAGS_Linux)
#CXXFLAGS	= -Wall $(OSFLAGS_SunOS_4)
#CXXFLAGS	= -Wall -pedantic -fomit-frame-pointer -O3 $(OSFLAGS_SunOS_5)

CXXFLAGS += -g -I../shared

EXEC	=	trainer

all: $(EXEC)

OFILES =        netif.o client.o utils.o geometry.o

OFILES +=	parse.o data.o

OFILES +=	MemOption.o MemPosition.o MemTrain.o Memory.o epoch.o

OFILES +=	TMtest.o TMturnball.o TMhardkick.o TMintercept.o TMdribble.o
OFILES +=	TMgoalie.o TMkeepaway.o TMgame.o TMhardkick2.o TMsetplay.o 
OFILES +=	TMintercept2.o TMturnball2.o TMshot.o TMbreakaway.o

SHARED_FILES = utils.C utils.h geometry.C geometry.h 
SHARED_FILES += parse.C parse.h netif.C netif.h types.h data.C data.h
SHARED_FILES += MemPosition.C MemPosition.h

SHARED_FILES_WITH_LOC = $(foreach file,$(SHARED_FILES),../shared/$(file))

COPY_IND_FILE = .copy.shared

$(COPY_IND_FILE) : $(SHARED_FILES_WITH_LOC)
	rm -f $(SHARED_FILES)
	cp $(SHARED_FILES_WITH_LOC) .
	chmod -w $(SHARED_FILES)
	echo > $(COPY_IND_FILE)

SRCS	=	$(OFILES:%.o=%.C)

%.o : %.c %.h
	$(CXX) -c $(CXXFLAGS) $(CXXINCLUDE) $<

$(EXEC) : $(COPY_IND_FILE) $(OFILES)
	$(CXX) -g $(OFILES) -o $@ $(CXXLIBS)

puretrainer : $(OFILES)
	purify $(CXX) -g $^ -o $@ $(CXXLIBS)

cln:
	echo cleaning up....
	/bin/rm $(OFILES) $(EXEC) $(COPY_IND_FILE)

depend:
	$(RM) $(DEPEND)
	$(CXX) -M $(CXXFLAGS) $(SRCS) >> $(DEPEND)

DEPEND = Makefile.depend
ifeq ($(wildcard $(DEPEND)),$(DEPEND))
include $(DEPEND)
endif
