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