############################################################################
#                                                                          #
# review the below settings make make sure that they are okay with your    #
# system's configuration.  currently the make file is configured for       #
# linux running gcc.                                                       #
#                                                                          #
############################################################################


# define the compiler that you want to use
CXX = g++

# define which command line options to feed to the compiler
CXXFLAGS = -g -D__unix__

# define the libraries that you need for your OS.  some OSes require the
# sockets library.  linux does not.
# linux
LIBS = -lm

# use for BSD
#LIBS = -lm -lsockets

#use this lines for Solaris/SunOS
#LIBS = -lnsl -lsocket -lm



############################################################################
#                                                                          #
#               nothing below this point should be changed                 #
#                                                                          #
############################################################################

OBJ = QuakeBot.o ServerObj.o ProxyServerObj.o PacketObj.o SocketObj.o ConsoleObj.o AIObj.o PlayerObj.o EntityObj.o EventTableObj.o NavObj.o DataObj.o WaypointObj.o


# make targets
all: QuakeBot

QuakeBot: $(OBJ)
	$(CXX) $(CXXFLAGS) $(LIBS) $(OBJ) -o QuakeBot

clean:
	-rm *.o core QuakeBot

# define how to compile a .cpp file
%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c -o $@ $<


# below ore some dependencies needed for the project
QuakeBot.cpp: QuakeBot.h
ServerObj.cpp: ServerObj.h QuakeBot.h
ProxyServerObj.cpp: ProxyServerObj.h QuakeBot.h
PacketObj.cpp: PacketObj.h QuakeBot.h
SocketObj.cpp: SocketObj.h QuakeBot.h
ConsoleObj.cpp: ConsoleObj.h QuakeBot.h
AIObj.cpp: AIObj.h QuakeBot.h
WaypointObj.cpp: WaypointObj.h QuakeBot.h
NavObj.cpp: NavObj.h QuakeBot.h
PlayerObj.cpp: PlayerObj.h QuakeBot.h
EntityObj.cpp: PlayerObj.h QuakeBot.h
EventTableObj.cpp: EventTableObj.h QuakeBot.h
DataObj.cpp: DataObj.h QuakeBot.h
