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 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 \
	src/utmp-wtmp.c \
	src/specifier.c \
	src/unit-name.c \
	src/fdset.c \
	src/namespace.c
196

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

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

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

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

423
install-data-hook:
424
	$(MKDIR_P) -m 0755 \
425 426
		$(DESTDIR)$(systemunitdir) \
		$(DESTDIR)$(sessionunitdir) \
427
		$(DESTDIR)$(systemunitdir)/sockets.target.wants \
428
		$(DESTDIR)$(systemunitdir)/basic.target.wants \
429
		$(DESTDIR)$(pkgsysconfdir)/system \
430 431 432
		$(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \
433
		$(DESTDIR)$(pkgsysconfdir)/session \
434
		$(DESTDIR)$(sysconfdir)/xdg/systemd
435 436
	$(MKDIR_P) -m 0755 $(DESTDIR)/cgroup/systemd || \
		echo "Don't forget to create /cgroup/systemd! Couldn't create it for you, continuing anyway."
437 438
	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
		rm -f session && \
439 440
		$(LN_S) $(pkgsysconfdir)/session session )
	( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
441
		rm -f systemd-initctl.socket systemd-logger.socket && \
442 443
		$(LN_S) ../systemd-logger.socket systemd-logger.socket && \
		$(LN_S) ../systemd-initctl.socket systemd-initctl.socket )
444
	( cd $(DESTDIR)$(sessionunitdir) && \
445
		rm -f shutdown.target sockets.target local-fs.target swap.target && \
446
		$(LN_S) ../system/shutdown.target shutdown.target && \
447 448 449
		$(LN_S) ../system/sockets.target sockets.target && \
		$(LN_S) ../system/local-fs.target local-fs.target && \
		$(LN_S) ../system/swap.target swap.target )
450 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
	( 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 )
476 477 478 479 480 481
	( 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 )
482 483 484 485 486 487 488 489 490 491
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 )
492 493
	( cd $(DESTDIR)/etc/init.d && \
		$(LN_S) halt reboot > /dev/null 2>&1 || true )
494 495
endif

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