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