Makefile.am 12.1 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
	units/getty.target \
	units/halt.target \
71
72
73
	units/local-fs.target \
	units/network.target \
	units/nss-lookup.target \
74
75
	units/poweroff.target \
	units/reboot.target \
76
	units/remote-fs.target \
77
	units/rescue.target \
78
	units/rpcbind.target \
79
80
81
82
83
	units/rtc-set.target \
	units/shutdown.target \
	units/sigpwr.target \
	units/sockets.target \
	units/swap.target \
84
85
86
	units/systemd-initctl.socket \
	units/systemd-logger.socket

87
systemunit_DATA = \
88
89
90
91
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
	units/multi-user.target \
92
	units/systemd-initctl.service \
93
94
	units/systemd-logger.service \
	units/syslog.target
95

96
97
98
sessionunit_DATA = \
	units/session/remote-fs.target

99
EXTRA_DIST = \
100
101
102
103
	units/basic.target.m4 \
	units/getty@.service.m4 \
	units/graphical.target.m4 \
	units/multi-user.target.m4 \
104
	units/remote-fs.target.m4 \
105
106
	units/systemd-initctl.service.in \
	units/systemd-logger.service.in \
107
	units/syslog.target.in \
108
	LICENSE \
109
110
	README \
	DISTRO_PORTING
111

112
113
114
115
116
117
118
119
120
121
122
if TARGET_FEDORA
dist_systemunit_DATA += \
	units/fedora/halt.service \
	units/fedora/killall.service \
	units/fedora/poweroff.service \
	units/fedora/prefdm.service \
	units/fedora/rc-local.service \
	units/fedora/reboot.service \
	units/fedora/sysinit.service
endif

123
124
125
# 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.
126
BASIC_SOURCES = \
127
128
129
130
131
132
133
134
        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
135

136
COMMON_SOURCES = \
137
	$(BASIC_SOURCES) \
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
171
172
173
174
	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
175

176
177
EXTRA_DIST += \
	${COMMON_SOURCES:.c=.h} \
178
179
180
181
182
183
184
185
	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
186

187
dist_man_MANS = \
188
	man/systemd.unit.5 \
189
190
191
	man/systemd.service.5

nodist_man_MANS = \
192
	man/systemd.special.7
193

194
dist_noinst_DATA = \
195
	man/systemd.unit.html \
196
	man/systemd.service.html
197

198
199
nodist_noinst_DATA = \
	man/systemd.special.html
200
201
202

EXTRA_DIST += \
	man/systemd.unit.xml \
203
	man/systemd.service.xml \
204
205
206
	man/systemd.special.xml.in \
	man/systemd.special.7.in \
	man/systemd.special.html.in
207

208
209
systemd_SOURCES = \
	$(COMMON_SOURCES) \
210
	src/main.c
211
212
213
214

systemd_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS) \
215
216
	$(UDEV_CFLAGS) \
	$(CGROUP_CFLAGS)
217
218
219

systemd_LDADD = \
	$(DBUS_LIBS) \
220
221
	$(UDEV_LIBS) \
	$(CGROUP_LIBS)
222
223
224

test_engine_SOURCES = \
	$(COMMON_SOURCES) \
225
	src/test-engine.c
226
227
228
229
230
231

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

test_job_type_SOURCES = \
	$(COMMON_SOURCES) \
232
	src/test-engine.c
233
234
235
236

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

237
238
test_ns_SOURCES = \
	$(BASIC_SOURCES) \
239
240
	src/test-ns.c \
	src/namespace.c
241
242
243
244

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

245
246
test_loopback_SOURCES = \
	$(BASIC_SOURCES) \
247
248
	src/test-loopback.c \
	src/loopback-setup.c
249
250
251
252

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

253
254
systemd_logger_SOURCES = \
	$(BASIC_SOURCES) \
255
256
	src/logger.c \
	src/sd-daemon.c
257

258
259
systemd_initctl_SOURCES = \
	$(BASIC_SOURCES) \
260
261
	src/initctl.c \
	src/sd-daemon.c
262
263
264
265
266
267
268
269

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

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

270
271
systemd_cgroups_agent_SOURCES = \
	$(BASIC_SOURCES) \
272
	src/cgroups-agent.c
273
274
275
276
277
278
279
280

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

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

281
282
283
284
285
286
287
288
289
290
291
292
293
294
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
295
296

systemctl_SOURCES = \
297
298
	src/systemctl.vala \
	src/systemd-interfaces.vala
299

300
systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS)
301
302
303
systemctl_LDADD = $(DBUSGLIB_LIBS)

systemadm_SOURCES = \
304
305
	src/systemadm.vala \
	src/systemd-interfaces.vala
306

307
systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
308
systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
309

310
SED_PROCESS = \
311
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
312
	$(SED)  -e 's,@libexecdir\@,$(libexecdir),g' \
313
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
314
		-e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
315
		< $< > $@
316

317
units/%: units/%.in Makefile
318
319
	$(SED_PROCESS)

320
man/%: man/%.in Makefile
321
322
	$(SED_PROCESS)

323
M4_PROCESS_SYSTEM = \
324
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
325
	$(M4) -P $(M4_DISTRO_FLAG) -DFOR_SYSTEM=1 < $< > $@
326
327

M4_PROCESS_SESSION = \
328
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
329
	$(M4) -P $(M4_DISTRO_FLAG) -DFOR_SESSION=1 < $< > $@
330

331
units/%: units/%.m4 Makefile
332
	$(M4_PROCESS_SYSTEM)
333

334
units/session/%: units/%.m4 Makefile
335
	$(M4_PROCESS_SESSION)
336

337
CLEANFILES = \
338
339
340
	src/systemd-interfaces.c \
	src/systemctl.c \
	src/systemadm.c \
341
	units/systemd-initctl.service \
342
	units/systemd-logger.service \
343
344
345
346
	units/syslog.target \
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
347
348
	units/multi-user.target \
	units/remote-fs.target \
349
350
351
	units/session/remote-fs.target \
	man/systemd.special.7 \
	man/systemd.special.html
352

353
if HAVE_XSLTPROC
354
XSLTPROC_PROCESS_MAN = \
355
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
356
357
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

358
XSLTPROC_PROCESS_MAN_IN = \
359
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
360
361
362
363
	$(XSLTPROC) -o ${@:.in=} -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
	mv ${@:.in=} $@

XSLTPROC_PROCESS_HTML = \
364
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
365
366
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<

367
XSLTPROC_PROCESS_HTML_IN = \
368
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
	$(XSLTPROC) -o ${@:.in=} -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $< && \
	mv ${@:.in=} $@

man/%.5: man/%.xml
	$(XSLTPROC_PROCESS_MAN)

man/%.5.in: man/%.xml.in
	$(XSLTPROC_PROCESS_MAN)

man/%.7: man/%.xml
	$(XSLTPROC_PROCESS_MAN)

man/%.7.in: man/%.xml.in
	$(XSLTPROC_PROCESS_MAN_IN)

man/%.html: man/%.xml
	$(XSLTPROC_PROCESS_HTML)

man/%.html.in: man/%.xml.in
	$(XSLTPROC_PROCESS_HTML_IN)

390
391
CLEANFILES += \
	$(dist_man_MANS) \
392
393
394
395
	man/systemd.special.7.in \
	man/systemd.unit.html \
	man/systemd.service.html \
	man/systemd.special.html.in
396
endif
397

398
install-data-hook:
399
	$(MKDIR_P) -m 0755 \
400
401
		$(DESTDIR)$(systemunitdir) \
		$(DESTDIR)$(sessionunitdir) \
402
		$(DESTDIR)$(systemunitdir)/sockets.target.wants \
403
		$(DESTDIR)$(pkgsysconfdir)/system \
404
405
406
		$(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \
407
408
409
		$(DESTDIR)$(pkgsysconfdir)/session \
		$(DESTDIR)$(sysconfdir)/xdg/systemd \
		$(DESTDIR)/cgroup/debug
410
411
	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
		rm -f session && \
412
413
		$(LN_S) $(pkgsysconfdir)/session session )
	( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
414
		rm -f systemd-initctl.socket systemd-logger.socket && \
415
416
		$(LN_S) ../systemd-logger.socket systemd-logger.socket && \
		$(LN_S) ../systemd-initctl.socket systemd-initctl.socket )
417
	( cd $(DESTDIR)$(sessionunitdir) && \
418
		rm -f shutdown.target sockets.target local-fs.target swap.target && \
419
		$(LN_S) ../system/shutdown.target shutdown.target && \
420
421
422
		$(LN_S) ../system/sockets.target sockets.target && \
		$(LN_S) ../system/local-fs.target local-fs.target && \
		$(LN_S) ../system/swap.target swap.target )
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
	( cd $(DESTDIR)$(systemunitdir) && \
		rm -f runlevel0.target runlevel1.target runlevel6.target && \
		$(LN_S) poweroff.target runlevel0.target && \
		$(LN_S) rescue.target runlevel1.target && \
		$(LN_S) reboot.target runlevel6.target )
	( cd $(DESTDIR)$(pkgsysconfdir)/system && \
		rm -f default.target ctrl-alt-del.target kbrequest.target && \
		$(LN_S) $(systemunitdir)/graphical.target default.target && \
		$(LN_S) $(systemunitdir)/reboot.target ctrl-alt-del.target && \
		$(LN_S) $(systemunitdir)/rescue.target kbrequest.target && \
		rm -f runlevel2.target runlevel3.target runlevel4.target runlevel5.target && \
		$(LN_S) $(systemunitdir)/multi-user.target runlevel2.target && \
		$(LN_S) $(systemunitdir)/multi-user.target runlevel3.target && \
		$(LN_S) $(systemunitdir)/multi-user.target runlevel4.target && \
		$(LN_S) $(systemunitdir)/graphical.target runlevel5.target )
	( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
		rm -f getty@tty1.service getty@tty2.service getty@tty3.service getty@tty4.service getty@tty5.service getty@tty6.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty1.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty2.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty3.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty4.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty5.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty6.service )
	( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
		rm -f getty.target && \
		$(LN_S) $(systemunitdir)/getty.target getty.target )
if TARGET_FEDORA
	( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \
		rm -f prefdm.service && \
		$(LN_S) $(systemunitdir)/prefdm.service prefdm.service )
	( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
		rm -f rc-local.service && \
		$(LN_S) $(systemunitdir)/rc-local.service rc-local.service )
	( cd $(DESTDIR)$(systemunitdir) && \
		rm -f local.service && \
		$(LN_S) rc-local.service local.service )
endif

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