X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=test%2FMakefile;h=803ba65a337e19c9804a668017dfdf360340f4cb;hb=f06c8dee90dbb6ccf031af872efb2cdd8d3d3b8a;hp=4618c427d5cf296f1e2381abcd74d4dc99bf0132;hpb=349dac963257d776985bd0b46ff50d0746a9ae51;p=cassiopeia.git diff --git a/test/Makefile b/test/Makefile index 4618c42..803ba65 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,7 +1,93 @@ +MKDIR = mkdir -p + +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +BIN="bin/cassiopeia-test" +LIBS=openssl collissiondetect + +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))) +CFLAGS+=-DNO_DAEMON -g +endif + +CFLAGS+=${ADDFLAGS} -Wall -Werror -Wextra -pedantic -std=c++11 -I../src -I../lib/openssl/include +CXXFLAGS=$(CFLAGS) +LDFLAGS+=${ADDFLAGS} -lmysqlclient -lssl -lcrypto -ldl -lboost_unit_test_framework -L../lib/openssl -L/usr/lib/i386-linux-gnu + +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) +FS_LIBS=$(wildcard lib/*/) +FS_OBJ=$(FS_SRC:${SRC_DIR}/%.cpp=${OBJ_DIR}/%.lo) +FS_DEP=$(FS_SRC:${SRC_DIR}/%.cpp=${DEP_DIR}/%.d) + +.SUFFIXES: .c .cpp .d + .PHONY: all -all: - @echo 'Performing some important tests ...' +all: build .PHONY: clean -clean: - @echo 'Cleaning up behind us ...' +clean:: + -rm -rf .libs + -rm -rf *.a + -rm -rf *.d + -rm -rf *.o + -rm -rf *.la + -rm -rf *.lo + -rm -rf *.so + -rm -rf ${OBJ_DIR} + -rm -rf ${DEP_DIR} + -rm -rf ${TESTDATA_DIR} + +.PHONY: testdata +testdata: + ./genTestData.sh + +build: cassiopeia-test testdata + ${BIN} + +.PHONY: install +install: build + +.PHONY: libs +libs: ${LIBS} + +.PHONY: openssl +openssl: + ${MAKE} -C ../lib openssl + +.PHONY: collissiondetect +collissiondetect: + ${MAKE} -C ../lib/collissiondetect + +# -------- + +cassiopeia-test: bin/cassiopeia-test + +bin/cassiopeia-test: libs ${FS_OBJ} + ${MKDIR} $(shell dirname $@) && ${LD} ${LDFLAGS} -o $@ ${FS_OBJ} $(filter-out %/main.o,$(wildcard ../obj/*.o)) + +${DEP_DIR}/%.d: ${SRC_DIR}/%.cpp + ${MKDIR} $(shell dirname $@) && $(CXX_DEP) $(CXXFLAGS) -M -MF $@ $< +${DEP_DIR}/%.d: ${SRC_DIR}/%.c + ${MKDIR} $(shell dirname $@) && $(CC) $(CXXFLAGS) -M -MF $@ $< + +${OBJ_DIR}/%.lo ${OBJ_DIR}/%.o: ${SRC_DIR}/%.c ${DEP_DIR}/%.d + ${MKDIR} $(shell dirname $@) && $(CC) $(CFLAGS) -o $@ -c $< +${OBJ_DIR}/%.lo ${OBJ_DIR}/%.o: ${SRC_DIR}/%.cpp ${DEP_DIR}/%.d + ${MKDIR} $(shell dirname $@) && $(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(FS_DEP)