endif
BIN="bin/cassiopeia-test"
-LIBS=openssl collissiondetect
+LIBS=openssl collisiondetect
-LT_CC=libtool --mode=compile gcc
-LT_CC_DEP=g++
-LT_CXX=libtool --mode=compile g++
-LT_CXX_DEP=g++
-LT_LD=libtool --mode=link g++
-
-CC=${LT_CC}
-CC_DEP=${LT_CC_DEP}
-CXX=${LT_CXX}
-CXX_DEP=${LT_CXX_DEP}
-LD=${LT_LD}
+CC=libtool --mode=compile gcc
+CC_DEP=g++
+CXX=libtool --mode=compile g++
+CXX_DEP=g++
+LD=libtool --mode=link g++
ifneq (,$(filter debug,$(DEB_BUILD_OPTIONS)))
-ADDFLAGS=-DNO_DAEMON
+CFLAGS+=-DNO_DAEMON -g -Og
endif
-CFLAGS=-O3 -g -flto -Wall -Werror -Wextra -pedantic -std=c++11 ${ADDFLAGS}
+CFLAGS+=${ADDFLAGS} -Wall -Werror -Wextra -pedantic -std=c++11 -I../src -I../lib/openssl/include
CXXFLAGS=$(CFLAGS)
-LDFLAGS=-O3 -g -flto -lmysqlclient -lssl -lcrypto -ldl -lboost_unit_test_framework
+LDFLAGS+=${ADDFLAGS} -lssl -lcrypto -ldl -lboost_unit_test_framework -L../lib/openssl -L/usr/lib/i386-linux-gnu -lpqxx -lpq
+
+ifneq (,$(filter coverage,$(DEB_BUILD_OPTIONS)))
+ LDFLAGS += -lgcov
+ CFLAGS += -fprofile-arcs -ftest-coverage
+endif
+
SRC_DIR=src
OBJ_DIR=obj
DEP_DIR=dep
+TESTDATA_DIR=testdata
FS_SRC=$(wildcard ${SRC_DIR}/*.cpp)
FS_BIN=$(wildcard ${SRC_DIR}/app/*.cpp)
-rm -rf *.so
-rm -rf ${OBJ_DIR}
-rm -rf ${DEP_DIR}
+ -rm -rf ${TESTDATA_DIR}
+
+.PHONY: testdata
+testdata:
+ ./genTestData.sh
-build: cassiopeia-test
- ${BIN}
+build: cassiopeia-test testdata
+ ${BIN} --log_level=warning
.PHONY: install
install: build
.PHONY: openssl
openssl:
- ${MAKE} -C ../lib/openssl
+ ${MAKE} -C ../lib openssl
-.PHONY: collissiondetect
-collissiondetect:
- ${MAKE} -C ../lib/collissiondetect
+.PHONY: collisiondetect
+collisiondetect:
+ ${MAKE} -C ../lib/collisiondetect
# --------
cassiopeia-test: bin/cassiopeia-test
bin/cassiopeia-test: libs ${FS_OBJ}
- ${MKDIR} $(shell dirname $@) && ${LT_LD} ${LDFLAGS} -o $@ ${FS_OBJ}
+ ${MKDIR} $(shell dirname $@) && ${LD} ${LDFLAGS} -o $@ ${FS_OBJ} $(filter-out ../obj/apps/%,$(wildcard ../obj/*.o) $(wildcard ../obj/*/*.o))
${DEP_DIR}/%.d: ${SRC_DIR}/%.cpp
${MKDIR} $(shell dirname $@) && $(CXX_DEP) $(CXXFLAGS) -M -MF $@ $<