forked from DOMjudge/domjudge
-
Notifications
You must be signed in to change notification settings - Fork 0
/
paths.mk.in
170 lines (144 loc) · 5.48 KB
/
paths.mk.in
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# Variables (mostly paths) set by configure.
# This file is globally included via Makefile.global.
# General package variables
PACKAGE = @PACKAGE_TARNAME@
VERSION = @PACKAGE_VERSION@
DISTNAME = $(PACKAGE)-$(VERSION)
# The following line is automatically modified by snapshot/release
# scripts, do not change manually!
PUBLISHED =
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
# Compilers and FLAGS
CC = @CC@
CXX = @CXX@
CPP = @CPP@
CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ @LIBS@
STATIC_LINK_START = @STATIC_LINK_START@
STATIC_LINK_END = @STATIC_LINK_END@
EXEEXT = @EXEEXT@
OBJEXT = .@OBJEXT@
# Other programs
LN_S = @LN_S@
MKDIR_P = @MKDIR_P@
INSTALL = @INSTALL@
@SET_MAKE@
# Build submit client?
SUBMITCLIENT_ENABLED = @SUBMITCLIENT_ENABLED@
# Build documentation?
DOC_BUILD_ENABLED = @DOC_BUILD_ENABLED@
# libcgroup
LIBCGROUP = @LIBCGROUP@
# libmagic
LIBMAGIC = @LIBMAGIC@
# libJSONcpp
LIBJSONCPP = @LIBJSONCPP@
# libcURL
CURL_CFLAGS = @CURL_CFLAGS@
CURL_LIBS = @CURL_LIBS@
CURL_STATIC = @CURL_STATIC@
# User:group file ownership of password files
DOMJUDGE_USER = @DOMJUDGE_USER@
WEBSERVER_GROUP = @WEBSERVER_GROUP@
# Base URL of the DOMjudge web interfaces
BASEURL = @BASEURL@
# Autoconf prefixes and paths
FHS_ENABLED = @FHS_ENABLED@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
includedir = @includedir@
oldincludedir = @oldincludedir@
datarootdir = @datarootdir@
datadir = @datadir@
infodir = @infodir@
localedir = @localedir@
mandir = @mandir@
docdir = @docdir@
htmldir = @htmldir@
dvidir = @dvidir@
pdfdir = @pdfdir@
psdir = @psdir@
# Installation paths
domserver_bindir = @domserver_bindir@
domserver_etcdir = @domserver_etcdir@
domserver_webappdir = @domserver_webappdir@
domserver_sqldir = @domserver_sqldir@
domserver_libdir = @domserver_libdir@
domserver_libvendordir = @domserver_libvendordir@
domserver_logdir = @domserver_logdir@
domserver_rundir = @domserver_rundir@
domserver_tmpdir = @domserver_tmpdir@
judgehost_bindir = @judgehost_bindir@
judgehost_etcdir = @judgehost_etcdir@
judgehost_libdir = @judgehost_libdir@
judgehost_libjudgedir = @judgehost_libjudgedir@
judgehost_logdir = @judgehost_logdir@
judgehost_rundir = @judgehost_rundir@
judgehost_tmpdir = @judgehost_tmpdir@
judgehost_judgedir = @judgehost_judgedir@
judgehost_chrootdir = @judgehost_chrootdir@
judgehost_cgroupdir = @judgehost_cgroupdir@
domjudge_docdir = @domjudge_docdir@
# The tmpdir's are not in these lists, since they would otherwise get
# their permissions overwritten in FHS install mode.
domserver_dirs = $(domserver_bindir) $(domserver_etcdir) \
$(domserver_libdir) $(domserver_libvendordir) \
$(domserver_logdir) $(domserver_rundir) \
$(addprefix $(domserver_webappdir)/public/images/,affiliations countries teams)
judgehost_dirs = $(judgehost_bindir) $(judgehost_etcdir) $(judgehost_libdir) \
$(judgehost_libjudgedir) $(judgehost_logdir) \
$(judgehost_rundir) $(judgehost_judgedir)
docs_dirs = $(addprefix $(domjudge_docdir)/,manual examples logos)
# Macro to substitute configure variables.
# Defined in makefile to allow for expansion of ${prefix} etc. during
# build and install, conforming to the GNU coding standards, see:
# http://www.gnu.org/software/hello/manual/autoconf/Installation-Directory-Variables.html
define substconfigvars
@[ -n "$(QUIET)" ] || echo "Substituting configure variables in '$@'."
@cat $< | sed \
-e "s|@configure_input[@]|Generated from '$<' on `date`.|g" \
-e 's,@PACKAGE_NAME[@],@PACKAGE_NAME@,g' \
-e 's,@DOMJUDGE_VERSION[@],@DOMJUDGE_VERSION@,g' \
-e 's,@domserver_bindir[@],@domserver_bindir@,g' \
-e 's,@domserver_etcdir[@],@domserver_etcdir@,g' \
-e 's,@domserver_webappdir[@],@domserver_webappdir@,g' \
-e 's,@domserver_sqldir[@],@domserver_sqldir@,g' \
-e 's,@domserver_libdir[@],@domserver_libdir@,g' \
-e 's,@domserver_libvendordir[@],@domserver_libvendordir@,g' \
-e 's,@domserver_logdir[@],@domserver_logdir@,g' \
-e 's,@domserver_rundir[@],@domserver_rundir@,g' \
-e 's,@domserver_tmpdir[@],@domserver_tmpdir@,g' \
-e 's,@judgehost_bindir[@],@judgehost_bindir@,g' \
-e 's,@judgehost_etcdir[@],@judgehost_etcdir@,g' \
-e 's,@judgehost_libdir[@],@judgehost_libdir@,g' \
-e 's,@judgehost_libjudgedir[@],@judgehost_libjudgedir@,g' \
-e 's,@judgehost_logdir[@],@judgehost_logdir@,g' \
-e 's,@judgehost_rundir[@],@judgehost_rundir@,g' \
-e 's,@judgehost_tmpdir[@],@judgehost_tmpdir@,g' \
-e 's,@judgehost_judgedir[@],@judgehost_judgedir@,g' \
-e 's,@judgehost_chrootdir[@],@judgehost_chrootdir@,g' \
-e 's,@judgehost_cgroupdir[@],@judgehost_cgroupdir@,g' \
-e 's,@domjudge_docdir[@],@domjudge_docdir@,g' \
-e 's,@DOMJUDGE_USER[@],@DOMJUDGE_USER@,g' \
-e 's,@WEBSERVER_GROUP[@],@WEBSERVER_GROUP@,g' \
-e 's,@BEEP[@],@BEEP@,g' \
-e 's,@RUNUSER[@],@RUNUSER@,g' \
-e 's,@RUNGROUP[@],@RUNGROUP@,g' \
-e 's,@BASEURL[@],@BASEURL@,g' \
-e 's,@SUBMITCLIENT_ENABLED[@],@SUBMITCLIENT_ENABLED@,g' \
> $@
@chmod --reference=$< $@
endef