# /* 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++
CC  := gcc

IFLAGS := -I../..

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 -Wall -Wstrict-prototypes $(IFLAGS)

CCFLAGS := -O2 -march=pentium -ffast-math
CCFLAGS := -g 
CCFLAGS += -DPLATFORM_LINUX -DVIS_NO_LIBS -Wall -Wstrict-prototypes

SRCS := \
	local_model_test.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 \
	../shared/win.cc \
	../../agent/Main/Events.cc \
	../../agent/Motion/Kinematics.cc \
	../../agent/shared_code/Dictionary.cc \
	../../agent/shared_code/FileSystem.cc \
	../../agent/shared_code/CircBufPacket.cc \
	../../agent/shared_code/random.cc \
	../../agent/Vision/BWBallDetector.cc \
	../../agent/Vision/DetectBall.cc \
	../../agent/Vision/Radial.cc \
	../../agent/Vision/Vision.cc \
	../../agent/WorldModel/LocalModel.cc \

CSRCS := window_capture.c

OBJS := $(SRCS:.cc=.o) 
OBJS += $(CSRCS:.c=.o)

DEPENDS := $(SRCS:%.cc=%.d) 
#DEPENDS += $(CSRCS:%.c=%.d)

TARGET := lmt

GEN_HS :=
DEP_PROCESS:=dep_process

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

$(TARGET): $(OBJS)
	$(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 $@ $<

%.o: %.c
	$(CC) $(CXXFLAGS) -c -o $@ $<

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