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

# Compile options
CC = ${CXX}
CXXFLAGS = -g -O0 -Wall -Werror ${INCLUDES} `sdl-config --cflags`
#CXXFLAGS = -g -O0 -Wall ${INCLUDES} `sdl-config --cflags`
INCLUDES =
LDFLAGS =
LDLIBS =

# Target
COMMON_LIB = common.a
TARGET = ${COMMON_LIB}

all : ${TARGET}

clean :
	${RM} *.o ${TARGET} allTest
	cd samples/ && ${MAKE} clean

test : allTest
	./allTest

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

.PHONY : all clean depend test
######################################################################
${COMMON_LIB} : \
	${COMMON_LIB}(LockGuard.o) \
	${COMMON_LIB}(LogManager.o) \
	${COMMON_LIB}(SdlInit.o) \
	${COMMON_LIB}(SdlUtils.o) \
	${COMMON_LIB}(GridTypes.o) \
	${COMMON_LIB}(ThreadCreator.o) \
	${COMMON_LIB}(Delay.o) \
	${COMMON_LIB}(GetTicks.o) \
	${COMMON_LIB}(CycleTimer.o) \
	${COMMON_LIB}(StandardInput.o) \
	${COMMON_LIB}(CreateDirectory.o) \
	${COMMON_LIB}(ExistFile.o) \
	${COMMON_LIB}(RemoveFile.o) \
	${COMMON_LIB}(FindFiles.o) \
	${COMMON_LIB}(SearchFilePath.o) \
	${COMMON_LIB}(FileToArgs.o) \
	${COMMON_LIB}(GetAccountName.o) \
	${COMMON_LIB}(AccessProperty.o)

StandardInput.o : ${wildcard StandardInput_*.cpp} StandardInput.h

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

REQUIRE_LIBS = common.a
${REQUIRE_LIBS} :
	cd ${@D}/ && ${MAKE} ${@F}

TEST_OBJS = allTest.o TestRingBuffer.o TestSearchFilePath.o TestFileToArgs.o TestMovingAverage.o TestPointerRingBuffer.o TestCalculateGeometry.o TestAccessProperty.o ${REQUIRE_LIBS}
TEST_LDLIBS = -lboost_regex

allTest : ${TEST_OBJS}
	${CXX} ${CXXFLAGS} ${TEST_OBJS} -o $@ `cppunit-config --libs` ${TEST_LDLIBS}

# DO NOT DELETE

CalculateGeometry.o: GridTypes.h MathUtils.h DetectOS.h
MathUtils.o: DetectOS.h
AccessProperty.o: AccessProperty.h DetectOS.h
CreateDirectory.o: CreateDirectory.h ExistFile.h DetectOS.h
CycleTimer.o: CycleTimer.h GetTicks.h Delay.h
Delay.o: Delay.h SdlInit.h LockGuard.h DetectOS.h
ExistFile.o: ExistFile.h DetectOS.h
FileToArgs.o: FileToArgs.h
FindFiles.o: FindFiles.h DetectOS.h
GetAccountName.o: GetAccountName.h DetectOS.h
GetTicks.o: SdlInit.h GetTicks.h
GridTypes.o: GridTypes.h MathUtils.h DetectOS.h
LockGuard.o: LockGuard.h
LogManager.o: LogManager.h LockGuard.h
RemoveFile.o: RemoveFile.h DetectOS.h
SdlInit.o: SdlInit.h LogManager.h
SdlUtils.o: SdlUtils.h
SearchFilePath.o: SearchFilePath.h ExistFile.h
StandardInput.o: DetectOS.h
StandardInput_lin.o: StandardInput.h
StandardInput_win.o: StandardInput.h
TestAccessProperty.o: TestAccessProperty.h AccessProperty.h
TestCalculateGeometry.o: TestCalculateGeometry.h CalculateGeometry.h
TestCalculateGeometry.o: GridTypes.h MathUtils.h DetectOS.h
TestFileToArgs.o: TestFileToArgs.h FileToArgs.h
TestMovingAverage.o: TestMovingAverage.h MovingAverage.h
TestPointerRingBuffer.o: TestPointerRingBuffer.h PointerRingBuffer.h
TestRingBuffer.o: TestRingBuffer.h RingBuffer.h
TestSearchFilePath.o: TestSearchFilePath.h SearchFilePath.h
ThreadCreator.o: ThreadCreator.h SdlInit.h LockGuard.h
