summaryrefslogtreecommitdiffhomepage
path: root/common.mk
blob: de649dab4fae93b92b51a8bfb1743e2f669d28a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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+=-lSQLiteCpp $(shell pkg-config --libs qrcodegencpp GraphicsMagick++ fmt sqlite3)
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+=-DWEBCHAT_VERSION=\"$(VERSION)\"