Makefile.am 11.6 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 105
	units/systemd-initctl.service.in \
	units/systemd-logger.service.in \
106
	units/syslog.target.in \
107
	LICENSE \
108 109
	README \
	DISTRO_PORTING
110

111 112 113 114 115 116 117 118 119 120 121
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

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

135
COMMON_SOURCES = \
136
	$(BASIC_SOURCES) \
137 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
	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
174

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

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

HTMLMANS = \
192
	man/systemd.unit.html \
193 194
	man/systemd.service.html \
	man/systemd.special.html
195 196 197 198 199 200

dist_noinst_DATA = \
	$(HTMLMANS)

EXTRA_DIST += \
	man/systemd.unit.xml \
201 202
	man/systemd.service.xml \
	man/systemd.special.xml
203

204 205
systemd_SOURCES = \
	$(COMMON_SOURCES) \
206
	src/main.c
207 208 209 210

systemd_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS) \
211 212
	$(UDEV_CFLAGS) \
	$(CGROUP_CFLAGS)
213 214 215

systemd_LDADD = \
	$(DBUS_LIBS) \
216 217
	$(UDEV_LIBS) \
	$(CGROUP_LIBS)
218 219 220

test_engine_SOURCES = \
	$(COMMON_SOURCES) \
221
	src/test-engine.c
222 223 224 225 226 227

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

test_job_type_SOURCES = \
	$(COMMON_SOURCES) \
228
	src/test-engine.c
229 230 231 232

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

233 234
test_ns_SOURCES = \
	$(BASIC_SOURCES) \
235 236
	src/test-ns.c \
	src/namespace.c
237 238 239 240

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

241 242
test_loopback_SOURCES = \
	$(BASIC_SOURCES) \
243 244
	src/test-loopback.c \
	src/loopback-setup.c
245 246 247 248

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

249 250
systemd_logger_SOURCES = \
	$(BASIC_SOURCES) \
251 252
	src/logger.c \
	src/sd-daemon.c
253

254 255
systemd_initctl_SOURCES = \
	$(BASIC_SOURCES) \
256 257
	src/initctl.c \
	src/sd-daemon.c
258 259 260 261 262 263 264 265

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

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

266 267
systemd_cgroups_agent_SOURCES = \
	$(BASIC_SOURCES) \
268
	src/cgroups-agent.c
269 270 271 272 273 274 275 276

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

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

277 278 279 280 281 282 283 284 285 286 287 288 289 290
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
291 292

systemctl_SOURCES = \
293 294
	src/systemctl.vala \
	src/systemd-interfaces.vala
295

296
systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS)
297 298 299
systemctl_LDADD = $(DBUSGLIB_LIBS)

systemadm_SOURCES = \
300 301
	src/systemadm.vala \
	src/systemd-interfaces.vala
302

303
systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
304
systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
305

306 307 308
SED_PROCESS = \
	$(MKDIR_P) units && \
	$(SED)  -e 's,@libexecdir\@,$(libexecdir),g' \
309
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
310
		-e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
311
		< $< > $@
312

313 314 315
units/systemd-initctl.service: units/systemd-initctl.service.in Makefile
	$(SED_PROCESS)

316
units/systemd-logger.service: units/systemd-logger.service.in Makefile
317
	$(SED_PROCESS)
318

319
units/syslog.target: units/syslog.target.in Makefile
320 321 322 323 324 325 326 327
	$(SED_PROCESS)

M4_FLAGS =

if TARGET_FEDORA
M4_FLAGS += -DTARGET_FEDORA=1
endif

328
M4_PROCESS_SYSTEM = \
329
	$(MKDIR_P) units && \
330 331 332 333 334
	$(M4) -P $(M4_FLAGS) -DFOR_SYSTEM < $< > $@

M4_PROCESS_SESSION = \
	$(MKDIR_P) units/session && \
	$(M4) -P $(M4_FLAGS) -DFOR_SESSION < $< > $@
335 336

units/basic.target: units/basic.target.m4 Makefile
337
	$(M4_PROCESS_SYSTEM)
338 339

units/graphical.target: units/graphical.target.m4 Makefile
340
	$(M4_PROCESS_SYSTEM)
341 342

units/multi-user.target: units/multi-user.target.m4 Makefile
343
	$(M4_PROCESS_SYSTEM)
344 345

units/getty@.service: units/getty@.service.m4 Makefile
346 347 348 349 350 351 352
	$(M4_PROCESS_SYSTEM)

units/remote-fs.target: units/remote-fs.target.m4 Makefile
	$(M4_PROCESS_SYSTEM)

units/session/remote-fs.target: units/remote-fs.target.m4 Makefile
	$(M4_PROCESS_SESSION)
353

354
CLEANFILES = \
355 356 357
	src/systemd-interfaces.c \
	src/systemctl.c \
	src/systemadm.c \
358
	units/systemd-initctl.service \
359
	units/systemd-logger.service \
360 361 362 363 364
	units/syslog.target \
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
	units/multi-user.target
365

366
if HAVE_XSLTPROC
367
man/%.5 man/%.7: man/%.xml
368
	$(MKDIR_P) man
369 370
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

371 372
man/%.html: man/%.xml
	$(MKDIR_P) man
373 374 375 376 377 378 379
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<

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

380
install-data-hook:
381
	$(MKDIR_P) -m 0755 \
382 383
		$(DESTDIR)$(systemunitdir) \
		$(DESTDIR)$(sessionunitdir) \
384
		$(DESTDIR)$(systemunitdir)/sockets.target.wants \
385
		$(DESTDIR)$(pkgsysconfdir)/system \
386 387 388
		$(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \
389 390 391
		$(DESTDIR)$(pkgsysconfdir)/session \
		$(DESTDIR)$(sysconfdir)/xdg/systemd \
		$(DESTDIR)/cgroup/debug
392 393
	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
		rm -f session && \
394 395
		$(LN_S) $(pkgsysconfdir)/session session )
	( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
396
		rm -f systemd-initctl.socket systemd-logger.socket && \
397 398
		$(LN_S) ../systemd-logger.socket systemd-logger.socket && \
		$(LN_S) ../systemd-initctl.socket systemd-initctl.socket )
399
	( cd $(DESTDIR)$(sessionunitdir) && \
400
		rm -f shutdown.target sockets.target local-fs.target swap.target && \
401
		$(LN_S) ../system/shutdown.target shutdown.target && \
402 403 404
		$(LN_S) ../system/sockets.target sockets.target && \
		$(LN_S) ../system/local-fs.target local-fs.target && \
		$(LN_S) ../system/swap.target swap.target )
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442
	( 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

443 444 445

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