# Makefile for libs/geometry
# Satofumi KAMIMURA
# $Id$

# Compile options
CC = g++
CXXFLAGS = -g -O0 -Wall -Werror ${INCLUDES}
INCLUDES = -I../common -I../system
LDFLAGS =
LDLIBS =


# Target
GEOMETRY_LIB = geometry.a
TARGET = ${GEOMETRY_LIB}

all : ${TARGET}

clean :
	${RM} *.o ${TARGET} allTest

test : allTest
	./allTest

depend :
	makedepend -Y -- ${INCLUDES} -- ${wildcard *.h *.cpp}

.PHONY : all clean depend
######################################################################
${GEOMETRY_LIB} : \
	${GEOMETRY_LIB}(AngleTypes.o) \
	${GEOMETRY_LIB}(shmoothPoints.o) \
	${GEOMETRY_LIB}(convertLineSegment.o) \
	${GEOMETRY_LIB}(normarizePointsInterval.o) \
	${GEOMETRY_LIB}(angleUtils.o) \

allTest.o : ../../unittest/allTest.cpp
	${CXX} ${CXXFLAGS} `cppunit-config --cflags` $< -c -o $@

TEST_OBJS = allTest.o TestLineUtils.o TestGridTypes.o TestShmoothPoints.o TestNormarizePointsInterval.o ${GEOMETRY_LIB}
allTest : ${TEST_OBJS}
	${CXX} ${CXXFLAGS} ${TEST_OBJS} -o $@ `cppunit-config --libs` ${TEST_LDLIBS}

# DO NOT DELETE

LineTypes.o: GridTypes.h AngleTypes.h
PositionTypes.o: AngleTypes.h
angleUtils.o: AngleTypes.h
convertLineSegment.o: LineTypes.h GridTypes.h AngleTypes.h
geometry.o: pointUtils.h GridTypes.h AngleTypes.h ../system/MathUtils.h
geometry.o: ../system/DetectOS.h angleUtils.h lineUtils.h
lineUtils.o: GridTypes.h
normarizePointsInterval.o: GridTypes.h
pointUtils.o: GridTypes.h AngleTypes.h ../system/MathUtils.h
pointUtils.o: ../system/DetectOS.h
shmoothPoints.o: GridTypes.h
AngleTypes.o: AngleTypes.h ../system/MathUtils.h ../system/DetectOS.h
TestGridTypes.o: TestGridTypes.h GridTypes.h
TestLineUtils.o: TestLineUtils.h lineUtils.h GridTypes.h
TestNormarizePointsInterval.o: TestNormarizePointsInterval.h
TestNormarizePointsInterval.o: normarizePointsInterval.h GridTypes.h
TestShmoothPoints.o: TestShmoothPoints.h GridTypes.h shmoothPoints.h
angleUtils.o: angleUtils.h AngleTypes.h ../system/MathUtils.h
angleUtils.o: ../system/DetectOS.h
convertLineSegment.o: convertLineSegment.h LineTypes.h GridTypes.h
convertLineSegment.o: AngleTypes.h pointUtils.h ../system/MathUtils.h
convertLineSegment.o: ../system/DetectOS.h angleUtils.h
normarizePointsInterval.o: normarizePointsInterval.h GridTypes.h
normarizePointsInterval.o: ../common/MovingMedian.h pointUtils.h AngleTypes.h
normarizePointsInterval.o: ../system/MathUtils.h ../system/DetectOS.h
shmoothPoints.o: shmoothPoints.h GridTypes.h ../common/MovingAverage.h
