Makefile.am 13.3 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 92 93 94
	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 \
	units/sys-kernel-debug.automount \
	units/sys-kernel-debug.mount \
	units/var-run.mount
95

96
systemunit_DATA = \
97 98 99 100
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
	units/multi-user.target \
101
	units/systemd-initctl.service \
102 103
	units/systemd-logger.service \
	units/syslog.target
104

105 106 107
dist_sessionunit_DATA = \
	units/session/default.target

108 109 110
sessionunit_DATA = \
	units/session/remote-fs.target

111
EXTRA_DIST = \
112 113 114 115
	units/basic.target.m4 \
	units/getty@.service.m4 \
	units/graphical.target.m4 \
	units/multi-user.target.m4 \
116
	units/remote-fs.target.m4 \
117 118
	units/systemd-initctl.service.in \
	units/systemd-logger.service.in \
119
	units/syslog.target.in \
120
	LICENSE \
121 122
	README \
	DISTRO_PORTING
123

124 125 126 127 128 129 130 131 132 133 134
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

135 136 137 138 139 140 141 142 143
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

144 145 146
# 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.
147
BASIC_SOURCES = \
148 149 150 151 152 153 154 155
        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
156

157
COMMON_SOURCES = \
158
	$(BASIC_SOURCES) \
159 160 161 162 163 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
	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 \
191
	src/kmod-setup.c \
192 193 194 195 196
	src/utmp-wtmp.c \
	src/specifier.c \
	src/unit-name.c \
	src/fdset.c \
	src/namespace.c
197

198 199
EXTRA_DIST += \
	${COMMON_SOURCES:.c=.h} \
200 201 202 203 204 205 206 207
	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
208

209
dist_man_MANS = \
210
	man/systemd.unit.5 \
211 212 213
	man/systemd.service.5

nodist_man_MANS = \
214
	man/systemd.special.7
215

216
dist_noinst_DATA = \
217
	man/systemd.unit.html \
218
	man/systemd.service.html
219

220 221
nodist_noinst_DATA = \
	man/systemd.special.html
222 223 224

EXTRA_DIST += \
	man/systemd.unit.xml \
225
	man/systemd.service.xml \
226 227 228
	man/systemd.special.xml.in \
	man/systemd.special.7.in \
	man/systemd.special.html.in
229

230 231
systemd_SOURCES = \
	$(COMMON_SOURCES) \
232
	src/main.c
233 234 235 236

systemd_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS) \
237 238
	$(UDEV_CFLAGS) \
	$(CGROUP_CFLAGS)
239 240 241

systemd_LDADD = \
	$(DBUS_LIBS) \
242 243
	$(UDEV_LIBS) \
	$(CGROUP_LIBS)
244 245 246

test_engine_SOURCES = \
	$(COMMON_SOURCES) \
247
	src/test-engine.c
248 249 250 251 252 253

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

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

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

259 260
test_ns_SOURCES = \
	$(BASIC_SOURCES) \
261 262
	src/test-ns.c \
	src/namespace.c
263 264 265 266

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

267 268
test_loopback_SOURCES = \
	$(BASIC_SOURCES) \
269 270
	src/test-loopback.c \
	src/loopback-setup.c
271 272 273 274

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

275 276
systemd_logger_SOURCES = \
	$(BASIC_SOURCES) \
277 278
	src/logger.c \
	src/sd-daemon.c
279

280 281
systemd_initctl_SOURCES = \
	$(BASIC_SOURCES) \
282 283
	src/initctl.c \
	src/sd-daemon.c
284 285 286 287 288 289 290 291

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

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

292 293
systemd_cgroups_agent_SOURCES = \
	$(BASIC_SOURCES) \
294
	src/cgroups-agent.c
295 296 297 298 299 300 301 302

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

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

303 304 305 306 307 308 309 310 311 312 313 314 315 316
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
317 318

systemctl_SOURCES = \
319 320
	src/systemctl.vala \
	src/systemd-interfaces.vala
321

322
systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS)
323 324 325
systemctl_LDADD = $(DBUSGLIB_LIBS)

systemadm_SOURCES = \
326 327
	src/systemadm.vala \
	src/systemd-interfaces.vala
328

329
systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
330
systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
331

332
SED_PROCESS = \
333
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
334
	$(SED)  -e 's,@libexecdir\@,$(libexecdir),g' \
335
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
336
		-e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
337
		< $< > $@
338

339
units/%: units/%.in Makefile
340 341
	$(SED_PROCESS)

342
man/%: man/%.in Makefile
343 344
	$(SED_PROCESS)

345
M4_PROCESS_SYSTEM = \
346
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
347
	$(M4) -P $(M4_DISTRO_FLAG) -DFOR_SYSTEM=1 < $< > $@
348 349

M4_PROCESS_SESSION = \
350
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
351
	$(M4) -P $(M4_DISTRO_FLAG) -DFOR_SESSION=1 < $< > $@
352

353
units/%: units/%.m4 Makefile
354
	$(M4_PROCESS_SYSTEM)
355

356
units/session/%: units/%.m4 Makefile
357
	$(M4_PROCESS_SESSION)
358

359
CLEANFILES = \
360
	units/systemd-initctl.service \
361
	units/systemd-logger.service \
362 363 364 365
	units/syslog.target \
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
366 367
	units/multi-user.target \
	units/remote-fs.target \
368 369 370
	units/session/remote-fs.target \
	man/systemd.special.7 \
	man/systemd.special.html
371

372 373 374 375 376 377 378
if HAVE_VALAC
CLEANFILES += \
	src/systemd-interfaces.c \
	src/systemctl.c \
	src/systemadm.c
endif

379
if HAVE_XSLTPROC
380
XSLTPROC_PROCESS_MAN = \
381
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
382 383
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

384
XSLTPROC_PROCESS_MAN_IN = \
385
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
386 387 388 389
	$(XSLTPROC) -o ${@:.in=} -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
	mv ${@:.in=} $@

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

393
XSLTPROC_PROCESS_HTML_IN = \
394
	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415
	$(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)

416 417
CLEANFILES += \
	$(dist_man_MANS) \
418 419 420 421
	man/systemd.special.7.in \
	man/systemd.unit.html \
	man/systemd.service.html \
	man/systemd.special.html.in
422
endif
423

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

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