Makefile.am 7.92 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#  This file is part of systemd.
#
#  Copyright 2010 Lennart Poettering
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  systemd is distributed in the hope that it will be useful, but
#  WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
#  General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with systemd; If not, see <http://www.gnu.org/licenses/>.

ACLOCAL_AMFLAGS = -I m4

20
dbuspolicydir=$(sysconfdir)/dbus-1/system.d
21
udevrulesdir=@udevrulesdir@
22

23
pkgsysconfdir=$(sysconfdir)/systemd
24
systemunitdir=$(pkgdatadir)/system
25
sessionunitdir=$(pkgdatadir)/session
26

27
28
AM_CPPFLAGS = \
        -include $(top_builddir)/config.h \
29
	-DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
30
	-DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
31
	-DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
32
	-DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
33
	-DSESSION_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/session\" \
34
	-DSESSION_DATA_UNIT_PATH=\"$(sessionunitdir)\" \
35
	-DCGROUP_AGENT_PATH=\"$(pkglibexecdir)/systemd-cgroups-agent\" \
36
37
	-DSYSTEMD_BINARY_PATH=\"$(sbindir)/systemd\" \
	-I $(top_srcdir)/src
38
39
40
41
42

sbin_PROGRAMS = \
	systemd

bin_PROGRAMS = \
43
44
45
46
	systemctl

if HAVE_GTK
bin_PROGRAMS += \
47
	systemadm
48
endif
49
50
51

pkglibexec_PROGRAMS = \
	systemd-logger \
52
53
	systemd-cgroups-agent \
	systemd-initctl
54
55
56

noinst_PROGRAMS = \
	test-engine \
57
	test-job-type \
58
59
	test-ns \
	test-loopback
60

61
dist_dbuspolicy_DATA = \
62
	src/org.freedesktop.systemd1.conf
63

64
dist_udevrules_DATA = \
65
	src/99-systemd.rules
66

67
dist_systemunit_DATA = \
68
	units/emergency.service \
69
70
71
72
	units/local-fs.target \
	units/network.target \
	units/nss-lookup.target \
	units/remote-fs.target \
73
	units/rpcbind.target \
74
75
76
77
78
	units/rtc-set.target \
	units/shutdown.target \
	units/sigpwr.target \
	units/sockets.target \
	units/swap.target \
79
80
81
	units/systemd-initctl.socket \
	units/systemd-logger.socket

82
systemunit_DATA = \
83
	units/systemd-initctl.service \
84
85
	units/systemd-logger.service \
	units/syslog.target
86

87
EXTRA_DIST = \
88
89
	units/systemd-initctl.service.in \
	units/systemd-logger.service.in \
90
	units/syslog.target.in \
91
92
	LICENSE \
	README
93

94
95
96
# This is needed because automake is buggy in how it generates the
# rules for C programs, but not Vala programs.  We therefore can't
# list the .h files as dependencies if we want make dist to work.
97
BASIC_SOURCES = \
98
99
100
101
102
103
104
105
        src/util.c \
        src/hashmap.c \
        src/set.c \
        src/strv.c \
        src/conf-parser.c \
        src/socket-util.c \
        src/log.c \
        src/ratelimit.c
106

107
COMMON_SOURCES = \
108
	$(BASIC_SOURCES) \
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
	src/unit.c \
        src/job.c \
        src/manager.c \
        src/load-fragment.c \
        src/service.c \
        src/automount.c \
        src/mount.c \
        src/swap.c \
        src/device.c \
        src/target.c \
        src/snapshot.c \
        src/socket.c \
        src/timer.c \
        src/load-dropin.c \
        src/execute.c \
        src/dbus.c \
        src/dbus-manager.c \
        src/dbus-unit.c \
        src/dbus-job.c \
	src/dbus-service.c \
	src/dbus-socket.c \
	src/dbus-target.c \
	src/dbus-mount.c \
	src/dbus-automount.c \
	src/dbus-swap.c \
	src/dbus-snapshot.c \
	src/dbus-device.c \
	src/dbus-execute.c \
	src/cgroup.c \
	src/mount-setup.c \
	src/hostname-setup.c \
	src/loopback-setup.c \
	src/utmp-wtmp.c \
	src/specifier.c \
	src/unit-name.c \
	src/fdset.c \
	src/namespace.c
146

147
148
EXTRA_DIST += \
	${COMMON_SOURCES:.c=.h} \
149
150
151
152
153
154
155
156
	src/macro.h \
	src/ioprio.h \
	src/missing.h \
	src/list.h \
	src/securebits.h \
	src/linux/auto_dev-ioctl.h \
	src/initreq.h \
	src/sd-daemon.h
157

158
dist_man_MANS = \
159
	man/systemd.unit.5 \
160
161
	man/systemd.service.5 \
	man/systemd.special.7
162
163

HTMLMANS = \
164
	man/systemd.unit.html \
165
166
	man/systemd.service.html \
	man/systemd.special.html
167
168
169
170
171
172

dist_noinst_DATA = \
	$(HTMLMANS)

EXTRA_DIST += \
	man/systemd.unit.xml \
173
174
	man/systemd.service.xml \
	man/systemd.special.xml
175

176
177
systemd_SOURCES = \
	$(COMMON_SOURCES) \
178
	src/main.c
179
180
181
182

systemd_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS) \
183
184
	$(UDEV_CFLAGS) \
	$(CGROUP_CFLAGS)
185
186
187

systemd_LDADD = \
	$(DBUS_LIBS) \
188
189
	$(UDEV_LIBS) \
	$(CGROUP_LIBS)
190
191
192

test_engine_SOURCES = \
	$(COMMON_SOURCES) \
193
	src/test-engine.c
194
195
196
197
198
199

test_engine_CPPFLAGS = $(systemd_CPPFLAGS)
test_engine_LDADD = $(systemd_LDADD)

test_job_type_SOURCES = \
	$(COMMON_SOURCES) \
200
	src/test-engine.c
201
202
203
204

test_job_type_CPPFLAGS = $(systemd_CPPFLAGS)
test_job_type_LDADD = $(systemd_LDADD)

205
206
test_ns_SOURCES = \
	$(BASIC_SOURCES) \
207
208
	src/test-ns.c \
	src/namespace.c
209
210
211
212

test_ns_CPPFLAGS = $(systemd_CPPFLAGS)
test_ns_LDADD = $(systemd_LDADD)

213
214
test_loopback_SOURCES = \
	$(BASIC_SOURCES) \
215
216
	src/test-loopback.c \
	src/loopback-setup.c
217
218
219
220

test_loopback_CPPFLAGS = $(systemd_CPPFLAGS)
test_loopback_LDADD = $(systemd_LDADD)

221
222
systemd_logger_SOURCES = \
	$(BASIC_SOURCES) \
223
224
	src/logger.c \
	src/sd-daemon.c
225

226
227
systemd_initctl_SOURCES = \
	$(BASIC_SOURCES) \
228
229
	src/initctl.c \
	src/sd-daemon.c
230
231
232
233
234
235
236
237

systemd_initctl_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS)

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

238
239
systemd_cgroups_agent_SOURCES = \
	$(BASIC_SOURCES) \
240
	src/cgroups-agent.c
241
242
243
244
245
246
247
248

systemd_cgroups_agent_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS)

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

249
250
251
252
253
254
255
256
257
258
259
260
261
262
VALAFLAGS = \
	-g \
	--save-temps \
	--pkg=dbus-glib-1 \
	--pkg=posix

if HAVE_GTK
VALAFLAGS += \
	--pkg=gtk+-2.0
endif

VALA_CFLAGS = \
	-Wno-unused-variable \
	-Wno-unused-function
263
264

systemctl_SOURCES = \
265
266
	src/systemctl.vala \
	src/systemd-interfaces.vala
267

268
systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS)
269
270
271
systemctl_LDADD = $(DBUSGLIB_LIBS)

systemadm_SOURCES = \
272
273
	src/systemadm.vala \
	src/systemd-interfaces.vala
274

275
systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
276
systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
277

278
279
units/systemd-initctl.service: units/systemd-initctl.service.in Makefile
	$(MKDIR_P) units
280
	$(SED) -e 's,@libexecdir\@,$(libexecdir),g' \
281
282
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
		< $< > $@
283

284
285
units/systemd-logger.service: units/systemd-logger.service.in Makefile
	$(MKDIR_P) units
286
	$(SED) -e 's,@libexecdir\@,$(libexecdir),g' \
287
288
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
		< $< > $@
289

290
291
292
293
294
units/syslog.target: units/syslog.target.in Makefile
	$(MKDIR_P) units
	$(SED) -e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
		< $< > $@

295
CLEANFILES = \
296
297
298
	src/systemd-interfaces.c \
	src/systemctl.c \
	src/systemadm.c \
299
	units/systemd-initctl.service \
300
301
	units/systemd-logger.service \
	units/syslog.target
302

303
if HAVE_XSLTPROC
304
man/%.5 man/%.7: man/%.xml
305
	$(MKDIR_P) man
306
307
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

308
309
man/%.html: man/%.xml
	$(MKDIR_P) man
310
311
312
313
314
315
316
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<

CLEANFILES += \
	$(dist_man_MANS) \
	$(HTMLMANS)
endif

317
install-data-hook:
318
	$(MKDIR_P) -m 0755 \
319
320
		$(DESTDIR)$(systemunitdir) \
		$(DESTDIR)$(sessionunitdir) \
321
		$(DESTDIR)$(pkgsysconfdir)/system \
322
		$(DESTDIR)$(pkgsysconfdir)/system/sockets.target.wants \
323
324
325
		$(DESTDIR)$(pkgsysconfdir)/session \
		$(DESTDIR)$(sysconfdir)/xdg/systemd \
		$(DESTDIR)/cgroup/debug
326
327
328
	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
		rm -f session && \
		$(LN_S) $(DESTDIR)$(pkgsysconfdir)/session session )
329
330
331
332
333
334
335
336
	( cd $(DESTDIR)$(pkgsysconfdir)/system/sockets.target.wants && \
		rm -f systemd-initctl.socket systemd-logger.socket && \
		$(LN_S) $(DESTDIR)$(systemunitdir)/systemd-logger.socket systemd-logger.socket && \
		$(LN_S) $(DESTDIR)$(systemunitdir)/systemd-initctl.socket systemd-initctl.socket )
	( cd $(DESTDIR)$(sessionunitdir) && \
		rm -f shutdown.target sockets.target && \
		$(LN_S) ../system/shutdown.target shutdown.target && \
		$(LN_S) ../system/sockets.target sockets.target )
337
338
339

DISTCHECK_CONFIGURE_FLAGS = \
	--with-udevrulesdir=$$dc_install_base/$(udevrulesdir)