chiark / gitweb /
1af9cbc5a5ff92e751cc8eb472a851ca3275be3b
[elogind.git] / Makefile.am
1 #  This file is part of systemd.
2 #
3 #  Copyright 2011 Lennart Poettering
4 #  Copyright 2011 Kay Sievers
5 #
6 #  systemd is free software; you can redistribute it and/or modify it
7 #  under the terms of the GNU General Public License as published by
8 #  the Free Software Foundation; either version 2 of the License, or
9 #  (at your option) any later version.
10 #
11 #  systemd is distributed in the hope that it will be useful, but
12 #  WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 #  General Public License for more details.
15 #
16 #  You should have received a copy of the GNU General Public License
17 #  along with systemd; If not, see <http://www.gnu.org/licenses/>.
18
19 ACLOCAL_AMFLAGS = -I m4
20
21 SUBDIRS = po
22
23 LIBSYSTEMD_LOGIN_CURRENT=1
24 LIBSYSTEMD_LOGIN_REVISION=0
25 LIBSYSTEMD_LOGIN_AGE=1
26
27 LIBSYSTEMD_DAEMON_CURRENT=0
28 LIBSYSTEMD_DAEMON_REVISION=0
29 LIBSYSTEMD_DAEMON_AGE=0
30
31 LIBSYSTEMD_ID128_CURRENT=0
32 LIBSYSTEMD_ID128_REVISION=0
33 LIBSYSTEMD_ID128_AGE=0
34
35 LIBSYSTEMD_JOURNAL_CURRENT=0
36 LIBSYSTEMD_JOURNAL_REVISION=0
37 LIBSYSTEMD_JOURNAL_AGE=0
38
39 # Dirs of external packages
40 dbuspolicydir=@dbuspolicydir@
41 dbussessionservicedir=@dbussessionservicedir@
42 dbussystemservicedir=@dbussystemservicedir@
43 dbusinterfacedir=@dbusinterfacedir@
44 udevrulesdir=@udevrulesdir@
45 pamlibdir=@pamlibdir@
46 pkgconfigdatadir=$(datadir)/pkgconfig
47 pkgconfiglibdir=$(libdir)/pkgconfig
48 polkitpolicydir=$(datadir)/polkit-1/actions
49 bashcompletiondir=$(sysconfdir)/bash_completion.d
50
51 # Our own, non-special dirs
52 pkgsysconfdir=$(sysconfdir)/systemd
53 userunitdir=$(prefix)/lib/systemd/user
54 tmpfilesdir=$(prefix)/lib/tmpfiles.d
55 usergeneratordir=$(pkglibexecdir)/user-generators
56 pkgincludedir=$(includedir)/systemd
57
58 # And these are the special ones for /
59 rootdir=@rootdir@
60 rootbindir=$(rootdir)/bin
61 rootlibexecdir=$(rootdir)/lib/systemd
62 systemgeneratordir=$(rootlibexecdir)/system-generators
63 systemshutdowndir=$(rootlibexecdir)/system-shutdown
64 systemunitdir=$(rootdir)/lib/systemd/system
65
66 CLEANFILES =
67 EXTRA_DIST =
68 INSTALL_EXEC_HOOKS =
69 UNINSTALL_EXEC_HOOKS =
70 INSTALL_DATA_HOOKS =
71 pkginclude_HEADERS =
72 lib_LTLIBRARIES =
73 pkgconfiglib_DATA =
74 polkitpolicy_in_files =
75
76 AM_CPPFLAGS = \
77         -include $(top_builddir)/config.h \
78         -DSYSTEM_CONFIG_FILE=\"$(pkgsysconfdir)/system.conf\" \
79         -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
80         -DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
81         -DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
82         -DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
83         -DUSER_CONFIG_FILE=\"$(pkgsysconfdir)/user.conf\" \
84         -DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
85         -DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
86         -DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
87         -DSYSTEMD_BINARY_PATH=\"$(rootbindir)/systemd\" \
88         -DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
89         -DSYSTEMCTL_BINARY_PATH=\"$(rootbindir)/systemctl\" \
90         -DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH=\"$(rootbindir)/systemd-tty-ask-password-agent\" \
91         -DSYSTEMD_STDIO_BRIDGE_BINARY_PATH=\"$(bindir)/systemd-stdio-bridge\" \
92         -DRUNTIME_DIR=\"/run\" \
93         -DRANDOM_SEED=\"$(localstatedir)/lib/random-seed\" \
94         -DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
95         -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
96         -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
97         -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
98         -DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \
99         -I $(top_srcdir)/src \
100         -I $(top_srcdir)/src/readahead \
101         -I $(top_srcdir)/src/login
102
103 if TARGET_GENTOO
104 AM_CPPFLAGS += \
105         -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
106         -DKBD_SETFONT=\"/usr/bin/setfont\" \
107         -DDEFAULT_FONT=\"LatArCyrHeb-16\"
108 else
109 if TARGET_ARCH
110 AM_CPPFLAGS += \
111         -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
112         -DKBD_SETFONT=\"/usr/bin/setfont\" \
113         -DDEFAULT_FONT=\"LatArCyrHeb-16\"
114 else
115 if TARGET_FRUGALWARE
116 AM_CPPFLAGS += \
117         -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
118         -DKBD_SETFONT=\"/usr/bin/setfont\" \
119         -DDEFAULT_FONT=\"LatArCyrHeb-16\"
120 else
121 if TARGET_MANDRIVA
122 AM_CPPFLAGS += \
123         -DKBD_LOADKEYS=\"/bin/loadkeys\" \
124         -DKBD_SETFONT=\"/bin/setfont\" \
125         -DDEFAULT_FONT=\"LatArCyrHeb-16\"
126 else
127 if TARGET_MEEGO
128 AM_CPPFLAGS += \
129         -DKBD_LOADKEYS=\"/bin/loadkeys\" \
130         -DKBD_SETFONT=\"/bin/setfont\" \
131         -DDEFAULT_FONT=\"LatArCyrHeb-16\"
132 else
133 if TARGET_ANGSTROM
134 AM_CPPFLAGS += \
135         -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
136         -DKBD_SETFONT=\"/usr/bin/setfont\" \
137         -DDEFAULT_FONT=\"LatArCyrHeb-16\"
138 else
139 if TARGET_MAGEIA
140 AM_CPPFLAGS += \
141         -DKBD_LOADKEYS=\"/bin/loadkeys\" \
142         -DKBD_SETFONT=\"/bin/setfont\" \
143         -DDEFAULT_FONT=\"LatArCyrHeb-16\"
144 else
145 AM_CPPFLAGS += \
146         -DKBD_LOADKEYS=\"/bin/loadkeys\" \
147         -DKBD_SETFONT=\"/bin/setfont\" \
148         -DDEFAULT_FONT=\"latarcyrheb-sun16\"
149 endif
150 endif
151 endif
152 endif
153 endif
154 endif
155 endif
156
157 rootbin_PROGRAMS = \
158         systemd \
159         systemctl \
160         systemd-notify \
161         systemd-ask-password \
162         systemd-tty-ask-password-agent \
163         systemd-tmpfiles \
164         systemd-machine-id-setup
165
166 bin_PROGRAMS = \
167         systemd-cgls \
168         systemd-stdio-bridge \
169         systemd-nspawn
170
171 dist_bin_SCRIPTS = \
172         src/systemd-analyze
173
174 if HAVE_GTK
175 bin_PROGRAMS += \
176         systemadm \
177         systemd-gnome-ask-password-agent
178 endif
179
180 rootlibexec_PROGRAMS = \
181         systemd-stdout-syslog-bridge \
182         systemd-cgroups-agent \
183         systemd-initctl \
184         systemd-update-utmp \
185         systemd-shutdownd \
186         systemd-shutdown \
187         systemd-modules-load \
188         systemd-remount-api-vfs \
189         systemd-kmsg-syslogd \
190         systemd-reply-password \
191         systemd-fsck \
192         systemd-timestamp \
193         systemd-ac-power \
194         systemd-detect-virt \
195         systemd-sysctl
196
197 systemgenerator_PROGRAMS = \
198         systemd-getty-generator
199
200 noinst_PROGRAMS = \
201         test-engine \
202         test-job-type \
203         test-ns \
204         test-loopback \
205         test-hostname \
206         test-daemon \
207         test-cgroup \
208         test-env-replace \
209         test-strv \
210         test-install
211
212 dist_pkgsysconf_DATA = \
213         src/system.conf \
214         src/user.conf
215
216 dist_dbuspolicy_DATA = \
217         src/org.freedesktop.systemd1.conf
218
219 dist_dbussystemservice_DATA = \
220         src/org.freedesktop.systemd1.service
221
222 dist_udevrules_DATA = \
223         src/71-seat.rules
224
225 nodist_udevrules_DATA = \
226         src/73-seat-late.rules \
227         src/99-systemd.rules
228
229 dbusinterface_DATA = \
230         org.freedesktop.systemd1.Manager.xml \
231         org.freedesktop.systemd1.Job.xml \
232         org.freedesktop.systemd1.Unit.xml \
233         org.freedesktop.systemd1.Service.xml \
234         org.freedesktop.systemd1.Socket.xml \
235         org.freedesktop.systemd1.Timer.xml \
236         org.freedesktop.systemd1.Target.xml \
237         org.freedesktop.systemd1.Device.xml \
238         org.freedesktop.systemd1.Mount.xml \
239         org.freedesktop.systemd1.Automount.xml \
240         org.freedesktop.systemd1.Snapshot.xml \
241         org.freedesktop.systemd1.Swap.xml \
242         org.freedesktop.systemd1.Path.xml
243
244 dist_bashcompletion_DATA = \
245         src/systemd-bash-completion.sh
246
247 dist_tmpfiles_DATA = \
248         tmpfiles.d/systemd.conf \
249         tmpfiles.d/tmp.conf \
250         tmpfiles.d/x11.conf
251
252 if HAVE_SYSV_COMPAT
253 dist_tmpfiles_DATA += \
254         tmpfiles.d/legacy.conf
255 endif
256
257 dist_systemunit_DATA = \
258         units/graphical.target \
259         units/multi-user.target \
260         units/emergency.service \
261         units/emergency.target \
262         units/sysinit.target \
263         units/basic.target \
264         units/getty.target \
265         units/halt.target \
266         units/kexec.target \
267         units/local-fs.target \
268         units/local-fs-pre.target \
269         units/remote-fs.target \
270         units/remote-fs-pre.target \
271         units/network.target \
272         units/nss-lookup.target \
273         units/mail-transfer-agent.target \
274         units/http-daemon.target \
275         units/poweroff.target \
276         units/reboot.target \
277         units/rescue.target \
278         units/rpcbind.target \
279         units/time-sync.target \
280         units/shutdown.target \
281         units/final.target \
282         units/umount.target \
283         units/sigpwr.target \
284         units/sockets.target \
285         units/swap.target \
286         units/systemd-initctl.socket \
287         units/systemd-stdout-syslog-bridge.socket \
288         units/systemd-shutdownd.socket \
289         units/syslog.socket \
290         units/dev-hugepages.mount \
291         units/dev-mqueue.mount \
292         units/sys-kernel-config.mount \
293         units/sys-kernel-debug.mount \
294         units/sys-kernel-security.mount \
295         units/sys-fs-fuse-connections.mount \
296         units/var-run.mount \
297         units/media.mount \
298         units/remount-rootfs.service \
299         units/printer.target \
300         units/sound.target \
301         units/bluetooth.target \
302         units/smartcard.target \
303         units/systemd-tmpfiles-clean.timer \
304         units/quotaon.service \
305         units/systemd-ask-password-wall.path \
306         units/systemd-ask-password-console.path \
307         units/syslog.target
308
309 if HAVE_SYSV_COMPAT
310 dist_systemunit_DATA += \
311         units/var-lock.mount
312 endif
313
314 nodist_systemunit_DATA = \
315         units/getty@.service \
316         units/serial-getty@.service \
317         units/console-shell.service \
318         units/systemd-initctl.service \
319         units/systemd-stdout-syslog-bridge.service \
320         units/systemd-shutdownd.service \
321         units/systemd-kmsg-syslogd.service \
322         units/systemd-modules-load.service \
323         units/systemd-remount-api-vfs.service \
324         units/systemd-update-utmp-runlevel.service \
325         units/systemd-update-utmp-shutdown.service \
326         units/systemd-tmpfiles-setup.service \
327         units/systemd-tmpfiles-clean.service \
328         units/systemd-ask-password-wall.service \
329         units/systemd-ask-password-console.service \
330         units/systemd-sysctl.service \
331         units/halt.service \
332         units/poweroff.service \
333         units/reboot.service \
334         units/kexec.service \
335         units/fsck@.service \
336         units/fsck-root.service \
337         units/rescue.service \
338         units/user@.service
339
340 dist_userunit_DATA = \
341         units/user/default.target \
342         units/user/exit.target
343
344 nodist_userunit_DATA = \
345         units/user/exit.service
346
347 EXTRA_DIST += \
348         units/getty@.service.m4 \
349         units/serial-getty@.service.m4 \
350         units/console-shell.service.m4 \
351         units/rescue.service.m4 \
352         units/systemd-initctl.service.in \
353         units/systemd-stdout-syslog-bridge.service.in \
354         units/systemd-shutdownd.service.in \
355         units/systemd-kmsg-syslogd.service.in \
356         units/systemd-modules-load.service.in \
357         units/systemd-remount-api-vfs.service.in \
358         units/systemd-update-utmp-runlevel.service.in \
359         units/systemd-update-utmp-shutdown.service.in \
360         units/systemd-tmpfiles-setup.service.in \
361         units/systemd-tmpfiles-clean.service.in \
362         units/systemd-ask-password-wall.service.in \
363         units/systemd-ask-password-console.service.in \
364         units/systemd-sysctl.service.in \
365         units/halt.service.in \
366         units/poweroff.service.in \
367         units/reboot.service.in \
368         units/kexec.service.in \
369         units/user/exit.service.in \
370         units/fsck@.service.in \
371         units/fsck-root.service.in \
372         units/user@.service.in \
373         systemd.pc.in \
374         introspect.awk \
375         src/73-seat-late.rules.in \
376         src/99-systemd.rules.in \
377         man/custom-html.xsl
378
379 if TARGET_FEDORA
380 dist_systemunit_DATA += \
381         units/fedora/prefdm.service \
382         units/fedora/rc-local.service \
383         units/fedora/halt-local.service
384 systemgenerator_PROGRAMS += \
385         systemd-rc-local-generator
386 endif
387
388 if TARGET_MANDRIVA
389 dist_systemunit_DATA += \
390         units/mandriva/prefdm.service \
391         units/fedora/rc-local.service \
392         units/fedora/halt-local.service
393 systemgenerator_PROGRAMS += \
394         systemd-rc-local-generator
395 endif
396
397 if TARGET_FRUGALWARE
398 dist_systemunit_DATA += \
399         units/frugalware/display-manager.service
400 endif
401
402 if TARGET_SUSE
403 dist_systemunit_DATA += \
404         units/suse/rc-local.service \
405         units/suse/halt-local.service
406 systemgenerator_PROGRAMS += \
407         systemd-rc-local-generator
408 endif
409
410 if TARGET_MAGEIA
411 dist_systemunit_DATA += \
412         units/mageia/prefdm.service \
413         units/fedora/rc-local.service \
414         units/fedora/halt-local.service
415 systemgenerator_PROGRAMS += \
416         systemd-rc-local-generator
417 endif
418
419 if HAVE_PLYMOUTH
420 dist_systemunit_DATA += \
421         units/plymouth-start.service \
422         units/plymouth-read-write.service \
423         units/plymouth-quit.service \
424         units/plymouth-quit-wait.service \
425         units/plymouth-reboot.service \
426         units/plymouth-kexec.service \
427         units/plymouth-poweroff.service \
428         units/plymouth-halt.service \
429         units/systemd-ask-password-plymouth.path
430
431 nodist_systemunit_DATA += \
432         units/systemd-ask-password-plymouth.service
433
434 EXTRA_DIST += \
435         units/systemd-ask-password-plymouth.service.in
436 endif
437
438 dist_doc_DATA = \
439         README \
440         LICENSE \
441         DISTRO_PORTING
442
443 pkgconfigdata_DATA = \
444         systemd.pc
445
446 # First passed through sed, followed by intltool
447 polkitpolicy_in_in_files = \
448         src/org.freedesktop.systemd1.policy.in.in
449
450 nodist_polkitpolicy_DATA = \
451         $(polkitpolicy_in_files:.policy.in=.policy) \
452         $(polkitpolicy_in_in_files:.policy.in.in=.policy)
453
454 EXTRA_DIST += \
455         $(polkitpolicy_in_files) \
456         $(polkitpolicy_in_in_files)
457
458 @INTLTOOL_POLICY_RULE@
459
460 noinst_LTLIBRARIES = \
461         libsystemd-basic.la \
462         libsystemd-core.la
463
464 libsystemd_basic_la_SOURCES = \
465         src/util.c \
466         src/virt.c \
467         src/label.c \
468         src/hashmap.c \
469         src/set.c \
470         src/strv.c \
471         src/conf-parser.c \
472         src/socket-util.c \
473         src/log.c \
474         src/ratelimit.c \
475         src/exit-status.c
476
477 libsystemd_basic_la_CFLAGS = \
478         $(AM_CFLAGS) \
479         $(SELINUX_CFLAGS)
480
481 libsystemd_basic_la_LIBADD = \
482         $(SELINUX_LIBS) \
483         $(CAP_LIBS)
484
485 libsystemd_core_la_SOURCES = \
486         src/unit.c \
487         src/job.c \
488         src/manager.c \
489         src/path-lookup.c \
490         src/load-fragment.c \
491         src/service.c \
492         src/automount.c \
493         src/mount.c \
494         src/swap.c \
495         src/device.c \
496         src/target.c \
497         src/snapshot.c \
498         src/socket.c \
499         src/timer.c \
500         src/path.c \
501         src/load-dropin.c \
502         src/execute.c \
503         src/utmp-wtmp.c \
504         src/dbus.c \
505         src/dbus-manager.c \
506         src/dbus-unit.c \
507         src/dbus-job.c \
508         src/dbus-service.c \
509         src/dbus-socket.c \
510         src/dbus-timer.c \
511         src/dbus-target.c \
512         src/dbus-mount.c \
513         src/dbus-automount.c \
514         src/dbus-swap.c \
515         src/dbus-snapshot.c \
516         src/dbus-device.c \
517         src/dbus-execute.c \
518         src/dbus-path.c \
519         src/cgroup.c \
520         src/mount-setup.c \
521         src/hostname-setup.c \
522         src/selinux-setup.c \
523         src/loopback-setup.c \
524         src/kmod-setup.c \
525         src/locale-setup.c \
526         src/machine-id-setup.c \
527         src/specifier.c \
528         src/unit-name.c \
529         src/fdset.c \
530         src/namespace.c \
531         src/tcpwrap.c \
532         src/cgroup-util.c \
533         src/condition.c \
534         src/dbus-common.c \
535         src/sd-daemon.c \
536         src/install.c \
537         src/cgroup-attr.c \
538         src/sd-id128.c
539
540 nodist_libsystemd_core_la_SOURCES = \
541         src/load-fragment-gperf.c \
542         src/load-fragment-gperf-nulstr.c
543
544 EXTRA_DIST += \
545         src/load-fragment-gperf.gperf.m4
546
547 libsystemd_core_la_CFLAGS = \
548         $(AM_CFLAGS) \
549         $(DBUS_CFLAGS) \
550         $(UDEV_CFLAGS) \
551         $(LIBWRAP_CFLAGS) \
552         $(PAM_CFLAGS) \
553         $(AUDIT_CFLAGS)
554
555 libsystemd_core_la_LIBADD = \
556         libsystemd-basic.la \
557         $(DBUS_LIBS) \
558         $(UDEV_LIBS) \
559         $(LIBWRAP_LIBS) \
560         $(PAM_LIBS) \
561         $(AUDIT_LIBS) \
562         $(CAP_LIBS)
563
564 # This is needed because automake is buggy in how it generates the
565 # rules for C programs, but not Vala programs.  We therefore can't
566 # list the .h files as dependencies if we want make dist to work.
567
568 EXTRA_DIST += \
569         ${libsystemd_basic_la_SOURCES:.c=.h} \
570         ${libsystemd_core_la_SOURCES:.c=.h} \
571         src/macro.h \
572         src/def.h \
573         src/ioprio.h \
574         src/missing.h \
575         src/list.h \
576         src/securebits.h \
577         src/linux/auto_dev-ioctl.h \
578         src/linux/fanotify.h \
579         src/initreq.h \
580         src/special.h \
581         src/dbus-common.h \
582         src/bus-errors.h \
583         src/cgroup-show.h \
584         src/build.h \
585         src/shutdownd.h \
586         src/umount.h \
587         src/ask-password-api.h \
588         src/pager.h \
589         src/sysfs-show.h \
590         src/polkit.h \
591         src/dbus-loop.h \
592         src/spawn-agent.h \
593         src/acl-util.h
594
595 MANPAGES = \
596         man/systemd.1 \
597         man/systemctl.1 \
598         man/systemadm.1 \
599         man/systemd-cgls.1 \
600         man/systemd-nspawn.1 \
601         man/systemd-tmpfiles.8 \
602         man/systemd-notify.1 \
603         man/systemd.unit.5 \
604         man/systemd.service.5 \
605         man/systemd.socket.5 \
606         man/systemd.mount.5 \
607         man/systemd.automount.5 \
608         man/systemd.swap.5 \
609         man/systemd.timer.5 \
610         man/systemd.path.5 \
611         man/systemd.target.5 \
612         man/systemd.device.5 \
613         man/systemd.snapshot.5 \
614         man/systemd.exec.5 \
615         man/daemon.7 \
616         man/runlevel.8 \
617         man/telinit.8 \
618         man/halt.8 \
619         man/shutdown.8 \
620         man/pam_systemd.8 \
621         man/systemd.conf.5 \
622         man/tmpfiles.d.5 \
623         man/hostname.5 \
624         man/timezone.5 \
625         man/machine-id.5 \
626         man/locale.conf.5 \
627         man/os-release.5 \
628         man/machine-info.5 \
629         man/modules-load.d.5 \
630         man/sysctl.d.5 \
631         man/systemd-ask-password.1
632
633 MANPAGES_ALIAS = \
634         man/reboot.8 \
635         man/poweroff.8 \
636         man/init.1
637
638 man/reboot.8: man/halt.8
639 man/poweroff.8: man/halt.8
640 man/init.1: man/systemd.1
641
642 dist_man_MANS = \
643         $(MANPAGES) \
644         $(MANPAGES_ALIAS)
645
646 nodist_man_MANS = \
647         man/systemd.special.7
648
649 XML_FILES = \
650         ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
651
652 XML_IN_FILES = \
653         ${patsubst %.1,%.xml.in,${patsubst %.3,%.xml.in,${patsubst %.5,%.xml.in,${patsubst %.7,%.xml.in,${patsubst %.8,%.xml.in,$(nodist_man_MANS)}}}}}
654
655 dist_noinst_DATA = \
656         ${XML_FILES:.xml=.html}
657
658 nodist_noinst_DATA = \
659         ${XML_IN_FILES:.xml.in=.html}
660
661 EXTRA_DIST += \
662         $(XML_FILES) \
663         $(XML_IN_FILES) \
664         ${nodist_man_MANS:=.in} \
665         ${XML_IN_FILES:.xml.in=.html.in}
666
667 systemd_SOURCES = \
668         src/main.c
669
670 systemd_CFLAGS = \
671         $(AM_CFLAGS) \
672         $(DBUS_CFLAGS) \
673         $(UDEV_CFLAGS)
674
675 systemd_LDADD = \
676         libsystemd-core.la
677
678 test_engine_SOURCES = \
679         src/test-engine.c
680
681 test_engine_CFLAGS = $(systemd_CFLAGS)
682 test_engine_LDADD = $(systemd_LDADD)
683
684 test_job_type_SOURCES = \
685         src/test-job-type.c
686
687 test_job_type_CFLAGS = $(systemd_CFLAGS)
688 test_job_type_LDADD = $(systemd_LDADD)
689
690 test_ns_SOURCES = \
691         src/test-ns.c
692
693 test_ns_CFLAGS = $(systemd_CFLAGS)
694 test_ns_LDADD = $(systemd_LDADD)
695
696 test_loopback_SOURCES = \
697         src/test-loopback.c \
698         src/loopback-setup.c
699
700 test_loopback_LDADD = \
701         libsystemd-basic.la
702
703 test_hostname_SOURCES = \
704         src/test-hostname.c \
705         src/hostname-setup.c
706
707 test_hostname_LDADD = \
708         libsystemd-basic.la
709
710 test_daemon_SOURCES = \
711         src/test-daemon.c
712
713 test_daemon_LDADD = \
714         libsystemd-basic.la \
715         libsystemd-daemon.la
716
717 test_cgroup_SOURCES = \
718         src/test-cgroup.c \
719         src/cgroup-util.c
720
721 test_cgroup_LDADD = \
722         libsystemd-basic.la
723
724 test_env_replace_SOURCES = \
725         src/test-env-replace.c
726
727 test_env_replace_LDADD = \
728         libsystemd-basic.la
729
730 test_strv_SOURCES = \
731         src/test-strv.c \
732         src/specifier.c
733
734 test_strv_LDADD = \
735         libsystemd-basic.la
736
737 test_install_SOURCES = \
738         src/test-install.c \
739         src/install.c \
740         src/path-lookup.c \
741         src/unit-name.c
742
743 test_install_CFLAGS = \
744         $(AM_CFLAGS) \
745         $(DBUS_CFLAGS)
746
747 test_install_LDADD = \
748         libsystemd-basic.la
749
750 systemd_stdout_syslog_bridge_SOURCES = \
751         src/stdout-syslog-bridge.c \
752         src/tcpwrap.c
753
754 systemd_stdout_syslog_bridge_LDADD = \
755         libsystemd-basic.la \
756         libsystemd-daemon.la \
757         $(LIBWRAP_LIBS)
758
759 systemd_initctl_SOURCES = \
760         src/initctl.c \
761         src/dbus-common.c
762
763 systemd_initctl_CFLAGS = \
764         $(AM_CFLAGS) \
765         $(DBUS_CFLAGS)
766
767 systemd_initctl_LDADD = \
768         libsystemd-basic.la \
769         libsystemd-daemon.la \
770         $(DBUS_LIBS)
771
772 systemd_update_utmp_SOURCES = \
773         src/update-utmp.c \
774         src/dbus-common.c \
775         src/utmp-wtmp.c
776
777 systemd_update_utmp_CFLAGS = \
778         $(AM_CFLAGS) \
779         $(DBUS_CFLAGS) \
780         $(AUDIT_CFLAGS)
781
782 systemd_update_utmp_LDADD = \
783         libsystemd-basic.la \
784         $(DBUS_LIBS) \
785         $(AUDIT_LIBS)
786
787 systemd_shutdownd_SOURCES = \
788         src/utmp-wtmp.c \
789         src/shutdownd.c
790
791 systemd_shutdownd_CFLAGS = \
792         $(AM_CFLAGS)
793
794 systemd_shutdownd_LDADD = \
795         libsystemd-basic.la \
796         libsystemd-daemon.la
797
798 systemd_shutdown_SOURCES = \
799         src/mount-setup.c \
800         src/umount.c \
801         src/shutdown.c
802
803 systemd_shutdown_CFLAGS = \
804         $(AM_CFLAGS) \
805         $(UDEV_CFLAGS)
806
807 systemd_shutdown_LDADD = \
808         libsystemd-basic.la \
809         $(UDEV_LIBS)
810
811 systemd_modules_load_SOURCES = \
812         src/modules-load.c
813
814 systemd_modules_load_LDADD = \
815         libsystemd-basic.la
816
817 systemd_tmpfiles_SOURCES = \
818         src/tmpfiles.c
819
820 systemd_tmpfiles_LDADD = \
821         libsystemd-basic.la
822
823 systemd_machine_id_setup_SOURCES = \
824         src/machine-id-setup.c \
825         src/machine-id-main.c \
826         src/sd-id128.c
827
828 systemd_machine_id_setup_LDADD = \
829         libsystemd-basic.la
830
831 systemd_sysctl_SOURCES = \
832         src/sysctl.c
833
834 systemd_sysctl_LDADD = \
835         libsystemd-basic.la
836
837 systemd_fsck_SOURCES = \
838         src/fsck.c \
839         src/dbus-common.c
840
841 systemd_fsck_CFLAGS = \
842         $(AM_CFLAGS) \
843         $(UDEV_CFLAGS) \
844         $(DBUS_CFLAGS)
845
846 systemd_fsck_LDADD = \
847         libsystemd-basic.la \
848         $(UDEV_LIBS) \
849         $(DBUS_LIBS)
850
851 systemd_timestamp_SOURCES = \
852         src/timestamp.c
853
854 systemd_timestamp_LDADD = \
855         libsystemd-basic.la
856
857 systemd_ac_power_SOURCES = \
858         src/ac-power.c
859
860 systemd_ac_power_CFLAGS = \
861         $(AM_CFLAGS) \
862         $(UDEV_CFLAGS)
863
864 systemd_ac_power_LDADD = \
865         libsystemd-basic.la \
866         $(UDEV_LIBS)
867
868 systemd_detect_virt_SOURCES = \
869         src/detect-virt.c
870
871 systemd_detect_virt_LDADD = \
872         libsystemd-basic.la
873
874 systemd_getty_generator_SOURCES = \
875         src/getty-generator.c \
876         src/unit-name.c
877
878 systemd_getty_generator_LDADD = \
879         libsystemd-basic.la
880
881 systemd_rc_local_generator_SOURCES = \
882         src/rc-local-generator.c
883
884 systemd_rc_local_generator_LDADD = \
885         libsystemd-basic.la
886
887 systemd_remount_api_vfs_SOURCES = \
888         src/remount-api-vfs.c \
889         src/mount-setup.c \
890         src/exit-status.c
891
892 systemd_remount_api_vfs_LDADD = \
893         libsystemd-basic.la
894
895 systemd_cgroups_agent_SOURCES = \
896         src/cgroups-agent.c \
897         src/dbus-common.c
898
899 systemd_cgroups_agent_CFLAGS = \
900         $(AM_CFLAGS) \
901         $(DBUS_CFLAGS)
902
903 systemd_cgroups_agent_LDADD = \
904         libsystemd-basic.la \
905         $(DBUS_LIBS)
906
907 systemd_kmsg_syslogd_SOURCES = \
908         src/kmsg-syslogd.c \
909         src/fdset.c
910
911 systemd_kmsg_syslogd_LDADD = \
912         libsystemd-basic.la \
913         libsystemd-daemon.la
914
915 systemctl_SOURCES = \
916         src/systemctl.c \
917         src/utmp-wtmp.c \
918         src/dbus-common.c \
919         src/path-lookup.c \
920         src/cgroup-show.c \
921         src/cgroup-util.c \
922         src/exit-status.c \
923         src/unit-name.c \
924         src/pager.c \
925         src/install.c \
926         src/spawn-agent.c
927
928 systemctl_CFLAGS = \
929         $(AM_CFLAGS) \
930         $(DBUS_CFLAGS)
931
932 systemctl_LDADD = \
933         libsystemd-basic.la \
934         libsystemd-daemon.la \
935         $(DBUS_LIBS)
936
937 systemd_notify_SOURCES = \
938         src/notify.c \
939         src/readahead/sd-readahead.c
940
941 systemd_notify_LDADD = \
942         libsystemd-basic.la \
943         libsystemd-daemon.la
944
945 systemd_ask_password_SOURCES = \
946         src/ask-password.c \
947         src/ask-password-api.c
948
949 systemd_ask_password_LDADD = \
950         libsystemd-basic.la
951
952 systemd_reply_password_SOURCES = \
953         src/reply-password.c
954
955 systemd_reply_password_LDADD = \
956         libsystemd-basic.la
957
958 systemd_cgls_SOURCES = \
959         src/cgls.c \
960         src/cgroup-show.c \
961         src/cgroup-util.c \
962         src/pager.c
963
964 systemd_cgls_LDADD = \
965         libsystemd-basic.la
966
967 systemd_nspawn_SOURCES = \
968         src/nspawn.c \
969         src/cgroup-util.c \
970         src/loopback-setup.c
971
972 systemd_nspawn_LDADD = \
973         libsystemd-basic.la \
974         libsystemd-daemon.la
975
976 systemd_stdio_bridge_SOURCES = \
977         src/bridge.c
978
979 systemd_stdio_bridge_LDADD = \
980         libsystemd-basic.la
981
982 systemadm_SOURCES = \
983         src/systemadm.vala \
984         src/systemd-interfaces.vala \
985         src/wraplabel.vala
986
987 systemadm_CFLAGS = \
988         $(AM_CFLAGS) \
989         $(GTK_CFLAGS) \
990         -Wno-unused-variable \
991         -Wno-unused-function \
992         -Wno-shadow \
993         -Wno-format-nonliteral
994
995 systemadm_VALAFLAGS = \
996         --pkg=posix \
997         --pkg=gtk+-2.0 \
998         --pkg=gee-1.0 \
999         -g
1000
1001 systemadm_LDADD = \
1002         $(GTK_LIBS)
1003
1004 systemd_gnome_ask_password_agent_SOURCES = \
1005         src/gnome-ask-password-agent.vala
1006
1007 systemd_gnome_ask_password_agent_CFLAGS = \
1008         $(AM_CFLAGS) \
1009         $(LIBNOTIFY_CFLAGS) \
1010         $(GTK_CFLAGS) \
1011         -Wno-unused-variable \
1012         -Wno-unused-function \
1013         -Wno-shadow \
1014         -Wno-format-nonliteral
1015
1016 systemd_gnome_ask_password_agent_VALAFLAGS = \
1017         --pkg=posix \
1018         --pkg=gtk+-2.0 \
1019         --pkg=linux \
1020         --pkg=gio-unix-2.0 \
1021         --pkg=libnotify \
1022         -g
1023
1024 systemd_gnome_ask_password_agent_LDADD = \
1025         $(LIBNOTIFY_LIBS) \
1026         $(GTK_LIBS)
1027
1028 systemd_tty_ask_password_agent_SOURCES = \
1029         src/tty-ask-password-agent.c \
1030         src/ask-password-api.c \
1031         src/utmp-wtmp.c
1032
1033 systemd_tty_ask_password_agent_LDADD = \
1034         libsystemd-basic.la
1035
1036 # ------------------------------------------------------------------------------
1037 libsystemd_daemon_la_SOURCES = \
1038         src/sd-daemon.c
1039
1040 libsystemd_daemon_la_CFLAGS = \
1041         $(AM_CFLAGS) \
1042         -fvisibility=hidden \
1043         -DSD_EXPORT_SYMBOLS
1044
1045 libsystemd_daemon_la_LDFLAGS = \
1046         -shared \
1047         -version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE) \
1048         -Wl,--version-script=$(top_srcdir)/src/libsystemd-daemon.sym
1049
1050 pkginclude_HEADERS += \
1051         src/sd-daemon.h
1052
1053 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
1054 libsystemd-daemon-install-hook:
1055         if test "$(libdir)" != "$(rootlibdir)"; then \
1056                 mkdir -p $(DESTDIR)$(rootlibdir) && \
1057                 so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-daemon.so) && \
1058                 so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
1059                 ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-daemon.so && \
1060                 mv $(DESTDIR)$(libdir)/libsystemd-daemon.so.* $(DESTDIR)$(rootlibdir); \
1061         fi
1062
1063 INSTALL_EXEC_HOOKS += \
1064         libsystemd-daemon-install-hook
1065
1066 libsystemd-daemon-uninstall-hook:
1067         rm -f $(DESTDIR)$(rootlibdir)/libsystemd-daemon.so*
1068
1069 UNINSTALL_EXEC_HOOKS += \
1070         libsystemd-daemon-uninstall-hook
1071
1072 lib_LTLIBRARIES += \
1073         libsystemd-daemon.la
1074
1075 pkgconfiglib_DATA += \
1076         libsystemd-daemon.pc
1077
1078 MANPAGES += \
1079         man/sd-daemon.7 \
1080         man/sd_notify.3 \
1081         man/sd_listen_fds.3 \
1082         man/sd_is_fifo.3 \
1083         man/sd_booted.3
1084
1085 MANPAGES_ALIAS += \
1086         man/sd_is_socket.3 \
1087         man/sd_is_socket_unix.3 \
1088         man/sd_is_socket_inet.3 \
1089         man/sd_is_mq.3 \
1090         man/sd_notifyf.3
1091
1092 man/sd_is_socket.3: man/sd_is_fifo.3
1093 man/sd_is_socket_unix.3: man/sd_is_fifo.3
1094 man/sd_is_socket_inet.3: man/sd_is_fifo.3
1095 man/sd_is_mq.3: man/sd_is_fifo.3
1096 man/sd_notifyf.3: man/sd_notify.3
1097
1098 EXTRA_DIST += \
1099         libsystemd-daemon.pc.in \
1100         src/libsystemd-daemon.sym
1101
1102 # ------------------------------------------------------------------------------
1103 libsystemd_id128_la_SOURCES = \
1104         src/sd-id128.c
1105
1106 libsystemd_id128_la_CFLAGS = \
1107         $(AM_CFLAGS) \
1108         -fvisibility=hidden
1109
1110 libsystemd_id128_la_LDFLAGS = \
1111         -shared \
1112         -version-info $(LIBSYSTEMD_ID128_CURRENT):$(LIBSYSTEMD_ID128_REVISION):$(LIBSYSTEMD_ID128_AGE) \
1113         -Wl,--version-script=$(top_srcdir)/src/libsystemd-id128.sym
1114
1115 libsystemd_id128_la_LIBADD = \
1116         libsystemd-basic.la
1117
1118 test_id128_SOURCES = \
1119         src/test-id128.c \
1120         src/sd-id128.c
1121
1122 test_id128_LDADD = \
1123         libsystemd-basic.la
1124
1125 noinst_PROGRAMS += \
1126         test-id128
1127
1128 pkginclude_HEADERS += \
1129         src/sd-id128.h
1130
1131 lib_LTLIBRARIES += \
1132         libsystemd-id128.la
1133
1134 pkgconfiglib_DATA += \
1135         libsystemd-id128.pc
1136
1137 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
1138 libsystemd-id128-install-hook:
1139         if test "$(libdir)" != "$(rootlibdir)"; then \
1140                 mkdir -p $(DESTDIR)$(rootlibdir) && \
1141                 so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-id128.so) && \
1142                 so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
1143                 ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-id128.so && \
1144                 mv $(DESTDIR)$(libdir)/libsystemd-id128.so.* $(DESTDIR)$(rootlibdir); \
1145         fi
1146
1147 INSTALL_EXEC_HOOKS += \
1148         libsystemd-id128-install-hook
1149
1150 libsystemd-id128-uninstall-hook:
1151         rm -f $(DESTDIR)$(rootlibdir)/libsystemd-id128.so*
1152
1153 UNINSTALL_EXEC_HOOKS += \
1154         libsystemd-id128-uninstall-hook
1155
1156 EXTRA_DIST += \
1157         libsystemd-id128.pc.in \
1158         src/libsystemd-id128.sym
1159
1160 # ------------------------------------------------------------------------------
1161 systemd_journald_SOURCES = \
1162         src/journal/journald.c \
1163         src/journal/sd-journal.c \
1164         src/journal/journal-file.c \
1165         src/journal/lookup3.c \
1166         src/journal/journal-rate-limit.c \
1167         src/sd-id128.c \
1168         src/acl-util.c \
1169         src/cgroup-util.c
1170
1171 systemd_journald_CFLAGS = \
1172         $(AM_CFLAGS) \
1173         $(ACL_CFLAGS)
1174
1175 systemd_journald_LDADD = \
1176         libsystemd-basic.la \
1177         libsystemd-daemon.la \
1178         $(ACL_LIBS)
1179
1180 if HAVE_XZ
1181 systemd_journald_SOURCES += \
1182         src/journal/compress.c
1183 systemd_journald_CFLAGS += \
1184         $(XZ_CFLAGS)
1185 systemd_journald_LDADD += \
1186         $(XZ_LIBS)
1187 endif
1188
1189 systemd_journalctl_SOURCES = \
1190         src/journal/journalctl.c \
1191         src/journal/sd-journal.c \
1192         src/journal/journal-file.c \
1193         src/journal/lookup3.c \
1194         src/sd-id128.c \
1195         src/pager.c
1196
1197 systemd_journalctl_LDADD = \
1198         libsystemd-basic.la
1199
1200 if HAVE_XZ
1201 systemd_journalctl_SOURCES += \
1202         src/journal/compress.c
1203 systemd_journalctl_CFLAGS = \
1204         $(XZ_CFLAGS)
1205 systemd_journalctl_LDADD += \
1206         $(XZ_LIBS)
1207 endif
1208
1209 test_journal_SOURCES = \
1210         src/journal/test-journal.c \
1211         src/journal/sd-journal.c \
1212         src/journal/journal-file.c \
1213         src/journal/lookup3.c \
1214         src/journal/journal-send.c \
1215         src/sd-id128.c
1216
1217 test_journal_LDADD = \
1218         libsystemd-basic.la
1219
1220 if HAVE_XZ
1221 test_journal_SOURCES += \
1222         src/journal/compress.c
1223
1224 test_journal_CFLAGS = \
1225         $(XZ_CFLAGS)
1226
1227 test_journal_LDADD += \
1228         $(XZ_LIBS)
1229 endif
1230
1231 libsystemd_journal_la_SOURCES = \
1232         src/journal/sd-journal.c \
1233         src/journal/journal-file.c \
1234         src/journal/compress.c \
1235         src/journal/lookup3.c \
1236         src/journal/journal-send.c
1237
1238 libsystemd_journal_la_CFLAGS = \
1239         $(AM_CFLAGS) \
1240         $(XZ_CFLAGS) \
1241         -fvisibility=hidden
1242
1243 libsystemd_journal_la_LDFLAGS = \
1244         -shared \
1245         -version-info $(LIBSYSTEMD_JOURNAL_CURRENT):$(LIBSYSTEMD_JOURNAL_REVISION):$(LIBSYSTEMD_JOURNAL_AGE) \
1246         -Wl,--version-script=$(top_srcdir)/src/journal/libsystemd-journal.sym
1247
1248 libsystemd_journal_la_LIBADD = \
1249         libsystemd-basic.la \
1250         libsystemd-id128.la \
1251         $(XZ_LIBS)
1252
1253 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
1254 libsystemd-journal-install-hook:
1255         if test "$(libdir)" != "$(rootlibdir)"; then \
1256                 mkdir -p $(DESTDIR)$(rootlibdir) && \
1257                 so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-journal.so) && \
1258                 so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
1259                 ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-journal.so && \
1260                 mv $(DESTDIR)$(libdir)/libsystemd-journal.so.* $(DESTDIR)$(rootlibdir); \
1261         fi
1262
1263 INSTALL_EXEC_HOOKS += \
1264         libsystemd-journal-install-hook
1265
1266 libsystemd-journal-uninstall-hook:
1267         rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
1268
1269 UNINSTALL_EXEC_HOOKS += \
1270         libsystemd-journal-uninstall-hook
1271
1272 noinst_PROGRAMS += \
1273         test-journal
1274
1275 pkginclude_HEADERS += \
1276         src/journal/sd-journal.h
1277
1278 lib_LTLIBRARIES += \
1279         libsystemd-journal.la
1280
1281 rootlibexec_PROGRAMS += \
1282         systemd-journald
1283
1284 rootbin_PROGRAMS += \
1285         systemd-journalctl
1286
1287 dist_systemunit_DATA += \
1288         units/systemd-journald.socket
1289
1290 nodist_systemunit_DATA += \
1291         units/systemd-journald.service
1292
1293 pkgconfiglib_DATA += \
1294         src/journal/libsystemd-journal.pc
1295
1296 journal-install-data-hook:
1297         ( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
1298                 rm -f systemd-journald.socket && \
1299                 $(LN_S) ../systemd-journald.socket )
1300
1301 INSTALL_DATA_HOOKS += \
1302         journal-install-data-hook
1303
1304 EXTRA_DIST += \
1305         src/journal/journal-def.h \
1306         src/journal/journal-internal.h \
1307         src/journal/journal-file.h \
1308         src/journal/lookup3.h \
1309         src/journal/compress.h \
1310         src/journal/journal-rate-limit.h \
1311         src/journal/libsystemd-journal.pc.in \
1312         src/journal/libsystemd-journal.sym \
1313         units/systemd-journald.service.in
1314
1315 # ------------------------------------------------------------------------------
1316 if ENABLE_BINFMT
1317 systemd_binfmt_SOURCES = \
1318         src/binfmt/binfmt.c
1319
1320 systemd_binfmt_LDADD = \
1321         libsystemd-basic.la
1322
1323 rootlibexec_PROGRAMS += \
1324         systemd-binfmt
1325
1326 dist_systemunit_DATA += \
1327         units/proc-sys-fs-binfmt_misc.automount \
1328         units/proc-sys-fs-binfmt_misc.mount
1329
1330 nodist_systemunit_DATA += \
1331         units/systemd-binfmt.service
1332
1333 binfmt-install-data-hook:
1334         $(MKDIR_P) -m 0755 \
1335                 $(DESTDIR)$(prefix)/lib/binfmt.d \
1336                 $(DESTDIR)$(sysconfdir)/binfmt.d
1337         ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
1338                 rm -f systemd-binfmt.service \
1339                         proc-sys-fs-binfmt_misc.automount && \
1340                 $(LN_S) ../systemd-binfmt.service systemd-binfmt.service && \
1341                 $(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount )
1342
1343 INSTALL_DATA_HOOKS += \
1344         binfmt-install-data-hook
1345
1346 MANPAGES += \
1347         man/binfmt.d.5
1348
1349 EXTRA_DIST += \
1350         units/systemd-binfmt.service.in
1351 endif
1352
1353 # ------------------------------------------------------------------------------
1354 if ENABLE_VCONSOLE
1355 systemd_vconsole_setup_SOURCES = \
1356         src/vconsole/vconsole-setup.c
1357
1358 systemd_vconsole_setup_LDADD = \
1359         libsystemd-basic.la
1360
1361 rootlibexec_PROGRAMS += \
1362         systemd-vconsole-setup
1363
1364 nodist_systemunit_DATA += \
1365         units/systemd-vconsole-setup.service
1366
1367 vconsole-install-data-hook:
1368         ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
1369                 rm -f systemd-vconsole-setup.service && \
1370                 $(LN_S) ../systemd-vconsole-setup.service systemd-vconsole-setup.service )
1371
1372 INSTALL_DATA_HOOKS += \
1373         vconsole-install-data-hook
1374
1375 MANPAGES += \
1376         man/vconsole.conf.5
1377
1378 EXTRA_DIST += \
1379         units/systemd-vconsole-setup.service.in
1380 endif
1381
1382 # ------------------------------------------------------------------------------
1383 if ENABLE_READAHEAD
1384 systemd_readahead_collect_SOURCES = \
1385         src/readahead/readahead-collect.c \
1386         src/readahead/readahead-common.c
1387
1388 systemd_readahead_collect_LDADD = \
1389         libsystemd-basic.la \
1390         libsystemd-daemon.la \
1391         $(UDEV_LIBS)
1392
1393 systemd_readahead_collect_CFLAGS = \
1394         $(AM_CFLAGS) \
1395         $(UDEV_CFLAGS)
1396
1397 systemd_readahead_replay_SOURCES = \
1398         src/readahead/readahead-replay.c \
1399         src/readahead/readahead-common.c
1400
1401 systemd_readahead_replay_CFLAGS = \
1402         $(AM_CFLAGS) \
1403         $(UDEV_CFLAGS)
1404
1405 systemd_readahead_replay_LDADD = \
1406         libsystemd-basic.la \
1407         libsystemd-daemon.la \
1408         $(UDEV_LIBS)
1409
1410 rootlibexec_PROGRAMS += \
1411         systemd-readahead-collect \
1412         systemd-readahead-replay
1413
1414 dist_systemunit_DATA += \
1415         units/systemd-readahead-done.timer
1416
1417 nodist_systemunit_DATA += \
1418         units/systemd-readahead-collect.service \
1419         units/systemd-readahead-replay.service \
1420         units/systemd-readahead-done.service
1421
1422 EXTRA_DIST += \
1423         src/readahead/sd-readahead.h \
1424         src/readahead/readahead-common.h \
1425         units/systemd-readahead-collect.service.in \
1426         units/systemd-readahead-replay.service.in \
1427         units/systemd-readahead-done.service.in
1428
1429 MANPAGES += \
1430         man/sd_readahead.3 \
1431         man/sd-readahead.7
1432 endif
1433
1434 # ------------------------------------------------------------------------------
1435 if ENABLE_QUOTACHECK
1436 rootlibexec_PROGRAMS += \
1437         systemd-quotacheck
1438
1439 nodist_systemunit_DATA += \
1440         units/quotacheck.service
1441
1442 EXTRA_DIST += \
1443         units/quotacheck.service.in
1444
1445 systemd_quotacheck_SOURCES = \
1446         src/quotacheck.c
1447
1448 systemd_quotacheck_LDADD = \
1449         libsystemd-basic.la
1450 endif
1451
1452 # ------------------------------------------------------------------------------
1453 if ENABLE_RANDOMSEED
1454 rootlibexec_PROGRAMS += \
1455         systemd-random-seed
1456
1457 nodist_systemunit_DATA += \
1458         units/systemd-random-seed-save.service \
1459         units/systemd-random-seed-load.service
1460
1461 EXTRA_DIST += \
1462         units/systemd-random-seed-save.service.in \
1463         units/systemd-random-seed-load.service.in
1464
1465 systemd_random_seed_SOURCES = \
1466         src/random-seed.c
1467
1468 systemd_random_seed_LDADD = \
1469         libsystemd-basic.la
1470
1471 randomseed-install-data-hook:
1472         ( cd $(DESTDIR)$(systemunitdir)/shutdown.target.wants && \
1473                 rm -f systemd-random-seed-save.service && \
1474                 $(LN_S) ../systemd-random-seed-save.service systemd-random-seed-save.service )
1475         ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
1476                 rm -f systemd-random-seed-load.service && \
1477                 $(LN_S) ../systemd-random-seed-load.service systemd-random-seed-load.service )
1478
1479 INSTALL_DATA_HOOKS += \
1480         randomseed-install-data-hook
1481 endif
1482
1483 # ------------------------------------------------------------------------------
1484 if HAVE_LIBCRYPTSETUP
1485 rootlibexec_PROGRAMS += \
1486         systemd-cryptsetup
1487
1488 systemgenerator_PROGRAMS += \
1489         systemd-cryptsetup-generator
1490
1491 dist_systemunit_DATA += \
1492         units/cryptsetup.target
1493
1494 systemd_cryptsetup_SOURCES = \
1495         src/cryptsetup/cryptsetup.c \
1496         src/ask-password-api.c
1497
1498 systemd_cryptsetup_CFLAGS = \
1499         $(AM_CFLAGS) \
1500         $(LIBCRYPTSETUP_CFLAGS) \
1501         $(UDEV_CFLAGS)
1502
1503 systemd_cryptsetup_LDADD = \
1504         $(LIBCRYPTSETUP_LIBS) \
1505         $(UDEV_LIBS) \
1506         libsystemd-basic.la
1507
1508 systemd_cryptsetup_generator_SOURCES = \
1509         src/cryptsetup/cryptsetup-generator.c \
1510         src/unit-name.c
1511
1512 systemd_cryptsetup_generator_LDADD = \
1513         libsystemd-basic.la
1514
1515 cryptsetup-install-data-hook:
1516         ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
1517                 rm -f cryptsetup.target && \
1518                 $(LN_S) ../cryptsetup.target cryptsetup.target )
1519
1520 INSTALL_DATA_HOOKS += \
1521         cryptsetup-install-data-hook
1522 endif
1523
1524 # ------------------------------------------------------------------------------
1525 if ENABLE_HOSTNAMED
1526 systemd_hostnamed_SOURCES = \
1527         src/hostname/hostnamed.c \
1528         src/dbus-common.c \
1529         src/polkit.c
1530
1531 systemd_hostnamed_CFLAGS = \
1532         $(AM_CFLAGS) \
1533         $(DBUS_CFLAGS)
1534
1535 systemd_hostnamed_LDADD = \
1536         libsystemd-basic.la \
1537         libsystemd-daemon.la \
1538         $(DBUS_LIBS)
1539
1540 rootlibexec_PROGRAMS += \
1541         systemd-hostnamed
1542
1543 nodist_systemunit_DATA += \
1544         units/systemd-hostnamed.service
1545
1546 dist_dbuspolicy_DATA += \
1547         src/hostname/org.freedesktop.hostname1.conf
1548
1549 dist_dbussystemservice_DATA += \
1550         src/hostname/org.freedesktop.hostname1.service
1551
1552 polkitpolicy_in_files += \
1553         src/hostname/org.freedesktop.hostname1.policy.in
1554
1555 dbusinterface_DATA += \
1556         org.freedesktop.hostname1.xml
1557
1558 org.freedesktop.hostname1.xml: systemd-hostnamed
1559         $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.hostname1 $< $@.tmp && \
1560                 $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
1561                 $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
1562
1563 hostnamed-install-data-hook:
1564         ( cd $(DESTDIR)$(systemunitdir) && \
1565                 rm -f dbus-org.freedesktop.hostname1.service && \
1566                 $(LN_S) systemd-hostnamed.service dbus-org.freedesktop.hostname1.service )
1567
1568 INSTALL_DATA_HOOKS += \
1569         hostnamed-install-data-hook
1570
1571 EXTRA_DIST += \
1572         units/systemd-hostnamed.service.in
1573 endif
1574
1575 # ------------------------------------------------------------------------------
1576 if ENABLE_LOCALED
1577 systemd_localed_SOURCES = \
1578         src/locale/localed.c \
1579         src/dbus-common.c \
1580         src/polkit.c
1581
1582 systemd_localed_CFLAGS = \
1583         $(AM_CFLAGS) \
1584         $(DBUS_CFLAGS)
1585
1586 systemd_localed_LDADD = \
1587         libsystemd-basic.la \
1588         libsystemd-daemon.la \
1589         $(DBUS_LIBS)
1590
1591 nodist_systemunit_DATA += \
1592         units/systemd-localed.service
1593
1594 rootlibexec_PROGRAMS += \
1595         systemd-localed
1596
1597 dist_dbuspolicy_DATA += \
1598         src/locale/org.freedesktop.locale1.conf
1599
1600 dist_dbussystemservice_DATA += \
1601         src/locale/org.freedesktop.locale1.service
1602
1603 polkitpolicy_in_files += \
1604         src/locale/org.freedesktop.locale1.policy.in
1605
1606 dbusinterface_DATA += \
1607         org.freedesktop.locale1.xml
1608
1609 org.freedesktop.locale1.xml: systemd-localed
1610         $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.locale1 $< $@.tmp && \
1611                 $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
1612                 $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
1613
1614 localed-install-data-hook:
1615         ( cd $(DESTDIR)$(systemunitdir) && \
1616                 rm -f dbus-org.freedesktop.locale1.service && \
1617                 $(LN_S) systemd-localed.service dbus-org.freedesktop.locale1.service )
1618
1619 INSTALL_DATA_HOOKS += \
1620         localed-install-data-hook
1621
1622 EXTRA_DIST += \
1623         units/systemd-localed.service.in
1624
1625 dist_pkgdata_DATA = \
1626         src/locale/kbd-model-map
1627
1628 dist_noinst_SCRIPT = \
1629         src/locale/generate-kbd-model-map
1630
1631 update-kbd-model-map:
1632         src/locale/generate-kbd-model-map > src/locale/kbd-model-map
1633
1634 endif
1635
1636 # ------------------------------------------------------------------------------
1637 if ENABLE_TIMEDATED
1638 systemd_timedated_SOURCES = \
1639         src/timedate/timedated.c \
1640         src/dbus-common.c \
1641         src/polkit.c
1642
1643 systemd_timedated_CFLAGS = \
1644         $(AM_CFLAGS) \
1645         $(DBUS_CFLAGS)
1646
1647 systemd_timedated_LDADD = \
1648         libsystemd-basic.la \
1649         libsystemd-daemon.la \
1650         $(DBUS_LIBS)
1651
1652 rootlibexec_PROGRAMS += \
1653         systemd-timedated
1654
1655 dist_dbussystemservice_DATA += \
1656         src/timedate/org.freedesktop.timedate1.service
1657
1658 dist_dbuspolicy_DATA += \
1659         src/timedate/org.freedesktop.timedate1.conf
1660
1661 nodist_systemunit_DATA += \
1662         units/systemd-timedated.service
1663
1664 polkitpolicy_in_files += \
1665         src/timedate/org.freedesktop.timedate1.policy.in
1666
1667 org.freedesktop.timedate1.xml: systemd-timedated
1668         $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.timedate1 $< $@.tmp && \
1669                 $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
1670                 $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
1671
1672 dbusinterface_DATA += \
1673         org.freedesktop.timedate1.xml
1674
1675 timedated-install-data-hook:
1676         ( cd $(DESTDIR)$(systemunitdir) && \
1677                 rm -f dbus-org.freedesktop.timedate1.service  && \
1678                 $(LN_S) systemd-timedated.service dbus-org.freedesktop.timedate1.service )
1679
1680 INSTALL_DATA_HOOKS += \
1681         timedated-install-data-hook
1682
1683 EXTRA_DIST += \
1684         units/systemd-timedated.service.in
1685 endif
1686
1687 # ------------------------------------------------------------------------------
1688 if ENABLE_LOGIND
1689 systemd_logind_SOURCES = \
1690         src/login/logind.c \
1691         src/login/logind-dbus.c \
1692         src/login/logind-device.c \
1693         src/login/logind-seat.c \
1694         src/login/logind-seat-dbus.c \
1695         src/login/logind-session.c \
1696         src/login/logind-session-dbus.c \
1697         src/login/logind-user.c \
1698         src/login/logind-user-dbus.c \
1699         src/dbus-common.c \
1700         src/dbus-loop.c \
1701         src/cgroup-util.c \
1702         src/polkit.c
1703
1704 nodist_systemd_logind_SOURCES = \
1705         src/login/logind-gperf.c
1706
1707 if HAVE_ACL
1708 systemd_logind_SOURCES += \
1709         src/login/logind-acl.c \
1710         src/acl-util.c
1711 endif
1712
1713 systemd_logind_CFLAGS = \
1714         $(AM_CFLAGS) \
1715         $(DBUS_CFLAGS) \
1716         $(UDEV_CFLAGS) \
1717         $(ACL_CFLAGS)
1718
1719 systemd_logind_LDADD = \
1720         libsystemd-basic.la \
1721         libsystemd-daemon.la \
1722         $(DBUS_LIBS) \
1723         $(UDEV_LIBS) \
1724         $(ACL_LIBS)
1725
1726 systemd_user_sessions_SOURCES = \
1727         src/login/user-sessions.c \
1728         src/cgroup-util.c
1729
1730 systemd_user_sessions_LDADD = \
1731         libsystemd-basic.la
1732
1733 rootlibexec_PROGRAMS += \
1734         systemd-logind \
1735         systemd-user-sessions
1736
1737 systemd_loginctl_SOURCES = \
1738         src/login/loginctl.c \
1739         src/dbus-common.c \
1740         src/cgroup-show.c \
1741         src/cgroup-util.c \
1742         src/pager.c \
1743         src/sysfs-show.c
1744
1745 systemd_loginctl_CFLAGS = \
1746         $(AM_CFLAGS) \
1747         $(DBUS_CFLAGS) \
1748         $(UDEV_CFLAGS)
1749
1750 systemd_loginctl_LDADD = \
1751         libsystemd-basic.la \
1752         $(DBUS_LIBS) \
1753         $(UDEV_LIBS)
1754
1755 rootbin_PROGRAMS += \
1756         systemd-loginctl
1757
1758 test_login_SOURCES = \
1759         src/login/test-login.c
1760
1761 test_login_LDADD = \
1762         libsystemd-basic.la \
1763         libsystemd-login.la
1764
1765 noinst_PROGRAMS += \
1766         test-login
1767
1768 libsystemd_login_la_SOURCES = \
1769         src/login/sd-login.c \
1770         src/cgroup-util.c
1771
1772 libsystemd_login_la_CFLAGS = \
1773         $(AM_CFLAGS) \
1774         -fvisibility=hidden
1775
1776 libsystemd_login_la_LDFLAGS = \
1777         -shared \
1778         -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
1779         -Wl,--version-script=$(top_srcdir)/src/login/libsystemd-login.sym
1780
1781 libsystemd_login_la_LIBADD = \
1782         libsystemd-basic.la
1783
1784 if HAVE_PAM
1785 pam_systemd_la_SOURCES = \
1786         src/login/pam-module.c \
1787         src/dbus-common.c
1788
1789 pam_systemd_la_CFLAGS = \
1790         $(AM_CFLAGS) \
1791         $(PAM_CFLAGS) \
1792         $(DBUS_CFLAGS) \
1793         -fvisibility=hidden
1794
1795 pam_systemd_la_LDFLAGS = \
1796         -module \
1797         -export-dynamic \
1798         -avoid-version \
1799         -shared \
1800         -export-symbols-regex '^pam_sm_.*'
1801
1802 pam_systemd_la_LIBADD = \
1803         libsystemd-basic.la \
1804         libsystemd-daemon.la \
1805         $(PAM_LIBS) \
1806         $(DBUS_LIBS)
1807
1808 pamlib_LTLIBRARIES = \
1809         pam_systemd.la
1810 endif
1811
1812 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
1813 libsystemd-login-install-hook:
1814         if test "$(libdir)" != "$(rootlibdir)"; then \
1815                 mkdir -p $(DESTDIR)$(rootlibdir) && \
1816                 so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-login.so) && \
1817                 so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
1818                 ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-login.so && \
1819                 mv $(DESTDIR)$(libdir)/libsystemd-login.so.* $(DESTDIR)$(rootlibdir); \
1820         fi
1821
1822 INSTALL_EXEC_HOOKS += \
1823         libsystemd-login-install-hook
1824
1825 libsystemd-login-uninstall-hook:
1826         rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so*
1827
1828 UNINSTALL_EXEC_HOOKS += \
1829         libsystemd-login-uninstall-hook
1830
1831 nodist_systemunit_DATA += \
1832         units/systemd-logind.service \
1833         units/systemd-user-sessions.service
1834
1835 dist_dbussystemservice_DATA += \
1836         src/login/org.freedesktop.login1.service
1837
1838 dist_dbuspolicy_DATA += \
1839         src/login/org.freedesktop.login1.conf
1840
1841 dist_pkgsysconf_DATA += \
1842         src/login/systemd-logind.conf
1843
1844 pkginclude_HEADERS += \
1845         src/login/sd-login.h
1846
1847 lib_LTLIBRARIES += \
1848         libsystemd-login.la
1849
1850 pkgconfiglib_DATA += \
1851         src/login/libsystemd-login.pc
1852
1853 polkitpolicy_in_files += \
1854         src/login/org.freedesktop.login1.policy.in
1855
1856 logind-install-data-hook:
1857         ( cd $(DESTDIR)$(systemunitdir) && \
1858                 rm -f dbus-org.freedesktop.login1.service && \
1859                 $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service)
1860         ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
1861                 rm -f systemd-logind.service systemd-user-sessions.service && \
1862                 $(LN_S) ../systemd-logind.service systemd-logind.service && \
1863                 $(LN_S) ../systemd-user-sessions.service systemd-user-sessions.service )
1864
1865 INSTALL_DATA_HOOKS += \
1866         logind-install-data-hook
1867
1868 systemd_uaccess_SOURCES = \
1869         src/login/uaccess.c
1870
1871 if HAVE_ACL
1872 systemd_uaccess_SOURCES += \
1873         src/login/logind-acl.c \
1874         src/acl-util.c
1875 endif
1876
1877 systemd_uaccess_CFLAGS = \
1878         $(AM_CFLAGS) \
1879         $(UDEV_CFLAGS) \
1880         $(ACL_CFLAGS)
1881
1882 systemd_uaccess_LDADD = \
1883         libsystemd-basic.la \
1884         libsystemd-daemon.la \
1885         libsystemd-login.la \
1886         $(UDEV_LIBS) \
1887         $(ACL_LIBS)
1888
1889 rootlibexec_PROGRAMS += \
1890         systemd-uaccess
1891
1892 dist_udevrules_DATA += \
1893         src/70-uaccess.rules
1894
1895 MANPAGES += \
1896         man/systemd-logind.conf.5 \
1897         man/sd-login.7 \
1898         man/systemd-loginctl.1 \
1899         man/sd_login_monitor_new.3 \
1900         man/sd_pid_get_session.3 \
1901         man/sd_uid_get_state.3 \
1902         man/sd_session_is_active.3 \
1903         man/sd_seat_get_active.3 \
1904         man/sd_get_seats.3
1905
1906 MANPAGES_ALIAS += \
1907         man/sd_login_monitor_unref.3 \
1908         man/sd_login_monitor_flush.3 \
1909         man/sd_login_monitor_get_fd.3 \
1910         man/sd_session_get_uid.3 \
1911         man/sd_session_get_seat.3 \
1912         man/sd_pid_get_owner_uid.3 \
1913         man/sd_pid_get_service.3 \
1914         man/sd_uid_is_on_seat.3 \
1915         man/sd_uid_get_sessions.3 \
1916         man/sd_uid_get_seats.3 \
1917         man/sd_seat_get_sessions.3 \
1918         man/sd_seat_can_multi_session.3 \
1919         man/sd_get_sessions.3 \
1920         man/sd_get_uids.3
1921
1922 man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3
1923 man/sd_login_monitor_flush.3: man/sd_login_monitor_new.3
1924 man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3
1925 man/sd_session_get_uid.3: man/sd_session_is_active.3
1926 man/sd_session_get_seat.3: man/sd_session_is_active.3
1927 man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3
1928 man/sd_pid_get_service.3: man/sd_pid_get_session.3
1929 man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
1930 man/sd_uid_get_sessions.3: man/sd_uid_get_state.3
1931 man/sd_uid_get_seats.3: man/sd_uid_get_state.3
1932 man/sd_seat_get_sessions.3: man/sd_seat_get_active.3
1933 man/sd_seat_can_multi_session.3: man/sd_seat_get_active.3
1934 man/sd_get_sessions.3: man/sd_get_seats.3
1935 man/sd_get_uids.3: man/sd_get_seats.3
1936
1937 EXTRA_DIST += \
1938         src/login/logind-gperf.gperf \
1939         units/systemd-logind.service.in \
1940         units/systemd-user-sessions.service.in \
1941         src/login/libsystemd-login.pc.in \
1942         src/login/libsystemd-login.sym \
1943         src/login/logind.h \
1944         src/login/logind-device.h \
1945         src/login/logind-seat.h \
1946         src/login/logind-session.h \
1947         src/login/logind-user.h \
1948         src/login/logind-acl.h
1949
1950 CLEANFILES += \
1951         src/login/logind-gperf.c
1952 endif
1953 # ------------------------------------------------------------------------------
1954
1955 SED_PROCESS = \
1956         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
1957         $(SED)  -e 's,@rootlibexecdir\@,$(rootlibexecdir),g' \
1958                 -e 's,@rootbindir\@,$(rootbindir),g' \
1959                 -e 's,@bindir\@,$(bindir),g' \
1960                 -e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \
1961                 -e 's,@SYSTEMD_NOTIFY\@,$(rootbindir)/systemd-notify,g' \
1962                 -e 's,@pkgsysconfdir\@,$(pkgsysconfdir),g' \
1963                 -e 's,@pkgdatadir\@,$(pkgdatadir),g' \
1964                 -e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
1965                 -e 's,@systemunitdir\@,$(systemunitdir),g' \
1966                 -e 's,@userunitdir\@,$(userunitdir),g' \
1967                 -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
1968                 -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
1969                 -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' \
1970                 -e 's,@prefix\@,$(prefix),g' \
1971                 -e 's,@exec_prefix\@,$(exec_prefix),g' \
1972                 -e 's,@libdir\@,$(libdir),g' \
1973                 -e 's,@includedir\@,$(includedir),g' \
1974                 < $< > $@ || rm $@
1975
1976 units/%: units/%.in Makefile
1977         $(SED_PROCESS)
1978
1979 man/%: man/%.in Makefile
1980         $(SED_PROCESS)
1981
1982 %.pc: %.pc.in Makefile
1983         $(SED_PROCESS)
1984
1985 src/%.policy.in: src/%.policy.in.in Makefile
1986         $(SED_PROCESS)
1987
1988 src/%.rules: src/%.rules.in Makefile
1989         $(SED_PROCESS)
1990
1991 src/%.c: src/%.gperf
1992         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
1993         $(GPERF) < $< > $@
1994
1995 src/%: src/%.m4
1996         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
1997         $(M4) -P $(M4_DEFINES) < $< > $@ || rm $@
1998
1999 src/load-fragment-gperf-nulstr.c: src/load-fragment-gperf.gperf
2000         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
2001         $(AWK) 'BEGIN{ keywords=0 ; FS="," ; print "extern const char load_fragment_gperf_nulstr[];" ; print "const char load_fragment_gperf_nulstr[] ="} ; keyword==1 { print "\"" $$1 "\\0\"" } ; /%%/ { keyword=1} ; END { print ";" }' < $< > $@ || rm $@
2002
2003 M4_PROCESS_SYSTEM = \
2004         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
2005         $(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@ || rm $@
2006
2007 M4_PROCESS_USER = \
2008         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
2009         $(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@ || rm $@
2010
2011 units/%: units/%.m4 Makefile
2012         $(M4_PROCESS_SYSTEM)
2013
2014 units/user/%: units/%.m4 Makefile
2015         $(M4_PROCESS_USER)
2016
2017 CLEANFILES += \
2018         $(nodist_systemunit_DATA) \
2019         $(nodist_userunit_DATA) \
2020         $(nodist_man_MANS) \
2021         ${XML_IN_FILES:.xml.in=.html} \
2022         $(pkgconfigdata_DATA) \
2023         $(pkgconfiglib_DATA) \
2024         $(nodist_polkitpolicy_DATA) \
2025         src/73-seat-late.rules \
2026         src/99-systemd.rules \
2027         src/load-fragment-gperf.gperf \
2028         src/load-fragment-gperf.c \
2029         src/load-fragment-gperf-nulstr.c
2030
2031 if HAVE_VALAC
2032 CLEANFILES += \
2033         ${systemadm_SOURCES:.vala=.c}
2034 endif
2035
2036 if HAVE_XSLTPROC
2037 XSLTPROC_FLAGS = \
2038         --nonet \
2039         --stringparam funcsynopsis.style ansi
2040
2041 XSLTPROC_PROCESS_MAN = \
2042         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
2043         $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
2044
2045 XSLTPROC_PROCESS_MAN_IN = \
2046         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
2047         $(XSLTPROC) -o ${@:.in=} $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
2048         mv ${@:.in=} $@
2049
2050 XSLTPROC_PROCESS_HTML = \
2051         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
2052         $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) man/custom-html.xsl $<
2053
2054 XSLTPROC_PROCESS_HTML_IN = \
2055         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
2056         $(XSLTPROC) -o ${@:.in=} $(XSLTPROC_FLAGS) man/custom-html.xsl $< && \
2057         mv ${@:.in=} $@
2058
2059 man/%.1: man/%.xml
2060         $(XSLTPROC_PROCESS_MAN)
2061
2062 man/%.1.in: man/%.xml.in
2063         $(XSLTPROC_PROCESS_MAN)
2064
2065 man/%.3: man/%.xml
2066         $(XSLTPROC_PROCESS_MAN)
2067
2068 man/%.3.in: man/%.xml.in
2069         $(XSLTPROC_PROCESS_MAN)
2070
2071 man/%.5: man/%.xml
2072         $(XSLTPROC_PROCESS_MAN)
2073
2074 man/%.5.in: man/%.xml.in
2075         $(XSLTPROC_PROCESS_MAN)
2076
2077 man/%.7: man/%.xml
2078         $(XSLTPROC_PROCESS_MAN)
2079
2080 man/%.7.in: man/%.xml.in
2081         $(XSLTPROC_PROCESS_MAN_IN)
2082
2083 man/%.8: man/%.xml
2084         $(XSLTPROC_PROCESS_MAN)
2085
2086 man/%.8.in: man/%.xml.in
2087         $(XSLTPROC_PROCESS_MAN_IN)
2088
2089 man/%.html: man/%.xml
2090         $(XSLTPROC_PROCESS_HTML)
2091
2092 man/%.html.in: man/%.xml.in
2093         $(XSLTPROC_PROCESS_HTML_IN)
2094
2095 CLEANFILES += \
2096         $(dist_man_MANS) \
2097         ${nodist_man_MANS:=.in} \
2098         ${XML_FILES:.xml=.html} \
2099         ${XML_IN_FILES:.xml.in=.html.in}
2100 endif
2101
2102 DBUS_PREPROCESS = $(CPP) -P $(DBUS_CFLAGS) -imacros dbus/dbus-protocol.h
2103
2104 org.freedesktop.systemd1.%.xml: systemd
2105         $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.$* $< $@.tmp && \
2106                 $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
2107                 $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
2108
2109 CLEANFILES += \
2110         $(dbusinterface_DATA)
2111
2112 systemd-install-data-hook:
2113         $(MKDIR_P) -m 0755 \
2114                 $(DESTDIR)$(tmpfilesdir) \
2115                 $(DESTDIR)$(sysconfdir)/tmpfiles.d \
2116                 $(DESTDIR)$(prefix)/lib/modules-load.d \
2117                 $(DESTDIR)$(sysconfdir)/modules-load.d \
2118                 $(DESTDIR)$(prefix)/lib/sysctl.d \
2119                 $(DESTDIR)$(sysconfdir)/sysctl.d \
2120                 $(DESTDIR)$(systemshutdowndir) \
2121                 $(DESTDIR)$(systemgeneratordir) \
2122                 $(DESTDIR)$(usergeneratordir)
2123         $(MKDIR_P) -m 0755 \
2124                 $(DESTDIR)$(systemunitdir) \
2125                 $(DESTDIR)$(userunitdir) \
2126                 $(DESTDIR)$(systemunitdir)/sysinit.target.wants \
2127                 $(DESTDIR)$(systemunitdir)/sockets.target.wants \
2128                 $(DESTDIR)$(systemunitdir)/basic.target.wants \
2129                 $(DESTDIR)$(systemunitdir)/shutdown.target.wants \
2130                 $(DESTDIR)$(systemunitdir)/local-fs.target.wants \
2131                 $(DESTDIR)$(systemunitdir)/runlevel1.target.wants \
2132                 $(DESTDIR)$(systemunitdir)/runlevel2.target.wants \
2133                 $(DESTDIR)$(systemunitdir)/runlevel3.target.wants \
2134                 $(DESTDIR)$(systemunitdir)/runlevel4.target.wants \
2135                 $(DESTDIR)$(systemunitdir)/runlevel5.target.wants \
2136                 $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
2137                 $(DESTDIR)$(systemunitdir)/graphical.target.wants \
2138                 $(DESTDIR)$(pkgsysconfdir)/system \
2139                 $(DESTDIR)$(pkgsysconfdir)/system/sysinit.target.wants \
2140                 $(DESTDIR)$(pkgsysconfdir)/system/local-fs.target.wants \
2141                 $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
2142                 $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
2143                 $(DESTDIR)$(pkgsysconfdir)/user \
2144                 $(DESTDIR)$(dbussessionservicedir) \
2145                 $(DESTDIR)$(sysconfdir)/xdg/systemd
2146         ( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
2147                 rm -f user && \
2148                 $(LN_S) $(pkgsysconfdir)/user user )
2149         ( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
2150                 rm -f systemd-initctl.socket systemd-stdout-syslog-bridge.socket systemd-shutdownd.socket syslog.socket && \
2151                 $(LN_S) ../systemd-stdout-syslog-bridge.socket systemd-stdout-syslog-bridge.socket && \
2152                 $(LN_S) ../systemd-initctl.socket systemd-initctl.socket && \
2153                 $(LN_S) ../systemd-shutdownd.socket systemd-shutdownd.socket && \
2154                 $(LN_S) ../syslog.socket syslog.socket )
2155         ( cd $(DESTDIR)$(systemunitdir)/runlevel1.target.wants && \
2156                 rm -f systemd-update-utmp-runlevel.service && \
2157                 $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
2158         ( cd $(DESTDIR)$(systemunitdir)/runlevel2.target.wants && \
2159                 rm -f systemd-update-utmp-runlevel.service && \
2160                 $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
2161         ( cd $(DESTDIR)$(systemunitdir)/runlevel3.target.wants && \
2162                 rm -f systemd-update-utmp-runlevel.service && \
2163                 $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
2164         ( cd $(DESTDIR)$(systemunitdir)/runlevel4.target.wants && \
2165                 rm -f systemd-update-utmp-runlevel.service && \
2166                 $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
2167         ( cd $(DESTDIR)$(systemunitdir)/runlevel5.target.wants && \
2168                 rm -f systemd-update-utmp-runlevel.service && \
2169                 $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
2170         ( cd $(DESTDIR)$(systemunitdir)/shutdown.target.wants && \
2171                 rm -f systemd-update-utmp-shutdown.service && \
2172                 $(LN_S) ../systemd-update-utmp-shutdown.service systemd-update-utmp-shutdown.service )
2173         ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \
2174                 rm -f systemd-remount-api-vfs.service \
2175                         fsck-root.service \
2176                         remount-rootfs.service \
2177                         var-run.mount \
2178                         media.mount && \
2179                 $(LN_S) ../systemd-remount-api-vfs.service systemd-remount-api-vfs.service && \
2180                 $(LN_S) ../fsck-root.service fsck-root.service && \
2181                 $(LN_S) ../remount-rootfs.service remount-rootfs.service && \
2182                 $(LN_S) ../var-run.mount var-run.mount && \
2183                 $(LN_S) ../media.mount media.mount )
2184         ( cd $(DESTDIR)$(userunitdir) && \
2185                 rm -f shutdown.target sockets.target bluetooth.target printer.target sound.target && \
2186                 $(LN_S) $(systemunitdir)/shutdown.target shutdown.target && \
2187                 $(LN_S) $(systemunitdir)/sockets.target sockets.target && \
2188                 $(LN_S) $(systemunitdir)/bluetooth.target bluetooth.target && \
2189                 $(LN_S) $(systemunitdir)/printer.target printer.target && \
2190                 $(LN_S) $(systemunitdir)/sound.target sound.target )
2191         ( cd $(DESTDIR)$(systemunitdir) && \
2192                 rm -f runlevel0.target runlevel1.target runlevel2.target runlevel3.target runlevel4.target runlevel5.target runlevel6.target && \
2193                 $(LN_S) poweroff.target runlevel0.target && \
2194                 $(LN_S) rescue.target runlevel1.target && \
2195                 $(LN_S) multi-user.target runlevel2.target && \
2196                 $(LN_S) multi-user.target runlevel3.target && \
2197                 $(LN_S) multi-user.target runlevel4.target && \
2198                 $(LN_S) graphical.target runlevel5.target && \
2199                 $(LN_S) reboot.target runlevel6.target )
2200         ( cd $(DESTDIR)$(systemunitdir) && \
2201                 rm -f default.target ctrl-alt-del.target autovt@.service && \
2202                 $(LN_S) graphical.target default.target && \
2203                 $(LN_S) reboot.target ctrl-alt-del.target && \
2204                 $(LN_S) getty@.service autovt@.service )
2205         ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
2206                 rm -f getty.target systemd-ask-password-wall.path && \
2207                 $(LN_S) ../getty.target getty.target && \
2208                 $(LN_S) ../systemd-ask-password-wall.path systemd-ask-password-wall.path)
2209         ( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
2210                 rm -f getty@tty1.service && \
2211                 $(LN_S) $(systemunitdir)/getty@.service getty@tty1.service )
2212         ( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
2213                 rm -f remote-fs.target && \
2214                 $(LN_S) $(systemunitdir)/remote-fs.target remote-fs.target )
2215         ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
2216                 rm -f dev-hugepages.mount \
2217                         dev-mqueue.mount \
2218                         sys-kernel-config.mount \
2219                         sys-kernel-debug.mount \
2220                         sys-kernel-security.mount \
2221                         sys-fs-fuse-connections.mount \
2222                         systemd-modules-load.service \
2223                         systemd-tmpfiles-setup.service \
2224                         systemd-sysctl.service \
2225                         systemd-ask-password-console.path \
2226                         systemd-kmsg-syslogd.service && \
2227                 $(LN_S) ../dev-hugepages.mount dev-hugepages.mount && \
2228                 $(LN_S) ../dev-mqueue.mount dev-mqueue.mount && \
2229                 $(LN_S) ../sys-kernel-config.mount sys-kernel-config.mount && \
2230                 $(LN_S) ../sys-kernel-debug.mount sys-kernel-debug.mount && \
2231                 $(LN_S) ../sys-kernel-security.mount sys-kernel-security.mount && \
2232                 $(LN_S) ../sys-fs-fuse-connections.mount sys-fs-fuse-connections.mount && \
2233                 $(LN_S) ../systemd-modules-load.service systemd-modules-load.service && \
2234                 $(LN_S) ../systemd-tmpfiles-setup.service systemd-tmpfiles-setup.service && \
2235                 $(LN_S) ../systemd-sysctl.service systemd-sysctl.service && \
2236                 $(LN_S) ../systemd-ask-password-console.path systemd-ask-password-console.path && \
2237                 $(LN_S) ../systemd-kmsg-syslogd.service )
2238         ( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \
2239                 rm -f systemd-tmpfiles-clean.timer && \
2240                 $(LN_S) ../systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.timer )
2241         ( cd $(DESTDIR)$(dbussessionservicedir) && \
2242                 rm -f org.freedesktop.systemd1.service && \
2243                 $(LN_S) ../system-services/org.freedesktop.systemd1.service org.freedesktop.systemd1.service )
2244 if HAVE_PLYMOUTH
2245         $(MKDIR_P) -m 0755 \
2246                 $(DESTDIR)$(SYSTEM_SYSVINIT_PATH) \
2247                 $(DESTDIR)$(systemunitdir)/reboot.target.wants \
2248                 $(DESTDIR)$(systemunitdir)/kexec.target.wants \
2249                 $(DESTDIR)$(systemunitdir)/poweroff.target.wants \
2250                 $(DESTDIR)$(systemunitdir)/halt.target.wants
2251         ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
2252                 rm -f plymouth-start.service plymouth-read-write.service && \
2253                 $(LN_S) ../plymouth-start.service plymouth-start.service && \
2254                 $(LN_S) ../plymouth-read-write.service plymouth-read-write.service )
2255         ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
2256                 rm -f plymouth-quit.service plymouth-quit-wait.service && \
2257                 $(LN_S) ../plymouth-quit.service plymouth-quit.service && \
2258                 $(LN_S) ../plymouth-quit-wait.service plymouth-quit-wait.service )
2259         ( cd $(DESTDIR)$(systemunitdir)/reboot.target.wants && \
2260                 rm -f plymouth-reboot.service && \
2261                 $(LN_S) ../plymouth-reboot.service plymouth-reboot.service )
2262         ( cd $(DESTDIR)$(systemunitdir)/kexec.target.wants && \
2263                 rm -f plymouth-kexec.service && \
2264                 $(LN_S) ../plymouth-kexec.service plymouth-kexec.service )
2265         ( cd $(DESTDIR)$(systemunitdir)/poweroff.target.wants && \
2266                 rm -f plymouth-poweroff.service && \
2267                 $(LN_S) ../plymouth-poweroff.service plymouth-poweroff.service )
2268         ( cd $(DESTDIR)$(systemunitdir)/halt.target.wants && \
2269                 rm -f plymouth-halt.service && \
2270                 $(LN_S) ../plymouth-halt.service plymouth-halt.service )
2271 endif
2272 if TARGET_MEEGO
2273         $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants
2274         ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
2275                 rm -f network.target && \
2276                 $(LN_S) $(systemunitdir)/network.target network.target )
2277         ( cd $(DESTDIR)$(pkgsysconfdir)/system/sysinit.target.wants && \
2278                 rm -f * )
2279         ( cd $(DESTDIR)$(pkgsysconfdir)/system/local-fs.target.wants && \
2280                 rm -f * )
2281         ( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
2282                 rm -f * )
2283         ( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
2284                 rm -f * )
2285 endif
2286
2287 if TARGET_FEDORA
2288         $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants
2289         ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \
2290                 rm -f halt-local.service && \
2291                 $(LN_S) $(systemunitdir)/halt-local.service halt-local.service )
2292         ( cd $(DESTDIR)$(systemunitdir) && \
2293                 rm -f display-manager.service single.service && \
2294                 $(LN_S) prefdm.service display-manager.service && \
2295                 $(LN_S) rescue.service single.service )
2296         ( cd $(DESTDIR)$(systemunitdir)/graphical.target.wants && \
2297                 rm -f display-manager.service && \
2298                 $(LN_S) $(systemunitdir)/display-manager.service display-manager.service )
2299 endif
2300
2301 if TARGET_MANDRIVA
2302         $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants
2303         ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \
2304                 rm -f halt-local.service && \
2305                 $(LN_S) $(systemunitdir)/halt-local.service halt-local.service )
2306         ( cd $(DESTDIR)$(systemunitdir) && \
2307                 rm -f display-manager.service dm.service single.service && \
2308                 $(LN_S) prefdm.service display-manager.service && \
2309                 $(LN_S) prefdm.service dm.service && \
2310                 $(LN_S) rescue.service single.service )
2311         ( cd $(DESTDIR)$(systemunitdir)/graphical.target.wants && \
2312                 rm -f display-manager.service && \
2313                 $(LN_S) $(systemunitdir)/display-manager.service display-manager.service )
2314 endif
2315
2316 if TARGET_DEBIAN_OR_UBUNTU
2317         ( cd $(DESTDIR)$(systemunitdir) && \
2318                 rm -f runlevel5.target && \
2319                 $(LN_S) multi-user.target runlevel5.target )
2320 endif
2321
2322 if TARGET_SUSE
2323         $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants
2324         ( cd $(DESTDIR)$(systemunitdir) && \
2325                 rm -f local.service && \
2326                 $(LN_S) rc-local.service local.service )
2327         ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \
2328                 rm -f halt-local.service && \
2329                 $(LN_S) $(systemunitdir)/halt-local.service halt-local.service )
2330 endif
2331
2332 if TARGET_MAGEIA
2333         $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants
2334         ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \
2335                 rm -f halt-local.service && \
2336                 $(LN_S) $(systemunitdir)/halt-local.service halt-local.service )
2337         ( cd $(DESTDIR)$(systemunitdir) && \
2338                 rm -f display-manager.service && \
2339                 $(LN_S) prefdm.service display-manager.service && \
2340                 $(LN_S) prefdm.service dm.service )
2341         ( cd $(DESTDIR)$(systemunitdir)/graphical.target.wants && \
2342                 rm -f display-manager.service && \
2343                 $(LN_S) $(systemunitdir)/display-manager.service display-manager.service )
2344 endif
2345
2346 if HAVE_SYSV_COMPAT
2347         ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \
2348                 rm -f var-lock.mount && \
2349                 $(LN_S) ../var-lock.mount var-lock.mount )
2350 endif
2351
2352 install-exec-hook: $(INSTALL_EXEC_HOOKS)
2353
2354 uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
2355
2356 install-data-hook: systemd-install-data-hook $(INSTALL_DATA_HOOKS)
2357
2358 DISTCHECK_CONFIGURE_FLAGS = \
2359         --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
2360         --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \
2361         --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
2362         --with-dbusinterfacedir=$$dc_install_base/$(dbusinterfacedir) \
2363         --with-udevrulesdir=$$dc_install_base/$(udevrulesdir) \
2364         --with-pamlibdir=$$dc_install_base/$(pamlibdir) \
2365         --with-rootdir=$$dc_install_base/$(rootdir)
2366
2367 upload: all distcheck
2368         cp -v systemd-$(VERSION).tar.bz2 /home/lennart/git.fedora/systemd/
2369         scp systemd-$(VERSION).tar.bz2 fdo:/srv/www.freedesktop.org/www/software/systemd/
2370         scp man/*.html tango:public/systemd-man/
2371
2372 git-tag:
2373         git tag "v$(VERSION)" -m "systemd $(VERSION)"