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