From df5e04b2dafde8ff3c87ba8412a9a728f8b24b7d Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Sat, 11 Feb 2023 11:59:55 +0100 Subject: Update build system --- common.mk | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 common.mk (limited to 'common.mk') diff --git a/common.mk b/common.mk new file mode 100644 index 0000000..82c8ad3 --- /dev/null +++ b/common.mk @@ -0,0 +1,70 @@ +CXX=clang++-14 +#CXX=g++-12 + +ifeq ($(shell which $(CXX)),) +CXX=clang++-13 +endif + +ifeq ($(shell which $(CXX)),) +CXX=clang++-11 +endif + +ifeq ($(shell which $(CXX)),) +CXX=clang++-10 +endif + +ifeq ($(shell which $(CXX)),) +CXX=clang++ +endif + +ifeq ($(shell which $(CXX)),) +CXX=g++-9 +endif + +ifeq ($(shell which $(CXX)),) +CXX=g++ +endif + +ifeq ($(CXXFLAGS),) +CXXFLAGS=-g -O2 +endif + +CXXFLAGS+=-Wall -fPIE -Wpedantic -gdwarf-4 +LDFLAGS+=-pie + +ifeq ($(CXX),g++-9) +CXXFLAGS+=-std=c++17 +else +CXXFLAGS+=-std=c++20 +endif + +ifeq ($(CXX),clang++-10) +LIBS+=-fuse-ld=lld-10 -lstdc++ +CXXTYPE=clang++ +else ifeq ($(CXX),clang++-11) +#LIBS+=-fuse-ld=lld-11 -lc++ -lc++abi +LLVMPROFDATA=llvm-profdata-11 +LLVMCOV=llvm-cov-11 +CXXTYPE=clang++ +else ifeq ($(CXX),clang++-14) +#LIBS+=-fuse-ld=lld-14 -lc++ -lc++abi +LLVMPROFDATA=llvm-profdata-14 +LLVMCOV=llvm-cov-14 +CXXTYPE=clang++ +else +LIBS+=-lstdc++ -lstdc++fs +CXXTYPE=g++ +endif + +CXXFLAGS+=$(shell pkg-config --cflags qrcodegencpp GraphicsMagick++ fmt sqlite3) +LIBS+=-lboost_filesystem -lpthread +LIBS+=-lreichwein + +SRC_ROOT=$(shell echo $(MAKEFILE_LIST) | tr " " "\n" | grep common.mk | sed -e 's/\([^ ]*\)common.mk/\1/g') +ifeq ($(SRC_ROOT),) +SRC_ROOT=. +endif + +VERSION=$(shell dpkg-parsechangelog --show-field Version --file $(SRC_ROOT)/debian/changelog) +CXXFLAGS+=-DWEBLOG_VERSION=\"$(VERSION)\" + -- cgit v1.2.3