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