diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 39 |
1 files changed, 14 insertions, 25 deletions
@@ -31,17 +31,15 @@ endif # -fprofile-instr-generate -fcoverage-mapping # gcc:--coverage -CXXFLAGS+= -Wall -I. -DVERSION=\"$(VERSION)\" -fPIE +CXXFLAGS+=-Wall -I. -DVERSION=\"$(VERSION)\" -fPIE -CXXFLAGS+= -pthread +CXXFLAGS+=-pthread ifeq ($(CXX),clang++-10) CXXFLAGS+=-std=c++20 #-stdlib=libc++ else CXXFLAGS+=-std=c++17 endif -CXXTESTFLAGS=-Igoogletest/include -Igooglemock/include/ -Igoogletest -Igooglemock - LIBS=\ -lcommon \ -lboost_context \ @@ -87,38 +85,25 @@ PROGSRC=\ statistics.cpp \ server.cpp -TESTSRC=\ - test-webserver.cpp \ - googlemock/src/gmock-all.cpp \ - googletest/src/gtest-all.cpp \ - $(PROGSRC) - SRC=$(PROGSRC) webserver.cpp -build: $(PROJECTNAME) test-$(PROJECTNAME) +build: $(PROJECTNAME) +set -e ; for i in $(PLUGINS) ; do make -C plugins/$$i ; done - ./test-$(PROJECTNAME) all: build ./webserver -c webserver.conf -# testsuite ---------------------------------------------- -test-$(PROJECTNAME): $(TESTSRC:.cpp=.o) - $(CXX) $(LDFLAGS) $^ $(LDLIBS) $(LIBS) -o $@ - $(PROJECTNAME): libcommon/libcommon.a $(SRC:.cpp=.o) $(CXX) $(LDFLAGS) $^ $(LDLIBS) $(LIBS) -o $@ libcommon/libcommon.a: $(MAKE) -C libcommon -dep: $(TESTSRC:.cpp=.d) - %.d: %.cpp - $(CXX) $(CXXFLAGS) $(CXXTESTFLAGS) -MM -MP -MF $@ -c $< + $(CXX) $(CXXFLAGS) -MM -MP -MF $@ -c $< %.o: %.cpp %.d - $(CXX) $(CXXFLAGS) $(CXXTESTFLAGS) -c $< -o $@ + $(CXX) $(CXXFLAGS) -c $< -o $@ googletest/src/%.o: googletest/src/%.cc $(CXX) $(CXXFLAGS) $(CXXTESTFLAGS) -c $< -o $@ @@ -127,6 +112,9 @@ googletest/src/%.o: googletest/src/%.cc ADD_DEP=Makefile +test: + $(MAKE) -C tests + install: mkdir -p $(DESTDIR)/usr/bin cp webserver $(DESTDIR)/usr/bin @@ -156,11 +144,11 @@ $(DISTROS): deb-src debs: $(DISTROS) clean: - -rm -f test-$(PROJECTNAME) $(PROJECTNAME) + -rm -f $(PROJECTNAME) -rm -f plugins/*.so -find . -name '*.o' -o -name '*.d' -o -name '*.gcno' -o -name '*.gcda' | xargs rm -f - for i in $(PLUGINS) ; do make -C plugins/$$i clean ; done - $(MAKE) -C libcommon clean + #for i in $(PLUGINS) ; do $(MAKE) -C plugins/$$i clean ; done + for i in libcommon tests ; do $(MAKE) -C $$i clean ; done DISTFILES= \ archive.h \ @@ -187,7 +175,8 @@ DISTFILES= \ server.h \ statistics.cpp \ statistics.h \ - test-webserver.cpp \ + tests/Makefile \ + tests/test-webserver.cpp \ webserver.cpp \ webserver.1 \ README.txt \ @@ -262,6 +251,6 @@ dist: clean rm -rf $(PROJECTNAME)-$(VERSION) ls -l ../$(PROJECTNAME)-$(VERSION).tar.xz -.PHONY: clean all zip install deb deb-src debs all $(DISTROS) +.PHONY: clean all zip test install deb deb-src debs all $(DISTROS) -include $(wildcard $(SRC:.cpp=.d)) |