-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMake.config
140 lines (108 loc) · 3.42 KB
/
Make.config
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# Make.config
#
# See the README file for copyright information and how to reach the author.
#
# user defined stuff
PREFIX_PKG := $(shell pkg-config --variable=PREFIX epgd 2>/dev/null)
ifdef PREFIX_PKG
PREFIX ?= $(PREFIX_PKG)
endif
PREFIX ?= /usr/local
_BINDEST = $(DESTDIR)$(PREFIX)/bin
BINDEST = $(PREFIX)/bin
CACHEDIR = /var/cache/epgd
_PLGDEST = $(DESTDIR)$(PREFIX)/lib/epgd/plugins
PLGDEST = $(PREFIX)/lib/epgd/plugins
CONFDEST = $(DESTDIR)/etc/epgd
HTTPDEST = $(DESTDIR)/var/epgd/www
DEBUG = 1
#USE_CLANG = 1
SYSTEMDDEST = $(DESTDIR)/etc/systemd/system
UPSTARTDEST = $(DESTDIR)/etc/init
# select your init system { none, upstart, systemd }
INIT_SYSTEM = systemd
INIT_AFTER = mysql.service
# set the python intepreter
PYTHON_VERSION := $(shell python3 --version 2>/dev/null)
ifdef PYTHON_VERSION
PYTHON ?= python3
else
PYTHON ?= python
endif
# ------------------
# internals
SQLCFG = mariadb_config
ifdef MYSQL
SQLCFG = mysql_config
endif
ifdef USE_CLANG
CC = clang++
else
CC = g++
endif
CFLAGS += $(shell $(SQLCFG) --include)
doCompile = $(CC) -c $(CFLAGS) $(DEFINES)
doLink = $(CC) $(LFLAGS)
doLib = ar -rs
PLGSRCDIR = ./PLUGINS
TMPDIR = /tmp
USELIBXML = 1
USECURL = 1
USEJPEG = 1
USEPYTHON = 1
USEEPGS = 1
USEWOL = 1
USES = -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP
DEFINES += -D_GNU_SOURCE -DBINDEST='"$(BINDEST)"' -DTARGET='"$(TARGET)"' -DLOG_PREFIX='""' -DPLGDIR='"$(PLGDEST)"' $(USES)
CFLAGS_MEM = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS \
-fstack-clash-protection -fstack-protector-strong \
-Wl,-z,nodlopen -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now
CFLAGS_MEM += -fcf-protection=full -Wtrampolines
# CFLAGS += $(CFLAGS_MEM) -O2
ifeq "$(INIT_SYSTEM)" "systemd"
SYSD_NOTIFY = 1
endif
ifdef SYSD_NOTIFY
SYSTEMD_VERSION_210 := $(shell expr `pkg-config --modversion libsystemd 2>/dev/null || echo 0` \>= 210)
SYSTEMD_VERSION_209 := $(shell expr `pkg-config --modversion libsystemd 2>/dev/null || pkg-config --modversion libsystemd-daemon 2>/dev/null || echo "0"` \>= 209)
ifeq "$(SYSTEMD_VERSION_210)" "1"
SYSDLIB_210 = 1
endif
ifeq "$(SYSTEMD_VERSION_209)" "1"
SYSDLIB_209 = 1
endif
endif
ifdef USELIBXML
DEFINES += $(shell pkg-config libxml-2.0 --cflags) $(shell pkg-config libxslt --cflags)
endif
ifdef USEPYTHON
DEFINES += $(shell $(PYTHON)-config --includes)
ifeq ($(shell $(PYTHON) -c 'from __future__ import print_function; import sys; sys.exit(0) if sys.version_info[:2] < (3,8) else print(1)'), 1)
BASELIBS += $(shell $(PYTHON)-config --libs --embed)
else
BASELIBS += $(shell $(PYTHON)-config --libs)
endif
CFLAGS += $(shell $(PYTHON)-config --includes)
endif
ifdef SYSD_NOTIFY
ifdef SYSDLIB_209
USES += -DSYSDWDIFO
endif
USES += -DUSESYSD
endif
ifdef DEBUG
CFLAGS += -ggdb -fno-stack-protector -O0
endif
CFLAGS += -std=c++17 -D__STDC_FORMAT_MACROS
CFLAGS += -fPIC -Wall -Wreturn-type -Wformat -Wextra -Wparentheses -pedantic -Werror=format-security \
-Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wunused-local-typedefs \
-Wno-unused-parameter
CFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
ifdef USE_CLANG
CFLAGS += -x c++ -Wunused-const-variable
else
CXXFLAGS += -Wunused-but-set-variable -Wunused-but-set-parameter
endif
%.o: %.c
@echo Compile "$(*F)" ..
$(doCompile) -o $@ $<