#this includes the configuration Makefile from carmen
include ../../../Makefile.conf

#Insert here the name of any submodules you have
#SUBDIRS =

#Compilation flags for gcc
CFLAGS += -lstdc++
#Compilation flags for g++
CXXFLAGS +=

#Insert here the name of any include directories you may need.
#NOTE: default carmen/include directories or even default directories like /urs/include are not required
#NOTE: must use the -I before the directory
IFLAGS += -I./
IFLAGS += -I/usr/local/include/AR `pkg-config --cflags opencv`

#Insert here the name of any library directories you may need.
#NOTE: default carmen/lib directories or even default directories like /urs/lib are not required
#Default carmen global lib. Always here.
#Default ipc lib. Always here.
#Default carmen param_interface lib. Always here.
LFLAGS+=	-lglobal\
		-lipc\
		-lparam_interface\
		libcamera_interface.a\
		libreadcommandlineparameters.a\
		`pkg-config --libs opencv`\
		-ldc1394_control\
		-lraw1394\
		liblensundistort.a\
		/usr/local/lib/artoolkit/libARgsub.a\
		/usr/local/lib/artoolkit/libARvideo.a\
		/usr/local/lib/artoolkit/libAR.a\
		-lglut\
		-lGLU\
		-lGL\
		-lXi\
		-lX11\
		-lm\
		-lpthread\
		libxbee_interface.a\


MODULE_NAME = AGENT_TRACKER
MODULE_COMMENT = Measures the tracker of agents in the arena
MODULE_AUTHOR = Procópio Stein
MODULE_MAINTAINER = Procópio Stein

#Insert here all the source files required for compilation
SOURCES = 	agent_tracker_interface.cpp\
			agent_tracker.cpp\
			agent_tracker_functions.cpp\
			agent_tracker_subscribeexample.cpp\
			object.cpp\
#			...other...

#Insert here all the header files that public. They are public if they are needed by other modules. Make will copy them to carmen/include. Usually both the _interface.h and the _messages.h are added here.
PUBLIC_INCLUDES = agent_tracker_interface.h agent_tracker_messages.h

#insert here the name of the libraries that should be public. They are public if they are needed by other modules. Make will copy them to carmen/lib. Usually the lib[modulename]_interface.a is added here.
PUBLIC_LIBRARIES = libagent_tracker_interface.a

#insert here the name of the binaries that should be public. They are public if they are needed by other modules. Make will copy them to carmen/bin.
PUBLIC_BINARIES = agent_tracker agent_tracker_subscribeexample

#insert here the name of the shared libraries that should be public. They are public if they are needed by other modules. Make will copy them to carmen/lib. Usually the lib[modulename]_interface.so is added here.
PUBLIC_LIBRARIES_SO = libagent_tracker_interface.so

#Here we define all the targets that we want to compile
TARGETS = libagent_tracker_interface.a agent_tracker agent_tracker_subscribeexample

#im not sure why this is here but i know it should be :)
ifndef NO_PYTHON
TARGETS += libagent_tracker_interface.so.1
endif

#Rule for all module libraries
libagent_tracker_interface.a: agent_tracker_interface.o
libagent_tracker_interface.so.1: agent_tracker_interface.o

#Rule for all module binaries

agent_tracker:	agent_tracker.o\
			agent_tracker_functions.o\
			libagent_tracker_interface.a\
			object.o\
			$(LAR_HOME)/src/sensors/camera/common/libcamera_interface.a\
			$(LAR_HOME)/src/utils/lensundistort/liblensundistort.a\
			$(LAR_HOME)/src/utils/readcommandlineparameters/libreadcommandlineparameters.a\
			$(LAR_HOME)/src/perception/arena/agent_tracker/libagent_tracker_interface.a\
			$(LAR_HOME)/src/bases/xbee/libxbee_interface.a\

agent_tracker_subscribeexample: agent_tracker_subscribeexample.o libagent_tracker_interface.a\
		$(LAR_HOME)/src/utils/readcommandlineparameters/libreadcommandlineparameters.a\


#Compilation rules for standart carmen libraries
include ../../../Makefile.rules
