Makefile.am 13.8 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
	units/systemd-initctl.socket \
85
86
87
88
89
90
91
	units/systemd-logger.socket \
	units/dev-hugepages.automount \
	units/dev-hugepages.mount \
	units/dev-mqueue.automount \
	units/dev-mqueue.mount \
	units/proc-sys-fs-binfmt_misc.automount \
	units/proc-sys-fs-binfmt_misc.mount \
92
93
	units/sys-fs-fuse-connections.automount \
	units/sys-fs-fuse-connections.mount \
94
95
	units/sys-kernel-debug.automount \
	units/sys-kernel-debug.mount \
96
97
98
	units/sys-kernel-security.automount \
	units/sys-kernel-security.mount \
	units/var-lock.mount \
99
	units/var-run.mount
100

101
systemunit_DATA = \
102
103
104
105
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
	units/multi-user.target \
106
	units/systemd-initctl.service \
107
108
	units/systemd-logger.service \
	units/syslog.target
109

110
111
112
dist_sessionunit_DATA = \
	units/session/default.target

113
114
115
sessionunit_DATA = \
	units/session/remote-fs.target

116
EXTRA_DIST = \
117
118
119
120
	units/basic.target.m4 \
	units/getty@.service.m4 \
	units/graphical.target.m4 \
	units/multi-user.target.m4 \
121
	units/remote-fs.target.m4 \
122
123
	units/systemd-initctl.service.in \
	units/systemd-logger.service.in \
124
	units/syslog.target.in \
125
	LICENSE \
126
127
	README \
	DISTRO_PORTING
128

129
130
131
132
133
134
135
136
137
138
139
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

140
141
142
143
144
145
146
147
148
if TARGET_GENTOO
dist_systemunit_DATA += \
	units/gentoo/halt.service \
	units/gentoo/killall.service \
	units/gentoo/poweroff.service \
	units/gentoo/reboot.service \
	units/gentoo/xdm.service
endif

149
150
151
# 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.
152
BASIC_SOURCES = \
153
154
155
156
157
158
159
160
        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
161

162
COMMON_SOURCES = \
163
	$(BASIC_SOURCES) \
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
	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 \
196
	src/kmod-setup.c \
197
198
199
200
201
	src/utmp-wtmp.c \
	src/specifier.c \
	src/unit-name.c \
	src/fdset.c \
	src/namespace.c
202

203
204
EXTRA_DIST += \
	${COMMON_SOURCES:.c=.h} \
205
206
207
208
209
210
211
212
	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
213

214
dist_man_MANS = \
215
	man/systemd.unit.5 \
216
217
218
	man/systemd.service.5

nodist_man_MANS = \
219
	man/systemd.special.7
220

221
dist_noinst_DATA = \
222
	man/systemd.unit.html \
223
	man/systemd.service.html
224

225
226
nodist_noinst_DATA = \
	man/systemd.special.html
227
228
229

EXTRA_DIST += \
	man/systemd.unit.xml \
230
	man/systemd.service.xml \
231
232
233
	man/systemd.special.xml.in \
	man/systemd.special.7.in \
	man/systemd.special.html.in
234

235
236
systemd_SOURCES = \
	$(COMMON_SOURCES) \
237
	src/main.c
238
239
240
241

systemd_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS) \
242
243
	$(UDEV_CFLAGS) \
	$(CGROUP_CFLAGS)
244
245
246

systemd_LDADD = \
	$(DBUS_LIBS) \
247
248
	$(UDEV_LIBS) \
	$(CGROUP_LIBS)
249
250
251

test_engine_SOURCES = \
	$(COMMON_SOURCES) \
252
	src/test-engine.c
253
254
255
256
257
258

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

test_job_type_SOURCES = \
	$(COMMON_SOURCES) \
259
	src/test-engine.c
260
261
262
263

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

264
265
test_ns_SOURCES = \
	$(BASIC_SOURCES) \
266
267
	src/test-ns.c \
	src/namespace.c
268
269
270
271

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

272
273
test_loopback_SOURCES = \
	$(BASIC_SOURCES) \
274
275
	src/test-loopback.c \
	src/loopback-setup.c
276
277
278
279

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

280
281
systemd_logger_SOURCES = \
	$(BASIC_SOURCES) \
282
283
	src/logger.c \
	src/sd-daemon.c
284

285
286
systemd_initctl_SOURCES = \
	$(BASIC_SOURCES) \
287
288
	src/initctl.c \
	src/sd-daemon.c
289
290
291
292
293
294
295
296

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

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

297
298
systemd_cgroups_agent_SOURCES = \
	$(BASIC_SOURCES) \
299
	src/cgroups-agent.c
300
301
302
303
304
305
306
307

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

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

308
309
310
311
312
313
314
315
316
317
318
319
320
321
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
322
323

systemctl_SOURCES = \
324
325
	src/systemctl.vala \
	src/systemd-interfaces.vala
326

327
systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS)
328
329
330
systemctl_LDADD = $(DBUSGLIB_LIBS)

systemadm_SOURCES = \
331
332
	src/systemadm.vala \
	src/systemd-interfaces.vala
333

334
systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
335
systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
336

337
SED_PROCESS = \
338
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
339
	$(SED)  -e 's,@libexecdir\@,$(libexecdir),g' \
340
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
341
		-e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
342
		< $< > $@
343

344
units/%: units/%.in Makefile
345
346
	$(SED_PROCESS)

347
man/%: man/%.in Makefile
348
349
	$(SED_PROCESS)

350
M4_PROCESS_SYSTEM = \
351
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
352
	$(M4) -P $(M4_DISTRO_FLAG) -DFOR_SYSTEM=1 < $< > $@
353
354

M4_PROCESS_SESSION = \
355
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
356
	$(M4) -P $(M4_DISTRO_FLAG) -DFOR_SESSION=1 < $< > $@
357

358
units/%: units/%.m4 Makefile
359
	$(M4_PROCESS_SYSTEM)
360

361
units/session/%: units/%.m4 Makefile
362
	$(M4_PROCESS_SESSION)
363

364
CLEANFILES = \
365
	units/systemd-initctl.service \
366
	units/systemd-logger.service \
367
368
369
370
	units/syslog.target \
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
371
372
	units/multi-user.target \
	units/remote-fs.target \
373
374
375
	units/session/remote-fs.target \
	man/systemd.special.7 \
	man/systemd.special.html
376

377
378
379
380
381
382
383
if HAVE_VALAC
CLEANFILES += \
	src/systemd-interfaces.c \
	src/systemctl.c \
	src/systemadm.c
endif

384
if HAVE_XSLTPROC
385
XSLTPROC_PROCESS_MAN = \
386
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
387
388
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

389
XSLTPROC_PROCESS_MAN_IN = \
390
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
391
392
393
394
	$(XSLTPROC) -o ${@:.in=} -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
	mv ${@:.in=} $@

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

398
XSLTPROC_PROCESS_HTML_IN = \
399
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
	$(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)

421
422
CLEANFILES += \
	$(dist_man_MANS) \
423
424
425
426
	man/systemd.special.7.in \
	man/systemd.unit.html \
	man/systemd.service.html \
	man/systemd.special.html.in
427
endif
428

429
install-data-hook:
430
	$(MKDIR_P) -m 0755 \
431
432
		$(DESTDIR)$(systemunitdir) \
		$(DESTDIR)$(sessionunitdir) \
433
		$(DESTDIR)$(systemunitdir)/sockets.target.wants \
434
		$(DESTDIR)$(systemunitdir)/basic.target.wants \
435
		$(DESTDIR)$(pkgsysconfdir)/system \
436
437
438
		$(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \
439
		$(DESTDIR)$(pkgsysconfdir)/session \
440
		$(DESTDIR)$(sysconfdir)/xdg/systemd
441
442
	$(MKDIR_P) -m 0755 $(DESTDIR)/cgroup/systemd || \
		echo "Don't forget to create /cgroup/systemd! Couldn't create it for you, continuing anyway."
443
444
	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
		rm -f session && \
445
446
		$(LN_S) $(pkgsysconfdir)/session session )
	( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
447
		rm -f systemd-initctl.socket systemd-logger.socket && \
448
449
		$(LN_S) ../systemd-logger.socket systemd-logger.socket && \
		$(LN_S) ../systemd-initctl.socket systemd-initctl.socket )
450
	( cd $(DESTDIR)$(sessionunitdir) && \
451
		rm -f shutdown.target sockets.target local-fs.target swap.target && \
452
		$(LN_S) ../system/shutdown.target shutdown.target && \
453
454
455
		$(LN_S) ../system/sockets.target sockets.target && \
		$(LN_S) ../system/local-fs.target local-fs.target && \
		$(LN_S) ../system/swap.target swap.target )
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
	( 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 )
482
	( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \
483
484
485
486
487
488
		rm -f dev-hugepages.automount \
			dev-mqueue.automount \
			proc-sys-fs-binfmt_misc.automount \
			sys-kernel-debug.automount \
			sys-fs-fuse-connections.automount \
			sys-kernel-security.automount && \
489
490
491
		$(LN_S) ../dev-hugepages.automount dev-hugepages.automount && \
		$(LN_S) ../dev-mqueue.automount dev-mqueue.automount && \
		$(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount && \
492
493
494
		$(LN_S) ../sys-kernel-debug.automount sys-kernel-debug.automount && \
		$(LN_S) ../sys-kernel-security.automount sys-kernel-security.automount && \
		$(LN_S) ../sys-fs-fuse-connections.automount sys-fs-fuse-connections.automount )
495
496
497
498
499
500
501
502
503
504
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 )
505
506
	( cd $(DESTDIR)/etc/init.d && \
		$(LN_S) halt reboot > /dev/null 2>&1 || true )
507
508
endif

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