diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 62 | 
1 files changed, 13 insertions, 49 deletions
@@ -1,5 +1,8 @@ -DISTROS=debian10 ubuntu1910 ubuntu2004 +include common.mk +  VERSION=$(shell dpkg-parsechangelog --show-field Version) + +DISTROS=debian10 ubuntu1910 ubuntu2004  PROJECTNAME=webserver  PLUGINS= \           cgi \ @@ -10,37 +13,9 @@ PLUGINS= \           webbox \           weblog -CXX=clang++-10 - -ifeq ($(shell which $(CXX)),) -CXX=clang++ -endif - -ifeq ($(shell which $(CXX)),) -CXX=g++-9 -endif +CXXFLAGS+=-fPIE -DVERSION=\"$(VERSION)\" -ifeq ($(shell which $(CXX)),) -CXX=g++ -endif - -ifeq ($(CXXFLAGS),) -#CXXFLAGS=-O2 -DNDEBUG -CXXFLAGS=-O0 -g -D_DEBUG -endif -# -fprofile-instr-generate -fcoverage-mapping -# gcc:--coverage - -CXXFLAGS+=-Wall -I. -DVERSION=\"$(VERSION)\" -fPIE - -CXXFLAGS+=-pthread -ifeq ($(CXX),clang++-10) -CXXFLAGS+=-std=c++20 #-stdlib=libc++ -else -CXXFLAGS+=-std=c++17 -endif - -LIBS=\ +LDLIBS+=\  -lcommon \  -lboost_context \  -lboost_filesystem \ @@ -56,20 +31,6 @@ LIBS=\  #-lboost_thread \  #-lboost_regex \ -ifeq ($(CXX),clang++-10) -LIBS+= \ --fuse-ld=lld-10 \ --lstdc++ -#-lc++ \ -#-lc++abi -#-lc++fs -#-lstdc++fs -else -LIBS+= \ --lstdc++ \ --lstdc++fs -endif -  LDFLAGS+=-pie -Llibcommon  PROGSRC=\ @@ -87,8 +48,7 @@ PROGSRC=\  SRC=$(PROGSRC) webserver.cpp -build: $(PROJECTNAME) -	+set -e ; for i in $(PLUGINS) ; do make -C plugins/$$i ; done +build: $(PROJECTNAME) $(PLUGINS)  all: build  	./webserver -c webserver.conf @@ -99,6 +59,9 @@ $(PROJECTNAME): libcommon/libcommon.a $(SRC:.cpp=.o)  libcommon/libcommon.a:  	$(MAKE) -C libcommon +$(PLUGINS): +	cd plugins/$@ && $(MAKE) +  %.d: %.cpp  	$(CXX) $(CXXFLAGS) -MM -MP -MF $@ -c $< @@ -146,7 +109,7 @@ debs: $(DISTROS)  clean:  	-rm -f $(PROJECTNAME)  	-rm -f plugins/*.so -	-find . -name '*.o' -o -name '*.d' -o -name '*.gcno' -o -name '*.gcda' | xargs rm -f +	-find . -name '*.o' -o -name '*.d' -o -name '*.gcno' -o -name '*.gcda' -o -name '*.so' | xargs rm -f  	#for i in $(PLUGINS) ; do $(MAKE) -C plugins/$$i clean ; done  	for i in libcommon tests ; do $(MAKE) -C $$i clean ; done @@ -182,6 +145,7 @@ DISTFILES= \  	README.txt \  	LICENSE.txt \  	Makefile \ +	common.mk \  	googletest \  	googlemock \  	debian/changelog \ @@ -253,6 +217,6 @@ dist: clean  	rm -rf $(PROJECTNAME)-$(VERSION)  	ls -l ../$(PROJECTNAME)-$(VERSION).tar.xz -.PHONY: clean all zip test install deb deb-src debs all $(DISTROS) +.PHONY: clean all zip test install deb deb-src debs all $(DISTROS) $(PLUGINS)  -include $(wildcard $(SRC:.cpp=.d))  | 
