# /* LICENSE:
#   =========================================================================
#     CMPack'03 Source Code Release for OPEN-R SDK v1.0
#     Copyright (C) 2003 Multirobot Lab [Project Head: Manuela Veloso]
#     School of Computer Science, Carnegie Mellon University
#     All rights reserved.
#   ========================================================================= */

C++ := g++

IFLAGS := -I../../agent/ -I../../util

LIBS :=

LFLAGS := \
	-L/usr/X11R6/lib \
	-lX11 \
	-lMagick++ \
	-lMagick \
	`fltk-config --ldflags`

# -Wshadow  -Woverloaded-virtual
CXXFLAGS :=
# CXXFLAGS += -O2 -march=pentium -ffast-math
CXXFLAGS += -g
# CXXFLAGS += -pg
CXXFLAGS += `fltk-config --cxxflags`
CXXFLAGS += -DPLATFORM_LINUX -DVIS_NO_LIBS -DDEBUG_LOCALIZATION_LINUX -Wall -Wstrict-prototypes $(IFLAGS)

SRCS := \
        ../../agent/Localization/SRL/Environment.cc \
        ../../agent/Localization/SRL/Functions.cc \
        ../../agent/Localization/SRL/LocalizationEngine.cc \
        ../../agent/Localization/SRL/Localization.cc \
        ../../agent/Localization/SRL/Primitives.cc \
	../../agent/Localization/SRL/Sample.cc \
	../../agent/Localization/SRL/Sampler.cc \
        ../../agent/Localization/SRL/SensorInterp.cc \
	../../agent/Main/Events.cc \
	../../agent/Motion/Kinematics.cc \
	../../agent/shared_code/CircBufPacket.cc \
	../../agent/shared_code/Config.cc \
	../../agent/shared_code/Dictionary.cc \
	../../agent/shared_code/FileSystem.cc \
	../../agent/shared_code/Gaussian2.cc \
	../../agent/shared_code/random.cc \
	../../agent/Vision/BWBallDetector.cc \
	../../agent/Vision/DetectBall.cc \
	../../agent/Vision/Radial.cc \
	../../agent/Vision/Vision.cc \
	../log_processing/shared/LogReader.cc \
	../log_processing/shared/PacketDecoder.cc \
	../log_processing/shared/MotionPacketDecoder.cc \
	../log_processing/shared/VisionPacketDecoder.cc \
	../log_processing/shared/VisionRLEPacketDecoder.cc \
	../shared/image.cc \
	localization_test.cc \
	LocalizationTester.cc \

OBJS := $(SRCS:.cc=.o)

DEPENDS := $(SRCS:%.cc=%.d)

TARGET := loc_test

GEN_HS :=
DEP_PROCESS:=dep_process

all: $(TARGET)
	(cd ../bin; rm -rf $(TARGET);ln -s ../localization_test/$(TARGET))

$(TARGET): $(OBJS) $(LIBS)
	$(C++) -o $@ $(CXXFLAGS) $^ $(LFLAGS)

clean:
	rm -f $(OBJS)
	rm -f $(TARGET)
	rm -f $(DEPENDS)
	rm -f ../bin/$(TARGET)

dep: depend

depend:
	rm -f $(DEPENDS)

include $(DEPENDS)

%.o: %.cc
	$(C++) $(CXXFLAGS) -c -o $@ $<

%.d: %.cc $(GEN_HS)
	$(C++) -M $(CXXFLAGS) $< >$@.tmp
	$(DEP_PROCESS) $@.tmp $(basename $@).o $(GEN_HS) >$@
	rm $@.tmp
