chiark / gitweb /
build-sys: generate links for html alias pages
[elogind.git] / Makefile.am
index 5692077b34ca0d7d56bec39d75e507cf888999b6..bea545259dc7f6716a0cc0dbf7fef34bdf99606f 100644 (file)
@@ -4,6 +4,7 @@
 #
 #  Copyright 2010-2012 Lennart Poettering
 #  Copyright 2010-2012 Kay Sievers
+#  Copyright 2013 Zbigniew JÄ™drzejewski-Szmek
 #
 #  systemd is free software; you can redistribute it and/or modify it
 #  under the terms of the GNU Lesser General Public License as published by
@@ -27,17 +28,20 @@ SUBDIRS = . po
 # remove targets if the command fails
 .DELETE_ON_ERROR:
 
+# keep intermediate files
+.SECONDARY:
+
 LIBUDEV_CURRENT=3
-LIBUDEV_REVISION=1
+LIBUDEV_REVISION=2
 LIBUDEV_AGE=2
 
 LIBGUDEV_CURRENT=1
 LIBGUDEV_REVISION=3
 LIBGUDEV_AGE=1
 
-LIBSYSTEMD_LOGIN_CURRENT=3
-LIBSYSTEMD_LOGIN_REVISION=11
-LIBSYSTEMD_LOGIN_AGE=3
+LIBSYSTEMD_LOGIN_CURRENT=4
+LIBSYSTEMD_LOGIN_REVISION=0
+LIBSYSTEMD_LOGIN_AGE=4
 
 LIBSYSTEMD_DAEMON_CURRENT=0
 LIBSYSTEMD_DAEMON_REVISION=7
@@ -47,9 +51,9 @@ LIBSYSTEMD_ID128_CURRENT=0
 LIBSYSTEMD_ID128_REVISION=17
 LIBSYSTEMD_ID128_AGE=0
 
-LIBSYSTEMD_JOURNAL_CURRENT=7
-LIBSYSTEMD_JOURNAL_REVISION=1
-LIBSYSTEMD_JOURNAL_AGE=7
+LIBSYSTEMD_JOURNAL_CURRENT=8
+LIBSYSTEMD_JOURNAL_REVISION=0
+LIBSYSTEMD_JOURNAL_AGE=8
 
 # Dirs of external packages
 dbuspolicydir=@dbuspolicydir@
@@ -60,14 +64,13 @@ pamlibdir=@pamlibdir@
 pkgconfigdatadir=$(datadir)/pkgconfig
 pkgconfiglibdir=$(libdir)/pkgconfig
 polkitpolicydir=$(datadir)/polkit-1/actions
-bashcompletiondir=$(sysconfdir)/bash_completion.d
+bashcompletiondir=@bashcompletiondir@
 rpmmacrosdir=$(sysconfdir)/rpm
 sysvinitdir=$(SYSTEM_SYSVINIT_PATH)
 sysvrcnddir=$(SYSTEM_SYSVRCND_PATH)
 varlogdir=$(localstatedir)/log
 systemdstatedir=$(localstatedir)/lib/systemd
 catalogstatedir=$(systemdstatedir)/catalog
-hwdb_bin=/etc/udev/hwdb.bin
 
 # Our own, non-special dirs
 pkgsysconfdir=$(sysconfdir)/systemd
@@ -101,16 +104,18 @@ UNINSTALL_EXEC_HOOKS =
 INSTALL_DATA_HOOKS =
 UNINSTALL_DATA_HOOKS =
 DISTCLEAN_LOCAL_HOOKS =
+CLEAN_LOCAL_HOOKS =
 pkginclude_HEADERS =
 noinst_LTLIBRARIES =
 lib_LTLIBRARIES =
 include_HEADERS =
+noinst_DATA =
 pkgconfiglib_DATA =
+polkitpolicy_in_in_files =
 polkitpolicy_in_files =
 polkitpolicy_files =
 dist_udevrules_DATA =
 nodist_udevrules_DATA =
-dist_man_MANS =
 dist_pkgsysconf_DATA =
 dist_pkgdata_DATA =
 dist_dbuspolicy_DATA =
@@ -118,8 +123,9 @@ dbusinterface_DATA =
 dist_dbussystemservice_DATA =
 check_PROGRAMS =
 check_DATA =
-noinst_PROGRAMS =
-TESTS =
+noinst_tests=
+noinst_PROGRAMS = $(noinst_tests)
+TESTS = $(noinst_tests)
 udevlibexec_PROGRAMS =
 
 AM_CPPFLAGS = \
@@ -133,7 +139,6 @@ AM_CPPFLAGS = \
        -DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
        -DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
        -DCATALOG_PATH=\"$(catalogstatedir)\" \
-       -DHWDB_BIN=\"$(hwdb_bin)\" \
        -DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
        -DSYSTEMD_BINARY_PATH=\"$(rootlibexecdir)/systemd\" \
        -DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
@@ -167,7 +172,6 @@ AM_CFLAGS = $(OUR_CFLAGS)
 AM_LDFLAGS = $(OUR_LDFLAGS)
 
 # ------------------------------------------------------------------------------
-
 define move-to-rootlibdir
        if test "$(libdir)" != "$(rootlibdir)"; then \
                $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
@@ -178,6 +182,89 @@ define move-to-rootlibdir
        fi
 endef
 
+INSTALL_DIRS =
+
+RUNLEVEL1_TARGET_WANTS =
+RUNLEVEL2_TARGET_WANTS =
+RUNLEVEL3_TARGET_WANTS =
+RUNLEVEL4_TARGET_WANTS =
+RUNLEVEL5_TARGET_WANTS =
+SHUTDOWN_TARGET_WANTS =
+LOCAL_FS_TARGET_WANTS =
+MULTI_USER_TARGET_WANTS =
+SYSINIT_TARGET_WANTS =
+BASIC_TARGET_WANTS =
+SOCKETS_TARGET_WANTS =
+
+SYSTEM_UNIT_ALIASES =
+USER_UNIT_ALIASES =
+
+GENERAL_ALIASES =
+
+install-target-wants-hook:
+       what="$(RUNLEVEL1_TARGET_WANTS)" && wants=runlevel1.target && $(add-wants)
+       what="$(RUNLEVEL2_TARGET_WANTS)" && wants=runlevel2.target && $(add-wants)
+       what="$(RUNLEVEL3_TARGET_WANTS)" && wants=runlevel3.target && $(add-wants)
+       what="$(RUNLEVEL4_TARGET_WANTS)" && wants=runlevel4.target && $(add-wants)
+       what="$(RUNLEVEL5_TARGET_WANTS)" && wants=runlevel5.target && $(add-wants)
+       what="$(SHUTDOWN_TARGET_WANTS)" && wants=shutdown.target && $(add-wants)
+       what="$(LOCAL_FS_TARGET_WANTS)" && wants=local-fs.target && $(add-wants)
+       what="$(MULTI_USER_TARGET_WANTS)" && wants=multi-user.target && $(add-wants)
+       what="$(SYSINIT_TARGET_WANTS)" && wants=sysinit.target && $(add-wants)
+       what="$(BASIC_TARGET_WANTS)" && wants=basic.target && $(add-wants)
+       what="$(SOCKETS_TARGET_WANTS)" && wants=sockets.target && $(add-wants)
+
+define add-wants
+       [ -z "$$what" ] || ( \
+         dir=$(DESTDIR)$(systemunitdir)/$$wants.wants && \
+         $(MKDIR_P) -m 0755 $$dir && \
+         cd $$dir && \
+         rm -f $$what && \
+         for i in $$what; do ln -s ../$$i . || exit $$? ; done )
+endef
+
+install-directories-hook:
+       $(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS))
+
+install-aliases-hook:
+       set -- $(SYSTEM_UNIT_ALIASES) && \
+               dir=$(systemunitdir) && $(install-aliases)
+       set -- $(USER_UNIT_ALIASES) && \
+               dir=$(userunitdir) && $(install-aliases)
+       set -- $(GENERAL_ALIASES) && \
+               dir= && $(install-aliases)
+
+define install-aliases
+       $(MKDIR_P) /$(DESTDIR)$$dir && \
+       while [ -n "$$1" ]; do \
+               rm -f $(DESTDIR)$$dir/$$2 && \
+               ln -s $$1 $(DESTDIR)$$dir/$$2 && \
+               shift 2 || exit $$?; \
+       done
+endef
+
+INSTALL_EXEC_HOOKS += \
+       install-target-wants-hook \
+       install-directories-hook \
+       install-aliases-hook
+
+# ------------------------------------------------------------------------------
+AM_V_M4 = $(AM_V_M4_$(V))
+AM_V_M4_ = $(AM_V_M4_$(AM_DEFAULT_VERBOSITY))
+AM_V_M4_0 = @echo "  M4      " $@;
+
+AM_V_XSLT = $(AM_V_XSLT_$(V))
+AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
+AM_V_XSLT_0 = @echo "  XSLT    " $@;
+
+AM_V_GPERF = $(AM_V_GPERF_$(V))
+AM_V_GPERF_ = $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY))
+AM_V_GPERF_0 = @echo "  GPERF   " $@;
+
+AM_V_LN = $(AM_V_LN_$(V))
+AM_V_LN_ = $(AM_V_LN_$(AM_DEFAULT_VERBOSITY))
+AM_V_LN_0 = @echo "  LN      " $@;
+
 # ------------------------------------------------------------------------------
 rootbin_PROGRAMS = \
        systemctl \
@@ -193,7 +280,14 @@ bin_PROGRAMS = \
        systemd-stdio-bridge \
        systemd-nspawn \
        systemd-detect-virt \
-       systemd-delta
+       systemd-delta \
+       systemd-analyze
+
+bin_SCRIPTS = \
+       src/kernel-install/kernel-install
+
+EXTRA_DIST += \
+       src/kernel-install/kernel-install
 
 rootlibexec_PROGRAMS = \
        systemd \
@@ -210,27 +304,26 @@ rootlibexec_PROGRAMS = \
        systemd-sysctl \
        systemd-sleep
 
-if HAVE_KMOD
-rootlibexec_PROGRAMS += \
-       systemd-modules-load
-endif
-
 systemgenerator_PROGRAMS = \
        systemd-getty-generator \
        systemd-fstab-generator \
        systemd-system-update-generator
 
-dist_bin_SCRIPTS = \
-       src/analyze/systemd-analyze
+systemd_analyze_SOURCES = \
+       src/analyze/systemd-analyze.c
 
-EXTRA_DIST += \
-       src/analyze/systemd-analyze.in
+systemd_analyze_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS)
 
-CLEANFILES += \
-       src/analyze/systemd-analyze
+systemd_analyze_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-dbus.la
 
 dist_bashcompletion_DATA = \
-       shell-completion/systemd-bash-completion.sh
+       shell-completion/bash/journalctl \
+       shell-completion/bash/systemctl \
+       shell-completion/bash/udevadm
 
 dist_tmpfiles_DATA = \
        tmpfiles.d/systemd.conf \
@@ -291,10 +384,10 @@ dist_systemunit_DATA = \
        units/quotaon.service \
        units/systemd-ask-password-wall.path \
        units/systemd-ask-password-console.path \
-       units/syslog.target \
        units/systemd-udevd-control.socket \
        units/systemd-udevd-kernel.socket \
-       units/system-update.target
+       units/system-update.target \
+       units/initrd-switch-root.target
 
 nodist_systemunit_DATA = \
        units/getty@.service \
@@ -326,12 +419,11 @@ nodist_systemunit_DATA = \
        units/systemd-udevd.service \
        units/systemd-udev-trigger.service \
        units/systemd-udev-settle.service \
-       units/debug-shell.service
-
-if HAVE_KMOD
-nodist_systemunit_DATA += \
-       units/systemd-modules-load.service
-endif
+       units/debug-shell.service \
+       units/initrd-parse-etc.service \
+       units/initrd-cleanup.service \
+       units/initrd-udevadm-cleanup-db.service \
+       units/initrd-switch-root.service
 
 dist_userunit_DATA = \
        units/user/default.target \
@@ -373,11 +465,17 @@ EXTRA_DIST += \
        units/systemd-hybrid-sleep.service.in \
        units/systemd-suspend.service.in \
        units/quotaon.service.in \
+       units/initrd-parse-etc.service.in \
+       units/initrd-cleanup.service.in \
+       units/initrd-udevadm-cleanup-db.service.in \
+       units/initrd-switch-root.service.in \
        introspect.awk \
        man/custom-html.xsl
 
-EXTRA_DIST += \
-       units/systemd-modules-load.service.in
+CLEANFILES += \
+       units/console-shell.service.m4 \
+       units/console-getty.service.m4 \
+       units/rescue.service.m4
 
 if HAVE_SYSV_COMPAT
 nodist_systemunit_DATA += \
@@ -403,317 +501,75 @@ dist_doc_DATA = \
 @INTLTOOL_POLICY_RULE@
 
 # ------------------------------------------------------------------------------
-MANPAGES = \
-       man/systemd.1 \
-       man/systemctl.1 \
-       man/systemd-cgls.1 \
-       man/systemd-delta.1 \
-       man/systemd-cgtop.1 \
-       man/systemd-nspawn.1 \
-       man/systemd-tmpfiles.8 \
-       man/systemd-notify.1 \
-       man/systemd.unit.5 \
-       man/systemd.service.5 \
-       man/systemd.socket.5 \
-       man/systemd.mount.5 \
-       man/systemd.automount.5 \
-       man/systemd.swap.5 \
-       man/systemd.timer.5 \
-       man/systemd.path.5 \
-       man/systemd.target.5 \
-       man/systemd.device.5 \
-       man/systemd.snapshot.5 \
-       man/systemd.exec.5 \
-       man/systemd.kill.5 \
-       man/systemd.special.7 \
-       man/systemd.journal-fields.7 \
-       man/systemd.time.7 \
-       man/kernel-command-line.7 \
-       man/daemon.7 \
-       man/bootup.7 \
-       man/runlevel.8 \
-       man/telinit.8 \
-       man/halt.8 \
-       man/shutdown.8 \
-       man/pam_systemd.8 \
-       man/systemd.conf.5 \
-       man/tmpfiles.d.5 \
-       man/hostname.5 \
-       man/localtime.5 \
-       man/machine-id.5 \
-       man/locale.conf.5 \
-       man/os-release.5 \
-       man/machine-info.5 \
-       man/sysctl.d.5 \
-       man/systemd-sysctl.service.8 \
-       man/systemd-ask-password.1 \
-       man/systemd-cat.1 \
-       man/systemd-machine-id-setup.1 \
-       man/systemd-detect-virt.1 \
-       man/journald.conf.5 \
-       man/systemd-journald.service.8 \
-       man/journalctl.1 \
-       man/systemd-coredumpctl.1 \
-       man/systemd-inhibit.1 \
-       man/systemd-remount-fs.service.8 \
-       man/systemd-update-utmp-runlevel.service.8 \
-       man/systemd-initctl.service.8 \
-       man/systemd-shutdownd.service.8 \
-       man/systemd-suspend.service.8 \
-       man/systemd-halt.service.8 \
-       man/systemd-fsck@.service.8 \
-       man/systemd-ask-password-console.service.8 \
-       man/systemd-analyze.1 \
-       man/systemd-tty-ask-password-agent.1 \
-       man/systemd-getty-generator.8 \
-       man/systemd-system-update-generator.8 \
-       man/systemd-fstab-generator.8 \
-       man/systemd.preset.5 \
-       man/sd-id128.3 \
-       man/sd_id128_to_string.3 \
-       man/sd_id128_randomize.3 \
-       man/sd_id128_get_machine.3 \
-       man/sd-journal.3 \
-       man/sd_journal_print.3 \
-       man/sd_journal_stream_fd.3 \
-       man/sd_journal_open.3 \
-       man/sd_journal_next.3 \
-       man/sd_journal_get_data.3 \
-       man/sd_journal_get_realtime_usec.3 \
-       man/sd_journal_get_cutoff_realtime_usec.3 \
-       man/sd_journal_get_cursor.3 \
-       man/sd_journal_get_fd.3 \
-       man/sd_journal_get_usage.3 \
-       man/sd_journal_add_match.3 \
-       man/sd_journal_seek_head.3 \
-       man/sd_journal_query_unique.3 \
-       man/sd_journal_get_catalog.3
-
-MANPAGES_ALIAS = \
-       man/reboot.8 \
-       man/poweroff.8 \
-       man/init.1 \
-       man/systemd-sysctl.8 \
-       man/systemd-journald.socket.8 \
-       man/systemd-journald.8 \
-       man/systemd-remount-fs.8 \
-       man/systemd-update-utmp-shutdown.service.8 \
-       man/systemd-update-utmp.8 \
-       man/systemd-initctl.socket.8 \
-       man/systemd-initctl.8 \
-       man/systemd-shutdownd.socket.8 \
-       man/systemd-shutdownd.8 \
-       man/systemd-hibernate.service.8 \
-       man/systemd-hybrid-sleep.service.8 \
-       man/systemd-sleep.8 \
-       man/systemd-shutdown.8 \
-       man/systemd-poweroff.service.8 \
-       man/systemd-reboot.service.8 \
-       man/systemd-kexec.service.8 \
-       man/systemd-fsck.8 \
-       man/systemd-fsck-root.service.8 \
-       man/systemd-ask-password-console.path.8 \
-       man/systemd-ask-password-wall.service.8 \
-       man/systemd-ask-password-wall.path.8 \
-       man/systemd-tmpfiles-setup.service.8 \
-       man/systemd-tmpfiles-clean.service.8 \
-       man/systemd-tmpfiles-clean.timer.8 \
-       man/sd_id128_t.3 \
-       man/SD_ID128_MAKE.3 \
-       man/SD_ID128_CONST_STR.3 \
-       man/SD_ID128_FORMAT_STR.3 \
-       man/SD_ID128_FORMAT_VAL.3 \
-       man/sd_id128_equal.3 \
-       man/sd_id128_from_string.3 \
-       man/sd_id128_get_boot.3 \
-       man/sd_journal_printv.3 \
-       man/sd_journal_send.3 \
-       man/sd_journal_sendv.3 \
-       man/sd_journal_perror.3 \
-       man/SD_JOURNAL_SUPPRESS_LOCATION.3 \
-       man/sd_journal_open_directory.3 \
-       man/sd_journal_close.3 \
-       man/sd_journal.3 \
-       man/SD_JOURNAL_RUNTIME_ONLY.3 \
-       man/SD_JOURNAL_SYSTEM_ONLY.3 \
-       man/SD_JOURNAL_LOCAL_ONLY.3 \
-       man/sd_journal_previous.3 \
-       man/sd_journal_next_skip.3 \
-       man/sd_journal_previous_skip.3 \
-       man/SD_JOURNAL_FOREACH.3 \
-       man/SD_JOURNAL_FOREACH_BACKWARDS.3 \
-       man/sd_journal_enumerate_data.3 \
-       man/sd_journal_restart_data.3 \
-       man/SD_JOURNAL_FOREACH_DATA.3 \
-       man/sd_journal_get_monotonic_usec.3 \
-       man/sd_journal_get_cutoff_monotonic_usec.3 \
-       man/sd_journal_reliable_fd.3 \
-       man/sd_journal_process.3 \
-       man/sd_journal_wait.3 \
-       man/SD_JOURNAL_NOP.3 \
-       man/SD_JOURNAL_APPEND.3 \
-       man/SD_JOURNAL_INVALIDATE.3 \
-       man/sd_journal_add_disjunction.3 \
-       man/sd_journal_flush_matches.3 \
-       man/sd_journal_seek_tail.3 \
-       man/sd_journal_seek_monotonic_usec.3 \
-       man/sd_journal_seek_realtime_usec.3 \
-       man/sd_journal_seek_cursor.3 \
-       man/sd_journal_test_cursor.3 \
-       man/sd_journal_enumerate_unique.3 \
-       man/sd_journal_restart_unique.3 \
-       man/SD_JOURNAL_FOREACH_UNIQUE.3 \
-       man/sd_journal_get_catalog_for_message_id.3
 
-if HAVE_KMOD
-MANPAGES += \
-       man/modules-load.d.5 \
-       man/systemd-modules-load.service.8
-MANPAGES_ALIAS += \
-       man/systemd-modules-load.8
-man/systemd-modules-load.8: man/systemd-modules-load.service.8
-endif
+MANPAGES =
+MANPAGES_ALIAS =
 
-if HAVE_MICROHTTPD
-MANPAGES += \
-       man/systemd-journal-gatewayd.service.8
-MANPAGES_ALIAS += \
-       man/systemd-journal-gatewayd.socket.8 \
-       man/systemd-journal-gatewayd.8
-man/systemd-journal-gatewayd.socket.8: man/systemd-journal-gatewayd.service.8
-man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8
-endif
-
-if HAVE_MYHOSTNAME
-MANPAGES += \
-       man/nss-myhostname.8
-endif
-
-man/reboot.8: man/halt.8
-man/poweroff.8: man/halt.8
-man/init.1: man/systemd.1
-man/systemd-sysctl.8: man/systemd-sysctl.service.8
-man/systemd-journald.socket.8: man/systemd-journald.service.8
-man/systemd-journald.8: man/systemd-journald.service.8
-man/systemd-remount-fs.8: man/systemd-remount-fs.service.8
-man/systemd-update-utmp-shutdown.service.8: man/systemd-update-utmp-runlevel.service.8
-man/systemd-update-utmp.8: man/systemd-update-utmp-runlevel.service.8
-man/systemd-initctl.socket.8: man/systemd-initctl.service.8
-man/systemd-initctl.8: man/systemd-initctl.service.8
-man/systemd-shutdownd.socket.8: man/systemd-shutdownd.service.8
-man/systemd-shutdownd.8: man/systemd-shutdownd.service.8
-man/systemd-hibernate.service.8: man/systemd-suspend.service.8
-man/systemd-hybrid-sleep.service.8: man/systemd-suspend.service.8
-man/systemd-sleep.8: man/systemd-suspend.service.8
-man/systemd-shutdown.8: man/systemd-halt.service.8
-man/systemd-poweroff.service.8: man/systemd-halt.service.8
-man/systemd-reboot.service.8: man/systemd-halt.service.8
-man/systemd-kexec.service.8: man/systemd-halt.service.8
-man/systemd-fsck.8: man/systemd-fsck@.service.8
-man/systemd-fsck-root.service.8: man/systemd-fsck@.service.8
-man/systemd-ask-password-console.path.8: man/systemd-ask-password-console.service.8
-man/systemd-ask-password-wall.service.8: man/systemd-ask-password-console.service.8
-man/systemd-ask-password-wall.path.8: man/systemd-ask-password-console.service.8
-man/systemd-tmpfiles-setup.service.8: man/systemd-tmpfiles.8
-man/systemd-tmpfiles-clean.service.8: man/systemd-tmpfiles.8
-man/systemd-tmpfiles-clean.timer.8: man/systemd-tmpfiles.8
-man/sd_id128_t.3: man/sd-id128.3
-man/SD_ID128_MAKE.3: man/sd-id128.3
-man/SD_ID128_CONST_STR.3: man/sd-id128.3
-man/SD_ID128_FORMAT_STR.3: man/sd-id128.3
-man/SD_ID128_FORMAT_VAL.3: man/sd-id128.3
-man/sd_id128_equal.3: man/sd-id128.3
-man/sd_id128_from_string.3: man/sd_id128_to_string.3
-man/sd_id128_get_boot.3: man/sd_id128_get_machine.3
-man/sd_journal_printv.3: man/sd_journal_print.3
-man/sd_journal_send.3: man/sd_journal_print.3
-man/sd_journal_sendv.3: man/sd_journal_print.3
-man/sd_journal_perror.3: man/sd_journal_print.3
-man/SD_JOURNAL_SUPPRESS_LOCATION.3: man/sd_journal_print.3
-man/sd_journal_open_directory.3: man/sd_journal_open.3
-man/sd_journal_close.3: man/sd_journal_open.3
-man/sd_journal.3: man/sd_journal_open.3
-man/SD_JOURNAL_RUNTIME_ONLY.3: man/sd_journal_open.3
-man/SD_JOURNAL_SYSTEM_ONLY.3: man/sd_journal_open.3
-man/SD_JOURNAL_LOCAL_ONLY.3: man/sd_journal_open.3
-man/sd_journal_previous.3: man/sd_journal_next.3
-man/sd_journal_next_skip.3: man/sd_journal_next.3
-man/sd_journal_previous_skip.3: man/sd_journal_next.3
-man/SD_JOURNAL_FOREACH.3: man/sd_journal_next.3
-man/SD_JOURNAL_FOREACH_BACKWARDS.3: man/sd_journal_next.3
-man/sd_journal_enumerate_data.3: man/sd_journal_get_data.3
-man/sd_journal_restart_data.3: man/sd_journal_get_data.3
-man/SD_JOURNAL_FOREACH_DATA.3: man/sd_journal_get_data.3
-man/sd_journal_get_monotonic_usec.3: man/sd_journal_get_realtime_usec.3
-man/sd_journal_get_cutoff_monotonic_usec.3: man/sd_journal_get_cutoff_realtime_usec.3
-man/sd_journal_reliable_fd.3: man/sd_journal_get_fd.3
-man/sd_journal_process.3: man/sd_journal_get_fd.3
-man/sd_journal_wait.3: man/sd_journal_get_fd.3
-man/SD_JOURNAL_NOP.3: man/sd_journal_get_fd.3
-man/SD_JOURNAL_APPEND.3: man/sd_journal_get_fd.3
-man/SD_JOURNAL_INVALIDATE.3: man/sd_journal_get_fd.3
-man/sd_journal_add_disjunction.3: man/sd_journal_add_match.3
-man/sd_journal_flush_matches.3: man/sd_journal_add_match.3
-man/sd_journal_seek_tail.3: man/sd_journal_seek_head.3
-man/sd_journal_seek_monotonic_usec.3: man/sd_journal_seek_head.3
-man/sd_journal_seek_realtime_usec.3: man/sd_journal_seek_head.3
-man/sd_journal_seek_cursor.3: man/sd_journal_seek_head.3
-man/sd_journal_test_cursor.3: man/sd_journal_get_cursor.3
-man/sd_journal_enumerate_unique.3: man/sd_journal_query_unique.3
-man/sd_journal_restart_unique.3: man/sd_journal_query_unique.3
-man/SD_JOURNAL_FOREACH_UNIQUE.3: man/sd_journal_query_unique.3
-man/sd_journal_get_catalog_for_message_id.3: man/sd_journal_get_catalog.3
+include Makefile-man.am
 
 XML_FILES = \
        ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
+HTML_FILES = \
+       ${XML_FILES:.xml=.html}
+HTML_ALIAS = \
+       ${patsubst %.1,%.html,${patsubst %.3,%.html,${patsubst %.5,%.html,${patsubst %.7,%.html,${patsubst %.8,%.html,$(MANPAGES_ALIAS)}}}}}
 
 if ENABLE_MANPAGES
 man_MANS = \
        $(MANPAGES) \
        $(MANPAGES_ALIAS)
 
-noinst_DATA = \
-       ${XML_FILES:.xml=.html}
+noinst_DATA += \
+       $(HTML_FILES) \
+       $(HTML_ALIAS)
 
 CLEANFILES += \
-       $(MANPAGES) \
-       $(MANPAGES_ALIAS) \
-       ${XML_FILES:.xml=.html}
+       $(man_MANS) \
+       $(HTML_FILES) \
+       $(HTML_ALIAS)
+
+docs/html/man:
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(AM_V_LN)$(LN_S) -f ../../man $@
+
+noinst_DATA += \
+       docs/html/man
+
+CLEANFILES += \
+       docs/html/man
 
 if HAVE_PYTHON
-MANPAGES += \
-       man/systemd.index.7 \
-       man/systemd.directives.7
-
-XML_DIRECTIVE_FILES = \
-       man/systemd.xml \
-       man/systemd.unit.xml \
-       man/systemd.service.xml \
-       man/systemd.socket.xml \
-       man/systemd.mount.xml \
-       man/systemd.automount.xml \
-       man/systemd.swap.xml \
-       man/systemd.target.xml \
-       man/systemd.path.xml \
-       man/systemd.timer.xml \
-       man/systemd.snapshot.xml \
-       man/systemd.exec.xml \
-       man/systemd.kill.xml \
-       man/systemd.device.xml \
-       man/systemd.conf.xml \
-       man/systemd.journal-fields.xml \
-       man/systemd.time.xml \
-       man/bootchart.conf.xml
-
-man/systemd.index.xml: make-man-index.py $(filter-out man/systemd.index.xml,$(XML_FILES))
+man/index.html: man/systemd.index.html
+       $(AM_V_LN)$(LN_S) -f systemd.index.html $@
+
+noinst_DATA += \
+       man/index.html
+
+CLEANFILES += \
+       man/index.html
+
+NON_INDEX_XML_FILES = $(filter-out man/systemd.index.xml,$(XML_FILES))
+
+XML_GLOB = $(wildcard $(top_srcdir)/man/*.xml $(top_srcdir)/man/*.xml.in $(top_builddir)/man/*.xml)
+update-man-list: make-man-rules.py $(XML_GLOB)
+       $(AM_V_GEN)$(PYTHON) $^ > $(top_srcdir)/Makefile-man.tmp
+       $(AM_V_at)mv $(top_srcdir)/Makefile-man.tmp $(top_srcdir)/Makefile-man.am
+       @echo "Makefile-man.am has been regenerated"
+
+man/systemd.index.xml: make-man-index.py $(NON_INDEX_XML_FILES)
        $(AM_V_at)$(MKDIR_P) $(dir $@)
        $(AM_V_GEN)$(PYTHON) $^ > $@
 
-man/systemd.directives.xml: make-directive-index.py $(XML_DIRECTIVE_FILES)
+man/systemd.directives.xml: make-directive-index.py $(filter-out man/systemd.directives.xml,$(NON_INDEX_XML_FILES))
        $(AM_V_at)$(MKDIR_P) $(dir $@)
        $(AM_V_GEN)$(PYTHON) $^ > $@
 
 EXTRA_DIST += \
+       man/systemd.index.xml \
+       man/index.html \
+       man/systemd.directives.xml
+
+CLEANFILES += \
        man/systemd.index.xml \
        man/systemd.directives.xml
 
@@ -723,9 +579,9 @@ endif
 
 EXTRA_DIST += \
        $(XML_FILES) \
-       ${XML_FILES:.xml=.html} \
-       $(MANPAGES) \
-       $(MANPAGES_ALIAS) \
+       $(HTML_FILES) \
+       $(HTML_ALIAS) \
+       $(dist_MANS) \
        make-man-index.py \
        make-directive-index.py
 
@@ -747,6 +603,8 @@ libsystemd_shared_la_SOURCES = \
        src/shared/util.h \
        src/shared/virt.c \
        src/shared/virt.h \
+       src/shared/efivars.c \
+       src/shared/efivars.h \
        src/shared/path-util.c \
        src/shared/path-util.h \
        src/shared/time-util.c \
@@ -759,6 +617,8 @@ libsystemd_shared_la_SOURCES = \
        src/shared/fdset.h \
        src/shared/strv.c \
        src/shared/strv.h \
+       src/shared/env-util.c \
+       src/shared/env-util.h \
        src/shared/strbuf.c \
        src/shared/strbuf.h \
        src/shared/strxcpyx.c \
@@ -804,10 +664,10 @@ libsystemd_shared_la_SOURCES = \
        src/shared/time-dst.h \
        src/shared/calendarspec.c \
        src/shared/calendarspec.h \
+       src/shared/fileio.c \
+       src/shared/fileio.h \
        src/shared/output-mode.h
 
-libsystemd_shared_la_LIBADD = libsystemd-daemon.la
-
 #-------------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
        libsystemd-dbus.la
@@ -834,6 +694,8 @@ noinst_LTLIBRARIES += \
 libsystemd_units_la_SOURCES = \
        src/shared/install.c \
        src/shared/install.h \
+       src/shared/install-printf.c \
+       src/shared/install-printf.h \
        src/shared/path-lookup.c \
        src/shared/path-lookup.h
 
@@ -856,6 +718,8 @@ libsystemd_label_la_SOURCES = \
        src/shared/mkdir.h \
        src/shared/ask-password-api.c \
        src/shared/ask-password-api.h \
+       src/shared/fileio-label.c \
+       src/shared/fileio-label.h \
        src/shared/dev-setup.c \
        src/shared/dev-setup.h
 
@@ -1006,6 +870,8 @@ libsystemd_core_la_SOURCES = \
        src/core/selinux-access.h \
        src/core/selinux-setup.c \
        src/core/selinux-setup.h \
+       src/core/smack-setup.c \
+       src/core/smack-setup.h \
        src/core/ima-setup.c \
        src/core/ima-setup.h \
        src/core/locale-setup.h \
@@ -1026,6 +892,8 @@ libsystemd_core_la_SOURCES = \
        src/core/tcpwrap.h \
        src/core/cgroup-attr.c \
        src/core/cgroup-attr.h \
+       src/core/cgroup-semantics.c \
+       src/core/cgroup-semantics.h \
        src/core/securebits.h \
        src/core/initreq.h \
        src/core/special.h \
@@ -1039,7 +907,9 @@ libsystemd_core_la_SOURCES = \
        src/core/syscall-list.c \
        src/core/syscall-list.h \
        src/core/audit-fd.c \
-       src/core/audit-fd.h
+       src/core/audit-fd.h \
+       src/core/sync.c \
+       src/core/sync.h
 
 if HAVE_KMOD
 libsystemd_core_la_SOURCES += \
@@ -1059,7 +929,8 @@ libsystemd_core_la_CFLAGS = \
        $(LIBWRAP_CFLAGS) \
        $(PAM_CFLAGS) \
        $(AUDIT_CFLAGS) \
-       $(KMOD_CFLAGS)
+       $(KMOD_CFLAGS) \
+       -pthread
 
 libsystemd_core_la_LIBADD = \
        libsystemd-capability.la \
@@ -1097,7 +968,7 @@ BUILT_SOURCES += \
 
 src/core/syscall-list.txt: Makefile
        $(AM_V_at)$(MKDIR_P) $(dir $@)
-       $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/syscall.h - < /dev/null | $(AWK) '/^#define[ \t]+__NR_[^ ]+[ \t]+\(?.*[0-9]+.*\)?/ { sub(/__NR_/, "", $$2); print $$2; }' > $@
+       $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/syscall.h - < /dev/null | $(AWK) '/^#define[ \t]+__NR_[^ ]+[ \t]+[0-9(]/ { sub(/__NR_/, "", $$2); print $$2; }' > $@
 
 src/core/syscall-from-name.gperf: src/core/syscall-list.txt Makefile
        $(AM_V_at)$(MKDIR_P) $(dir $@)
@@ -1105,11 +976,11 @@ src/core/syscall-from-name.gperf: src/core/syscall-list.txt Makefile
 
 src/core/syscall-from-name.h: src/core/syscall-from-name.gperf Makefile
        $(AM_V_at)$(MKDIR_P) $(dir $@)
-       $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_syscall -H hash_syscall_name -p -C < $< > $@
+       $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_syscall -H hash_syscall_name -p -C < $< > $@
 
 src/core/syscall-to-name.h: src/core/syscall-list.txt Makefile
        $(AM_V_at)$(MKDIR_P) $(dir $@)
-       $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const syscall_names[] = { "} { printf "[__NR_%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
+       $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const syscall_names[] = { "} { printf "[SYSCALL_TO_INDEX(__NR_%s)] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
 
 # ------------------------------------------------------------------------------
 systemd_SOURCES = \
@@ -1150,7 +1021,7 @@ dbusinterface_DATA += \
        org.freedesktop.systemd1.Swap.xml \
        org.freedesktop.systemd1.Path.xml
 
-polkitpolicy_in_in_files = \
+polkitpolicy_in_in_files += \
        src/core/org.freedesktop.systemd1.policy.in.in
 
 org.freedesktop.systemd1.%.xml: systemd
@@ -1169,43 +1040,37 @@ EXTRA_DIST += \
        src/core/macros.systemd.in
 
 CLEANFILES += \
-       src/core/macros.systemd
+       src/core/macros.systemd \
+       src/core/org.freedesktop.systemd1.policy.in
 
 # ------------------------------------------------------------------------------
 noinst_PROGRAMS += \
        test-engine \
-       test-job-type \
        test-ns \
        test-loopback \
        test-hostname \
        test-daemon \
        test-cgroup \
-       test-env-replace \
-       test-strv \
        test-install \
        test-watchdog \
-       test-unit-name \
-       test-log \
-       test-unit-file \
-       test-date \
-       test-sleep \
-       test-replace-var \
-       test-sched-prio \
-       test-calendarspec \
-       test-strip-tab-ansi
+       test-log
 
-TESTS += \
+noinst_tests += \
        test-job-type \
        test-env-replace \
+       test-strbuf \
        test-strv \
+       test-strxcpyx \
        test-unit-name \
        test-unit-file \
+       test-util \
        test-date \
        test-sleep \
        test-replace-var \
        test-sched-prio \
        test-calendarspec \
-       test-strip-tab-ansi
+       test-strip-tab-ansi \
+       test-cgroup-util
 
 EXTRA_DIST += \
        test/sched_idle_bad.service \
@@ -1256,9 +1121,24 @@ test_hostname_SOURCES = \
 test_hostname_LDADD = \
        libsystemd-core.la
 
+if ENABLE_EFI
+noinst_PROGRAMS += \
+       test-efivars
+
+test_efivars_SOURCES = \
+       src/test/test-efivars.c
+
+test_efivars_LDADD = \
+       libsystemd-shared.la
+endif
+
 test_unit_name_SOURCES = \
        src/test/test-unit-name.c
 
+test_unit_name_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS)
+
 test_unit_name_LDADD = \
        libsystemd-core.la
 
@@ -1272,6 +1152,15 @@ test_unit_file_CFLAGS = \
 test_unit_file_LDADD = \
        libsystemd-core.la
 
+test_util_SOURCES = \
+       src/test/test-util.c
+
+test_util_CFLAGS = \
+       $(AM_CFLAGS)
+
+test_util_LDADD = \
+       libsystemd-core.la
+
 test_log_SOURCES = \
        src/test/test-log.c
 
@@ -1322,16 +1211,36 @@ test_cgroup_LDADD = \
        libsystemd-label.la \
        libsystemd-shared.la
 
+test_cgroup_util_SOURCES = \
+       src/test/test-cgroup-util.c
+
+test_cgroup_util_LDADD = \
+       libsystemd-label.la \
+       libsystemd-shared.la
+
 test_env_replace_SOURCES = \
        src/test/test-env-replace.c
 
 test_env_replace_LDADD = \
        libsystemd-shared.la
 
+test_strbuf_SOURCES = \
+       src/test/test-strbuf.c
+
+test_strbuf_LDADD = \
+       libsystemd-shared.la
+
 test_strv_SOURCES = \
        src/test/test-strv.c
 
 test_strv_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-id128-internal.la
+
+test_strxcpyx_SOURCES = \
+       src/test/test-strxcpyx.c
+
+test_strxcpyx_LDADD = \
        libsystemd-shared.la
 
 test_install_SOURCES = \
@@ -1344,7 +1253,8 @@ test_install_CFLAGS = \
 test_install_LDADD = \
        libsystemd-units.la \
        libsystemd-label.la \
-       libsystemd-shared.la
+       libsystemd-shared.la \
+       libsystemd-id128-internal.la
 
 test_watchdog_SOURCES = \
        src/test/test-watchdog.c
@@ -1418,8 +1328,8 @@ systemd_shutdown_LDADD = \
        libsystemd-shared.la \
        libudev.la
 
-if HAVE_KMOD
 # ------------------------------------------------------------------------------
+if HAVE_KMOD
 systemd_modules_load_SOURCES = \
        src/modules-load/modules-load.c
 
@@ -1430,8 +1340,23 @@ systemd_modules_load_CFLAGS = \
 systemd_modules_load_LDADD = \
        libsystemd-shared.la \
        $(KMOD_LIBS)
+
+rootlibexec_PROGRAMS += \
+       systemd-modules-load
+
+nodist_systemunit_DATA += \
+       units/systemd-modules-load.service
+SYSINIT_TARGET_WANTS += \
+       systemd-modules-load.service
+
+dist_udevrules_DATA += \
+       rules/80-drivers.rules
+
 endif
 
+EXTRA_DIST += \
+       units/systemd-modules-load.service.in
+
 # ------------------------------------------------------------------------------
 systemd_tmpfiles_SOURCES = \
        src/tmpfiles/tmpfiles.c
@@ -1539,6 +1464,19 @@ systemd_system_update_generator_LDADD = \
        libsystemd-label.la \
        libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
+if ENABLE_EFI
+systemgenerator_PROGRAMS +=  \
+       systemd-efi-boot-generator
+
+systemd_efi_boot_generator_SOURCES = \
+       src/efi-boot-generator/efi-boot-generator.c
+
+systemd_efi_boot_generator_LDADD = \
+       libsystemd-label.la \
+       libsystemd-shared.la
+endif
+
 # ------------------------------------------------------------------------------
 systemd_rc_local_generator_SOURCES = \
        src/rc-local-generator/rc-local-generator.c
@@ -1657,6 +1595,9 @@ systemd_tty_ask_password_agent_LDADD = \
 libsystemd_daemon_la_SOURCES = \
        src/libsystemd-daemon/sd-daemon.c
 
+libsystemd_daemon_internal_la_SOURCES = \
+        $(libsystemd_daemon_la_SOURCES)
+
 libsystemd_daemon_la_CFLAGS = \
        $(AM_CFLAGS) \
        -fvisibility=hidden \
@@ -1664,7 +1605,6 @@ libsystemd_daemon_la_CFLAGS = \
 
 libsystemd_daemon_la_LDFLAGS = \
        $(AM_LDFLAGS) \
-       -shared \
        -version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/libsystemd-daemon/libsystemd-daemon.sym
 
@@ -1684,47 +1624,12 @@ UNINSTALL_EXEC_HOOKS += libsystemd-daemon-uninstall-hook
 lib_LTLIBRARIES += \
        libsystemd-daemon.la
 
+noinst_LTLIBRARIES += \
+        libsystemd-daemon-internal.la
+
 pkgconfiglib_DATA += \
        src/libsystemd-daemon/libsystemd-daemon.pc
 
-MANPAGES += \
-       man/sd-daemon.3 \
-       man/sd_notify.3 \
-       man/sd_listen_fds.3 \
-       man/sd_is_fifo.3 \
-       man/sd_booted.3
-
-MANPAGES_ALIAS += \
-       man/sd_is_socket.3 \
-       man/sd_is_socket_unix.3 \
-       man/sd_is_socket_inet.3 \
-       man/sd_is_mq.3 \
-       man/sd_notifyf.3 \
-       man/SD_LISTEN_FDS_START.3 \
-       man/SD_EMERG.3 \
-       man/SD_ALERT.3 \
-       man/SD_CRIT.3 \
-       man/SD_ERR.3 \
-       man/SD_WARNING.3 \
-       man/SD_NOTICE.3 \
-       man/SD_INFO.3 \
-       man/SD_DEBUG.3
-
-man/sd_is_socket.3: man/sd_is_fifo.3
-man/sd_is_socket_unix.3: man/sd_is_fifo.3
-man/sd_is_socket_inet.3: man/sd_is_fifo.3
-man/sd_is_mq.3: man/sd_is_fifo.3
-man/sd_notifyf.3: man/sd_notify.3
-man/SD_LISTEN_FDS_START.3: man/sd_listen_fds.3
-man/SD_EMERG.3: man/sd-daemon.3
-man/SD_ALERT.3: man/sd-daemon.3
-man/SD_CRIT.3: man/sd-daemon.3
-man/SD_ERR.3: man/sd-daemon.3
-man/SD_WARNING.3: man/sd-daemon.3
-man/SD_NOTICE.3: man/sd-daemon.3
-man/SD_INFO.3: man/sd-daemon.3
-man/SD_DEBUG.3: man/sd-daemon.3
-
 EXTRA_DIST += \
        src/libsystemd-daemon/libsystemd-daemon.pc.in \
        src/libsystemd-daemon/libsystemd-daemon.sym
@@ -1733,6 +1638,10 @@ EXTRA_DIST += \
 if ENABLE_GTK_DOC
 SUBDIRS += \
        docs/libudev
+
+noinst_DATA += \
+       docs/html/libudev \
+       docs/html/gudev
 endif
 
 include_HEADERS += \
@@ -1763,7 +1672,9 @@ libudev_la_LDFLAGS = \
        -Wl,--version-script=$(top_srcdir)/src/libudev/libudev.sym
 
 libudev_la_LIBADD = \
-       libsystemd-shared.la
+       libsystemd-shared.la \
+       libsystemd-daemon-internal.la \
+       libsystemd-id128-internal.la
 
 pkgconfiglib_DATA += \
        src/libudev/libudev.pc
@@ -1773,7 +1684,17 @@ EXTRA_DIST += \
        src/libudev/libudev.sym
 
 CLEANFILES += \
-       src/libudev/libudev.pc
+       src/libudev/libudev.pc \
+       docs/html/libudev \
+       docs/html/gudev
+
+docs/html/libudev:
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(AM_V_LN)$(LN_S) -f ../libudev/html $@
+
+docs/html/gudev:
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(AM_V_LN)$(LN_S) -f ../gudev/html $@
 
 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
 libudev-install-hook:
@@ -1802,25 +1723,9 @@ libudev_private_la_LIBADD = \
        libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
-MANPAGES += \
-       man/udev.7 \
-       man/udevadm.8 \
-       man/systemd-udevd.service.8
-
-MANPAGES_ALIAS += \
-       man/systemd-udevd.8 \
-       man/systemd-udevd-control.socket.8 \
-       man/systemd-udevd-kernel.socket.8
-
-man/systemd-udevd.8: man/systemd-udevd.service.8
-man/systemd-udevd-control.socket.8: man/systemd-udevd.service.8
-man/systemd-udevd-kernel.socket.8: man/systemd-udevd.service.8
-
-udev-confdirs:
-       -$(MKDIR_P) $(DESTDIR)$(sysconfdir)/udev/rules.d
-       -$(MKDIR_P) $(DESTDIR)$(sysconfdir)/udev/hwdb.d
-
-INSTALL_DATA_HOOKS += udev-confdirs
+INSTALL_DIRS += \
+       $(sysconfdir)/udev/rules.d \
+       $(sysconfdir)/udev/hwdb.d
 
 dist_udevrules_DATA += \
        rules/99-systemd.rules \
@@ -1838,11 +1743,6 @@ dist_udevrules_DATA += \
        rules/80-net-name-slot.rules \
        rules/95-udev-late.rules
 
-if HAVE_KMOD
-dist_udevrules_DATA += \
-       rules/80-drivers.rules
-endif
-
 dist_udevhwdb_DATA = \
        hwdb/20-pci-vendor-product.hwdb \
        hwdb/20-pci-classes.hwdb \
@@ -1878,15 +1778,12 @@ CLEANFILES += \
        units/systemd-udev-trigger.service \
        units/systemd-udev-settle.service
 
-systemd-install-hook:
-       $(MKDIR_P) $(DESTDIR)$(systemunitdir)/sockets.target.wants
-       ln -sf ../systemd-udevd-control.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/systemd-udevd-control.socket
-       ln -sf ../systemd-udevd-kernel.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/systemd-udevd-kernel.socket
-       $(MKDIR_P) $(DESTDIR)$(systemunitdir)/sysinit.target.wants
-       ln -sf ../systemd-udevd.service $(DESTDIR)$(systemunitdir)/sysinit.target.wants/systemd-udevd.service
-       ln -sf ../systemd-udev-trigger.service $(DESTDIR)$(systemunitdir)/sysinit.target.wants/systemd-udev-trigger.service
-
-INSTALL_DATA_HOOKS += systemd-install-hook
+SOCKETS_TARGET_WANTS += \
+       systemd-udevd-control.socket \
+       systemd-udevd-kernel.socket
+SYSINIT_TARGET_WANTS += \
+       systemd-udevd.service \
+       systemd-udev-trigger.service
 
 bin_PROGRAMS += \
        udevadm
@@ -1911,8 +1808,7 @@ libudev_core_la_SOURCES = \
        src/udev/udev-builtin-input_id.c \
        src/udev/udev-builtin-net_id.c \
        src/udev/udev-builtin-path_id.c \
-       src/udev/udev-builtin-usb_id.c \
-       src/libsystemd-daemon/sd-daemon.c
+       src/udev/udev-builtin-usb_id.c
 
 libudev_core_la_CFLAGS = \
        $(AM_CFLAGS) \
@@ -1922,6 +1818,7 @@ libudev_core_la_CFLAGS = \
 libudev_core_la_LIBADD = \
        libudev-private.la \
        libsystemd-label.la \
+       libsystemd-daemon-internal.la \
        libsystemd-shared.la \
        $(BLKID_LIBS) \
        $(KMOD_LIBS)
@@ -1980,7 +1877,7 @@ INSTALL_DATA_HOOKS += \
        hwdb-update-hook
 
 hwdb-remove-hook:
-       -test -n "$(DESTDIR)" || rm -f $(HWDB_BIN)
+       -test -n "$(DESTDIR)" || rm -f /etc/udev/hwdb.bin
 
 # ------------------------------------------------------------------------------
 TESTS += \
@@ -2266,7 +2163,6 @@ EXTRA_DIST += \
        src/gudev/seed-example-enum.js \
        src/gudev/seed-example.js
 
-
 # ------------------------------------------------------------------------------
 if ENABLE_KEYMAP
 keymap_SOURCES = \
@@ -2336,6 +2232,7 @@ dist_udevkeymap_DATA = \
        keymaps/hewlett-packard-tablet \
        keymaps/hewlett-packard-tx2 \
        keymaps/hewlett-packard_elitebook-8440p \
+       keymaps/hewlett-packard-hdx9494nr \
        keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
        keymaps/inventec-symphony_6.0_7.0 \
        keymaps/lenovo-3000 \
@@ -2387,7 +2284,7 @@ src/udev/keymap/keys-from-name.gperf: src/udev/keymap/keys.txt Makefile
        $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
 
 src/udev/keymap/keys-from-name.h: src/udev/keymap/keys-from-name.gperf Makefile
-       $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
+       $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
 
 src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt Makefile
        $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
@@ -2422,7 +2319,6 @@ libsystemd_id128_la_CFLAGS = \
 
 libsystemd_id128_la_LDFLAGS = \
        $(AM_LDFLAGS) \
-       -shared \
        -version-info $(LIBSYSTEMD_ID128_CURRENT):$(LIBSYSTEMD_ID128_REVISION):$(LIBSYSTEMD_ID128_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/libsystemd-id128/libsystemd-id128.sym
 
@@ -2439,10 +2335,7 @@ test_id128_LDADD = \
        libsystemd-shared.la \
        libsystemd-id128-internal.la
 
-noinst_PROGRAMS += \
-       test-id128
-
-TESTS += \
+noinst_tests += \
        test-id128
 
 pkginclude_HEADERS += \
@@ -2471,6 +2364,18 @@ EXTRA_DIST += \
        src/libsystemd-id128/libsystemd-id128.pc.in \
        src/libsystemd-id128/libsystemd-id128.sym
 
+# ------------------------------------------------------------------------------
+
+rootlibexec_PROGRAMS += \
+       systemd-activate
+
+systemd_activate_SOURCES = \
+       src/activate/activate.c
+
+systemd_activate_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-daemon.la
+
 # ------------------------------------------------------------------------------
 systemd_journald_SOURCES = \
        src/journal/journald.c \
@@ -2512,13 +2417,6 @@ journalctl_LDADD += \
        $(QRENCODE_LIBS)
 endif
 
-systemd_coredumpctl_SOURCES = \
-       src/journal/coredumpctl.c
-
-systemd_coredumpctl_LDADD = \
-       libsystemd-shared.la \
-       libsystemd-journal.la
-
 test_journal_SOURCES = \
        src/journal/test-journal.c
 
@@ -2616,13 +2514,13 @@ libsystemd_journal_la_CFLAGS = \
 
 libsystemd_journal_la_LDFLAGS = \
        $(AM_LDFLAGS) \
-       -shared \
        -version-info $(LIBSYSTEMD_JOURNAL_CURRENT):$(LIBSYSTEMD_JOURNAL_REVISION):$(LIBSYSTEMD_JOURNAL_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/journal/libsystemd-journal.sym
 
 libsystemd_journal_la_LIBADD = \
        libsystemd-shared.la \
        libsystemd-label.la \
+       libsystemd-daemon-internal.la \
        libsystemd-id128-internal.la
 
 libsystemd_journal_internal_la_SOURCES = \
@@ -2707,9 +2605,16 @@ libsystemd_journal_internal_la_LIBADD += \
        $(GCRYPT_LIBS)
 endif
 
-# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
+# move lib from $(libdir) to $(rootlibdir) and update devel link, if
+# needed. Also, grant read access to new journal files to members of
+# "adm" and "wheel".
 libsystemd-journal-install-hook:
        libname=libsystemd-journal.so && $(move-to-rootlibdir)
+       -$(MKDIR_P) $(DESTDIR)/var/log/journal
+       -chown 0:0 $(DESTDIR)/var/log/journal
+       -chmod 755 $(DESTDIR)/var/log/journal
+       -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
+       -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
 
 libsystemd-journal-uninstall-hook:
        rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
@@ -2717,6 +2622,8 @@ libsystemd-journal-uninstall-hook:
 INSTALL_EXEC_HOOKS += libsystemd-journal-install-hook
 UNINSTALL_EXEC_HOOKS += libsystemd-journal-uninstall-hook
 
+# ------------------------------------------------------------------------------
+
 # Update catalog on installation. Do not bother if installing
 # in DESTDIR, since this is likely for packaging purposes.
 catalog-update-hook:
@@ -2732,17 +2639,10 @@ UNINSTALL_DATA_HOOKS += \
        catalog-remove-hook
 
 noinst_PROGRAMS += \
-       test-journal \
-       test-journal-send \
-       test-journal-syslog \
-       test-journal-match \
        test-journal-enum \
-       test-journal-stream \
-       test-journal-verify \
-       test-mmap-cache \
        test-catalog
 
-TESTS += \
+noinst_tests += \
        test-journal \
        test-journal-send \
        test-journal-syslog \
@@ -2768,7 +2668,6 @@ rootbin_PROGRAMS += \
        journalctl
 
 bin_PROGRAMS += \
-       systemd-coredumpctl \
        systemd-cat
 
 dist_systemunit_DATA += \
@@ -2787,20 +2686,11 @@ pkgconfiglib_DATA += \
 dist_catalog_DATA = \
        catalog/systemd.catalog
 
-journal-install-data-hook:
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(systemunitdir)/sockets.target.wants \
-               $(DESTDIR)$(systemunitdir)/sysinit.target.wants
-       ( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
-               rm -f systemd-journald.socket && \
-               $(LN_S) ../systemd-journald.socket )
-       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
-               rm -f systemd-journald.service systemd-journal-flush.service && \
-               $(LN_S) ../systemd-journald.service && \
-               $(LN_S) ../systemd-journal-flush.service )
-
-INSTALL_DATA_HOOKS += \
-       journal-install-data-hook
+SOCKETS_TARGET_WANTS += \
+       systemd-journald.socket
+SYSINIT_TARGET_WANTS += \
+       systemd-journald.service \
+       systemd-journal-flush.service
 
 EXTRA_DIST += \
        src/journal/libsystemd-journal.pc.in \
@@ -2812,15 +2702,17 @@ EXTRA_DIST += \
 CLEANFILES += \
        src/journal/journald-gperf.c
 
+# ------------------------------------------------------------------------------
 if HAVE_MICROHTTPD
-
 gatewayddocumentrootdir=$(pkgdatadir)/gatewayd
 
 rootlibexec_PROGRAMS += \
        systemd-journal-gatewayd
 
 systemd_journal_gatewayd_SOURCES = \
-       src/journal/journal-gatewayd.c
+       src/journal/journal-gatewayd.c \
+       src/journal/microhttpd-util.h \
+       src/journal/microhttpd-util.c
 
 systemd_journal_gatewayd_LDADD = \
        libsystemd-shared.la \
@@ -2867,6 +2759,19 @@ endif
 rootlibexec_PROGRAMS += \
        systemd-coredump
 
+systemd_coredumpctl_SOURCES = \
+       src/journal/coredumpctl.c
+
+systemd_coredumpctl_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-journal.la
+
+bin_PROGRAMS += \
+       systemd-coredumpctl
+
+dist_bashcompletion_DATA += \
+       shell-completion/bash/systemd-coredumpctl
+
 sysctl_DATA = \
        sysctl.d/coredump.conf
 
@@ -2895,28 +2800,14 @@ dist_systemunit_DATA += \
 nodist_systemunit_DATA += \
        units/systemd-binfmt.service
 
-binfmt-install-data-hook:
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(prefix)/lib/binfmt.d \
-               $(DESTDIR)$(sysconfdir)/binfmt.d \
-               $(DESTDIR)$(systemunitdir)/sysinit.target.wants
-       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
-               rm -f systemd-binfmt.service \
-                       proc-sys-fs-binfmt_misc.automount && \
-               $(LN_S) ../systemd-binfmt.service systemd-binfmt.service && \
-               $(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount )
+INSTALL_DIRS += \
+       $(prefix)/lib/binfmt.d \
+       $(sysconfdir)/binfmt.d
 
-INSTALL_DATA_HOOKS += \
-       binfmt-install-data-hook
+SYSINIT_TARGET_WANTS += \
+       systemd-binfmt.service \
+       proc-sys-fs-binfmt_misc.automount
 
-MANPAGES += \
-       man/binfmt.d.5 \
-       man/systemd-binfmt.service.8
-
-MANPAGES_ALIAS +=  \
-       man/systemd-binfmt.8
-
-man/systemd-binfmt.8: man/systemd-binfmt.service.8
 endif
 
 EXTRA_DIST += \
@@ -2936,24 +2827,8 @@ rootlibexec_PROGRAMS += \
 nodist_systemunit_DATA += \
        units/systemd-vconsole-setup.service
 
-vconsole-install-data-hook:
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(systemunitdir)/sysinit.target.wants
-       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
-               rm -f systemd-vconsole-setup.service && \
-               $(LN_S) ../systemd-vconsole-setup.service systemd-vconsole-setup.service )
-
-INSTALL_DATA_HOOKS += \
-       vconsole-install-data-hook
-
-MANPAGES += \
-       man/vconsole.conf.5 \
-       man/systemd-vconsole-setup.service.8
-
-MANPAGES_ALIAS += \
-       man/systemd-vconsole-setup.8
-
-man/systemd-vconsole-setup.8: man/systemd-vconsole-setup.service.8
+SYSINIT_TARGET_WANTS += \
+       systemd-vconsole-setup.service
 endif
 
 EXTRA_DIST += \
@@ -2990,22 +2865,6 @@ nodist_systemunit_DATA += \
        units/systemd-readahead-replay.service \
        units/systemd-readahead-done.service
 
-MANPAGES += \
-       man/sd_readahead.3 \
-       man/sd-readahead.3 \
-       man/systemd-readahead-replay.service.8
-
-MANPAGES_ALIAS += \
-       man/systemd-readahead-collect.service.8 \
-       man/systemd-readahead-done.service.8 \
-       man/systemd-readahead-done.timer.8 \
-       man/systemd-readahead.8
-
-man/systemd-readahead-collect.service.8: man/systemd-readahead-replay.service.8
-man/systemd-readahead-done.service.8: man/systemd-readahead-replay.service.8
-man/systemd-readahead-done.timer.8: man/systemd-readahead-replay.service.8
-man/systemd-readahead.8: man/systemd-readahead-replay.service.8
-
 endif
 
 EXTRA_DIST += \
@@ -3021,9 +2880,8 @@ systemd_bootchart_SOURCES = \
        src/bootchart/log.c \
        src/bootchart/svg.c
 
-MANPAGES += \
-       man/systemd-bootchart.1 \
-       man/bootchart.conf.5
+systemd_bootchart_LDADD = \
+       libsystemd-shared.la
 
 rootlibexec_PROGRAMS += \
        systemd-bootchart
@@ -3045,15 +2903,6 @@ systemd_quotacheck_SOURCES = \
 
 systemd_quotacheck_LDADD = \
        libsystemd-shared.la
-
-MANPAGES += \
-       man/systemd-quotacheck.service.8
-
-MANPAGES_ALIAS += \
-       man/systemd-quotacheck.8
-
-man/systemd-quotacheck.8: man/systemd-quotacheck.service.8
-
 endif
 
 EXTRA_DIST += \
@@ -3078,29 +2927,10 @@ systemd_random_seed_LDADD = \
        libsystemd-label.la \
        libsystemd-shared.la
 
-randomseed-install-data-hook:
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(systemunitdir)/shutdown.target.wants \
-               $(DESTDIR)$(systemunitdir)/sysinit.target.wants
-       ( cd $(DESTDIR)$(systemunitdir)/shutdown.target.wants && \
-               rm -f systemd-random-seed-save.service && \
-               $(LN_S) ../systemd-random-seed-save.service systemd-random-seed-save.service )
-       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
-               rm -f systemd-random-seed-load.service && \
-               $(LN_S) ../systemd-random-seed-load.service systemd-random-seed-load.service )
-
-INSTALL_DATA_HOOKS += \
-       randomseed-install-data-hook
-
-MANPAGES += \
-       man/systemd-random-seed-load.service.8
-
-MANPAGES_ALIAS +=  \
-       man/systemd-random-seed-save.service.8 \
-       man/systemd-random-seed.8
-
-man/systemd-random-seed-save.service.8: man/systemd-random-seed-load.service.8
-man/systemd-random-seed.8: man/systemd-random-seed-load.service.8
+SHUTDOWN_TARGET_WANTS += \
+       systemd-random-seed-save.service
+SYSINIT_TARGET_WANTS += \
+       systemd-random-seed-load.service
 
 endif
 
@@ -3139,25 +2969,8 @@ systemd_cryptsetup_generator_LDADD = \
        libsystemd-label.la \
        libsystemd-shared.la
 
-cryptsetup-install-data-hook:
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(systemunitdir)/sysinit.target.wants
-       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
-               rm -f cryptsetup.target && \
-               $(LN_S) ../cryptsetup.target cryptsetup.target )
-
-INSTALL_DATA_HOOKS += \
-       cryptsetup-install-data-hook
-
-MANPAGES += \
-       man/systemd-cryptsetup@.service.8 \
-       man/systemd-cryptsetup-generator.8 \
-       man/crypttab.5
-
-MANPAGES_ALIAS += \
-       man/systemd-cryptsetup.8
-
-man/systemd-cryptsetup.8: man/systemd-cryptsetup@.service.8
+SYSINIT_TARGET_WANTS += \
+       cryptsetup.target
 
 endif
 
@@ -3171,6 +2984,7 @@ systemd_hostnamed_CFLAGS = \
        $(DBUS_CFLAGS)
 
 systemd_hostnamed_LDADD = \
+       libsystemd-label.la \
        libsystemd-shared.la \
        libsystemd-daemon.la \
        libsystemd-dbus.la
@@ -3198,21 +3012,8 @@ org.freedesktop.hostname1.xml: systemd-hostnamed
                $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
                $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
 
-hostnamed-install-data-hook:
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f dbus-org.freedesktop.hostname1.service && \
-               $(LN_S) systemd-hostnamed.service dbus-org.freedesktop.hostname1.service )
-
-INSTALL_DATA_HOOKS += \
-       hostnamed-install-data-hook
-
-MANPAGES += \
-       man/systemd-hostnamed.service.8
-
-MANPAGES_ALIAS += \
-       man/systemd-hostnamed.8
-
-man/systemd-hostnamed.8: man/systemd-hostnamed.service.8
+SYSTEM_UNIT_ALIASES += \
+       systemd-hostnamed.service dbus-org.freedesktop.hostname1.service
 
 hostnamectl_SOURCES = \
        src/hostname/hostnamectl.c
@@ -3229,8 +3030,8 @@ hostnamectl_LDADD = \
 bin_PROGRAMS += \
        hostnamectl
 
-MANPAGES += \
-       man/hostnamectl.1
+dist_bashcompletion_DATA += \
+       shell-completion/bash/hostnamectl
 
 endif
 
@@ -3278,21 +3079,8 @@ org.freedesktop.locale1.xml: systemd-localed
                $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
                $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
 
-localed-install-data-hook:
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f dbus-org.freedesktop.locale1.service && \
-               $(LN_S) systemd-localed.service dbus-org.freedesktop.locale1.service )
-
-INSTALL_DATA_HOOKS += \
-       localed-install-data-hook
-
-MANPAGES += \
-       man/systemd-localed.service.8
-
-MANPAGES_ALIAS += \
-       man/systemd-localed.8
-
-man/systemd-localed.8: man/systemd-localed.service.8
+SYSTEM_UNIT_ALIASES += \
+       systemd-localed.service dbus-org.freedesktop.locale1.service
 
 dist_pkgdata_DATA += \
        src/locale/kbd-model-map
@@ -3318,8 +3106,8 @@ localectl_LDADD = \
 bin_PROGRAMS += \
        localectl
 
-MANPAGES += \
-       man/localectl.1
+dist_bashcompletion_DATA += \
+       shell-completion/bash/localectl
 
 endif
 
@@ -3339,6 +3127,7 @@ systemd_timedated_CFLAGS = \
        $(DBUS_CFLAGS)
 
 systemd_timedated_LDADD = \
+       libsystemd-label.la \
        libsystemd-shared.la \
        libsystemd-daemon.la \
        libsystemd-dbus.la
@@ -3366,24 +3155,12 @@ org.freedesktop.timedate1.xml: systemd-timedated
 dbusinterface_DATA += \
        org.freedesktop.timedate1.xml
 
-timedated-install-data-hook:
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(prefix)/lib/systemd/ntp-units.d \
-               $(DESTDIR)$(sysconfdir)/systemd/ntp-units.d
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f dbus-org.freedesktop.timedate1.service  && \
-               $(LN_S) systemd-timedated.service dbus-org.freedesktop.timedate1.service )
-
-INSTALL_DATA_HOOKS += \
-       timedated-install-data-hook
-
-MANPAGES += \
-       man/systemd-timedated.service.8
+INSTALL_DIRS += \
+       $(prefix)/lib/systemd/ntp-units.d \
+       $(sysconfdir)/systemd/ntp-units.d
 
-MANPAGES_ALIAS += \
-       man/systemd-timedated.8
-
-man/systemd-timedated.8: man/systemd-timedated.service.8
+SYSTEM_UNIT_ALIASES += \
+       systemd-timedated.service dbus-org.freedesktop.timedate1.service
 
 timedatectl_SOURCES = \
        src/timedate/timedatectl.c
@@ -3399,9 +3176,8 @@ timedatectl_LDADD = \
 bin_PROGRAMS += \
        timedatectl
 
-MANPAGES += \
-       man/timedatectl.1
-
+dist_bashcompletion_DATA += \
+       shell-completion/bash/timedatectl
 endif
 
 polkitpolicy_in_files += \
@@ -3410,6 +3186,46 @@ polkitpolicy_in_files += \
 EXTRA_DIST += \
        units/systemd-timedated.service.in
 
+# ------------------------------------------------------------------------------
+if ENABLE_EFI
+bootctl_SOURCES = \
+       src/boot/boot.h \
+       src/boot/boot-loader.h \
+       src/boot/bootctl.c \
+       src/boot/boot-loader.c \
+       src/boot/boot-efi.c
+
+bootctl_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-id128.la \
+       libsystemd-daemon.la
+
+bin_PROGRAMS += \
+       bootctl
+endif
+
+# ------------------------------------------------------------------------------
+if HAVE_MYHOSTNAME
+libnss_myhostname_la_SOURCES = \
+       src/nss-myhostname/nss-myhostname.c \
+       src/nss-myhostname/ifconf.h \
+       src/nss-myhostname/netlink.c
+
+libnss_myhostname_la_CFLAGS = \
+       $(AM_CFLAGS)
+
+libnss_myhostname_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -module \
+       -export-dynamic \
+       -avoid-version \
+       -shared \
+       -shrext .so.2
+
+lib_LTLIBRARIES += \
+       libnss_myhostname.la
+endif
+
 # ------------------------------------------------------------------------------
 if ENABLE_LOGIND
 systemd_logind_SOURCES = \
@@ -3484,6 +3300,9 @@ loginctl_LDADD = \
 rootbin_PROGRAMS += \
        loginctl
 
+dist_bashcompletion_DATA += \
+       shell-completion/bash/loginctl
+
 systemd_inhibit_SOURCES = \
        src/login/inhibit.c
 
@@ -3529,7 +3348,6 @@ libsystemd_login_la_CFLAGS = \
 
 libsystemd_login_la_LDFLAGS = \
        $(AM_LDFLAGS) \
-       -shared \
        -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/login/libsystemd-login.sym
 
@@ -3568,27 +3386,6 @@ pamlib_LTLIBRARIES = \
        pam_systemd.la
 endif
 
-if HAVE_MYHOSTNAME
-libnss_myhostname_la_SOURCES = \
-       src/nss-myhostname/nss-myhostname.c \
-       src/nss-myhostname/ifconf.h \
-       src/nss-myhostname/netlink.c
-
-libnss_myhostname_la_CFLAGS = \
-       $(AM_CFLAGS)
-
-libnss_myhostname_la_LDFLAGS = \
-       $(AM_LDFLAGS) \
-       -module \
-       -export-dynamic \
-       -avoid-version \
-       -shared \
-       -shrext .so.2
-
-lib_LTLIBRARIES += \
-       libnss_myhostname.la
-endif
-
 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
 libsystemd-login-install-hook:
        libname=libsystemd-login.so && $(move-to-rootlibdir)
@@ -3627,20 +3424,15 @@ pkgconfiglib_DATA += \
 polkitpolicy_files += \
        src/login/org.freedesktop.login1.policy
 
-logind-install-data-hook:
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
-               $(DESTDIR)$(systemdstatedir)
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f dbus-org.freedesktop.login1.service && \
-               $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service)
-       ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
-               rm -f systemd-logind.service systemd-user-sessions.service && \
-               $(LN_S) ../systemd-logind.service systemd-logind.service && \
-               $(LN_S) ../systemd-user-sessions.service systemd-user-sessions.service )
+INSTALL_DIRS += \
+       $(systemdstatedir)
 
-INSTALL_DATA_HOOKS += \
-       logind-install-data-hook
+MULTI_USER_TARGET_WANTS += \
+       systemd-logind.service \
+       systemd-user-sessions.service
+
+SYSTEM_UNIT_ALIASES += \
+       systemd-logind.service dbus-org.freedesktop.login1.service
 
 systemd_multi_seat_x_SOURCES = \
        src/login/multi-seat-x.c
@@ -3660,68 +3452,6 @@ nodist_udevrules_DATA += \
        src/login/71-seat.rules \
        src/login/73-seat-late.rules
 
-MANPAGES += \
-       man/systemd-logind.service.8 \
-       man/logind.conf.5 \
-       man/sd-login.3 \
-       man/loginctl.1 \
-       man/sd_login_monitor_new.3 \
-       man/sd_pid_get_session.3 \
-       man/sd_uid_get_state.3 \
-       man/sd_session_is_active.3 \
-       man/sd_seat_get_active.3 \
-       man/sd_get_seats.3 \
-       man/systemd-user-sessions.service.8
-
-MANPAGES_ALIAS += \
-       man/sd_login_monitor_unref.3 \
-       man/sd_login_monitor_flush.3 \
-       man/sd_login_monitor_get_fd.3 \
-       man/sd_login_monitor.3 \
-       man/sd_session_get_uid.3 \
-       man/sd_session_get_seat.3 \
-       man/sd_session_get_service.3 \
-       man/sd_session_get_state.3 \
-       man/sd_session_get_type.3 \
-       man/sd_session_get_class.3 \
-       man/sd_session_get_display.3 \
-       man/sd_session_get_tty.3 \
-       man/sd_pid_get_owner_uid.3 \
-       man/sd_pid_get_unit.3 \
-       man/sd_uid_is_on_seat.3 \
-       man/sd_uid_get_sessions.3 \
-       man/sd_uid_get_seats.3 \
-       man/sd_seat_get_sessions.3 \
-       man/sd_seat_can_multi_session.3 \
-       man/sd_get_sessions.3 \
-       man/sd_get_uids.3 \
-       man/systemd-logind.8 \
-       man/systemd-user-sessions.8
-
-man/systemd-logind.8: man/systemd-logind.service.8
-man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3
-man/sd_login_monitor_flush.3: man/sd_login_monitor_new.3
-man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3
-man/sd_login_monitor.3: man/sd_login_monitor_new.3
-man/sd_session_get_uid.3: man/sd_session_is_active.3
-man/sd_session_get_seat.3: man/sd_session_is_active.3
-man/sd_session_get_service.3: man/sd_session_is_active.3
-man/sd_session_get_state.3: man/sd_session_is_active.3
-man/sd_session_get_type.3: man/sd_session_is_active.3
-man/sd_session_get_class.3: man/sd_session_is_active.3
-man/sd_session_get_display.3: man/sd_session_is_active.3
-man/sd_session_get_tty.3: man/sd_session_is_active.3
-man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3
-man/sd_pid_get_unit.3: man/sd_pid_get_session.3
-man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
-man/sd_uid_get_sessions.3: man/sd_uid_get_state.3
-man/sd_uid_get_seats.3: man/sd_uid_get_state.3
-man/sd_seat_get_sessions.3: man/sd_seat_get_active.3
-man/sd_seat_can_multi_session.3: man/sd_seat_get_active.3
-man/sd_get_sessions.3: man/sd_get_seats.3
-man/sd_get_uids.3: man/sd_get_seats.3
-man/systemd-user-sessions.8: man/systemd-user-sessions.service.8
-
 CLEANFILES += \
        src/login/logind-gperf.c \
        src/login/71-seat.rules \
@@ -3741,11 +3471,11 @@ EXTRA_DIST += \
        units/systemd-user-sessions.service.in
 
 # ------------------------------------------------------------------------------
-
 if HAVE_PYTHON_DEVEL
-
 pkgpyexec_LTLIBRARIES = \
-       _journal.la
+       _journal.la \
+       id128.la \
+       _reader.la
 
 _journal_la_SOURCES = \
        src/python-systemd/_journal.c
@@ -3765,14 +3495,82 @@ _journal_la_LIBADD = \
        $(PYTHON_LIBS) \
        libsystemd-journal.la
 
+id128_la_SOURCES = \
+       src/python-systemd/id128.c \
+       src/python-systemd/id128-constants.h \
+       src/python-systemd/pyutil.c \
+       src/python-systemd/pyutil.h
+
+id128_la_CFLAGS = \
+       $(AM_CFLAGS) \
+        -fvisibility=default \
+       $(PYTHON_CFLAGS) \
+       -I$(top_builddir)/src/python-systemd
+
+id128_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -shared \
+       -module \
+       -avoid-version
+
+id128_la_LIBADD = \
+       $(PYTHON_LIBS) \
+       libsystemd-id128.la
+
+_reader_la_SOURCES = \
+       src/python-systemd/_reader.c \
+       src/python-systemd/pyutil.c \
+       src/python-systemd/pyutil.h
+
+_reader_la_CFLAGS = \
+       $(AM_CFLAGS) \
+        -fvisibility=default \
+       $(PYTHON_CFLAGS)
+
+_reader_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -shared \
+       -module \
+       -avoid-version
+
+_reader_la_LIBADD = \
+       $(PYTHON_LIBS) \
+       libsystemd-journal.la \
+       libsystemd-id128.la \
+       libsystemd-shared.la
+
 dist_pkgpyexec_PYTHON = \
        src/python-systemd/journal.py \
        src/python-systemd/__init__.py
 
+src/python-systemd/id128-constants.h: src/systemd/sd-messages.h Makefile
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(AM_V_GEN)$(SED) -n -r 's/,//g; s/#define (SD_MESSAGE_[A-Z0-9_]+)\s.*/add_id(m, "\1", \1) JOINER/p' <$< >$@
+
+BUILT_SOURCES += \
+       src/python-systemd/id128-constants.h
+
+PAPER = $(shell cat /etc/papersize 2>/dev/null || echo a4)
+SPHINXOPTS = -D latex_paper_size=$(PAPER)
+sphinx-%:
+       $(AM_V_at)test -n "$(SPHINX_BUILD)" || { echo " *** sphinx-build is not available"; exit 1; }
+       $(AM_V_GEN)PYTHONPATH=$(DESTDIR)$(pyexecdir) LD_LIBRARY_PATH=$(DESTDIR)$(libdir) $(SPHINX_BUILD) -b $* $(SPHINXOPTS) $(top_srcdir)/src/python-systemd/docs $(top_builddir)/docs/html/python-systemd/
+       $(AM_V_at)echo Output has been generated in $(abs_top_builddir)/docs/html/python-systemd/
+
+destdir-sphinx: all
+       dir="$$(mktemp -d /tmp/systemd-install.XXXXXX)" && \
+               $(MAKE) DESTDIR="$$dir" install && \
+               $(MAKE) DESTDIR="$$dir" sphinx-html && \
+               rm -rf "$$dir"
+
 endif
 
-# ------------------------------------------------------------------------------
+CLEAN_LOCAL_HOOKS += clean-sphinx
+
+clean-sphinx:
+       -rm -rf docs/html/python-systemd/
 
+# ------------------------------------------------------------------------------
 SED_PROCESS = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
        $(SED)  -e 's,@rootlibexecdir\@,$(rootlibexecdir),g' \
@@ -3781,6 +3579,8 @@ SED_PROCESS = \
                -e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \
                -e 's,@SYSTEMD_NOTIFY\@,$(rootbindir)/systemd-notify,g' \
                -e 's,@pkgsysconfdir\@,$(pkgsysconfdir),g' \
+               -e 's,@SYSTEM_CONFIG_UNIT_PATH\@,$(pkgsysconfdir)/system,g' \
+               -e 's,@USER_CONFIG_UNIT_PATH\@,$(pkgsysconfdir)/user,g' \
                -e 's,@pkgdatadir\@,$(pkgdatadir),g' \
                -e 's,@systemunitdir\@,$(systemunitdir),g' \
                -e 's,@userunitdir\@,$(userunitdir),g' \
@@ -3839,35 +3639,27 @@ src/%.policy.in: src/%.policy.in.in Makefile
        $(SED_PROCESS)
        $(AM_V_GEN)chmod +x $@
 
-src/analyze/systemd-analyze: %: %.in Makefile
-       $(SED_PROCESS)
-       $(AM_V_GEN)chmod +x $@
-
 src/%.c: src/%.gperf
        $(AM_V_at)$(MKDIR_P) $(dir $@)
-       $(AM_V_GEN)$(GPERF) < $< > $@
+       $(AM_V_GPERF)$(GPERF) < $< > $@
 
 src/%: src/%.m4
        $(AM_V_at)$(MKDIR_P) $(dir $@)
-       $(AM_V_GEN)$(M4) -P $(M4_DEFINES) < $< > $@
-
-M4_PROCESS_SYSTEM = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
-       $(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@
-
-M4_PROCESS_USER = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
-       $(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@
+       $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@
 
 units/%: units/%.m4 Makefile
-       $(M4_PROCESS_SYSTEM)
+       $(AM_V_M4)$(MKDIR_P) $(dir $@)
+       $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@
 
 units/user/%: units/%.m4 Makefile
-       $(M4_PROCESS_USER)
+       $(AM_V_M4)$(MKDIR_P) $(dir $@)
+       $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@
 
+if ENABLE_POLKIT
 nodist_polkitpolicy_DATA = \
        $(polkitpolicy_files) \
        $(polkitpolicy_in_in_files:.policy.in.in=.policy)
+endif
 
 EXTRA_DIST += \
        $(polkitpolicy_in_files) \
@@ -3876,11 +3668,11 @@ EXTRA_DIST += \
 CLEANFILES += \
        $(nodist_systemunit_DATA) \
        $(nodist_userunit_DATA) \
-       $(nodist_man_MANS) \
        $(pkgconfigdata_DATA) \
        $(pkgconfiglib_DATA) \
        $(nodist_polkitpolicy_DATA)
 
+# ------------------------------------------------------------------------------
 if ENABLE_MANPAGES
 XSLTPROC_FLAGS = \
        --nonet \
@@ -3891,11 +3683,11 @@ XSLTPROC_FLAGS = \
        --stringparam man.copyright.section.enabled 0
 
 XSLTPROC_PROCESS_MAN = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+       $(AM_V_XSLT)$(MKDIR_P) $(dir $@) && \
        $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
 
 XSLTPROC_PROCESS_HTML = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+       $(AM_V_XSLT)$(MKDIR_P) $(dir $@) && \
        $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
 
 man/%.1: man/%.xml
@@ -3916,11 +3708,13 @@ man/%.8: man/%.xml
 man/%.html: man/%.xml man/custom-html.xsl
        $(XSLTPROC_PROCESS_HTML)
 
-CLEANFILES += \
-       $(dist_man_MANS) \
-       ${XML_FILES:.xml=.html}
+define html-alias
+       $(AM_V_LN)$(LN_S) $(notdir $<) $@
+endef
+
 endif
 
+# ------------------------------------------------------------------------------
 DBUS_PREPROCESS = $(CPP) -P $(CFLAGS) $(DBUS_CFLAGS) -imacros dbus/dbus-protocol.h
 
 CLEANFILES += \
@@ -3942,7 +3736,6 @@ docs/var-log/README: docs/var-log/README.in
 CLEANFILES += \
        docs/sysvinit/README \
        docs/var-log/README
-
 endif
 
 EXTRA_DIST += \
@@ -3952,143 +3745,110 @@ EXTRA_DIST += \
 EXTRA_DIST += \
        shell-completion/systemd-zsh-completion.zsh
 
-systemd-install-data-hook:
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(tmpfilesdir) \
-               $(DESTDIR)$(sysconfdir)/tmpfiles.d \
-               $(DESTDIR)$(prefix)/lib/modules-load.d \
-               $(DESTDIR)$(sysconfdir)/modules-load.d \
-               $(DESTDIR)$(prefix)/lib/sysctl.d \
-               $(DESTDIR)$(sysconfdir)/sysctl.d \
-               $(DESTDIR)$(systemshutdowndir) \
-               $(DESTDIR)$(systemsleepdir) \
-               $(DESTDIR)$(systemgeneratordir) \
-               $(DESTDIR)$(usergeneratordir)
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(systemunitdir) \
-               $(DESTDIR)$(userunitdir) \
-               $(DESTDIR)$(systemunitdir)/sysinit.target.wants \
-               $(DESTDIR)$(systemunitdir)/sockets.target.wants \
-               $(DESTDIR)$(systemunitdir)/basic.target.wants \
-               $(DESTDIR)$(systemunitdir)/shutdown.target.wants \
-               $(DESTDIR)$(systemunitdir)/local-fs.target.wants \
-               $(DESTDIR)$(systemunitdir)/runlevel1.target.wants \
-               $(DESTDIR)$(systemunitdir)/runlevel2.target.wants \
-               $(DESTDIR)$(systemunitdir)/runlevel3.target.wants \
-               $(DESTDIR)$(systemunitdir)/runlevel4.target.wants \
-               $(DESTDIR)$(systemunitdir)/runlevel5.target.wants \
-               $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
-               $(DESTDIR)$(systemunitdir)/graphical.target.wants \
-               $(DESTDIR)$(pkgsysconfdir)/system \
-               $(DESTDIR)$(pkgsysconfdir)/system/sysinit.target.wants \
-               $(DESTDIR)$(pkgsysconfdir)/system/local-fs.target.wants \
-               $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
-               $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
-               $(DESTDIR)$(pkgsysconfdir)/user \
-               $(DESTDIR)$(dbussessionservicedir) \
-               $(DESTDIR)$(sysconfdir)/xdg/systemd
-       ( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
-               rm -f user && \
-               $(LN_S) $(pkgsysconfdir)/user user )
-       ( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
-               rm -f systemd-initctl.socket systemd-shutdownd.socket && \
-               $(LN_S) ../systemd-initctl.socket systemd-initctl.socket && \
-               $(LN_S) ../systemd-shutdownd.socket systemd-shutdownd.socket )
-       ( cd $(DESTDIR)$(systemunitdir)/runlevel1.target.wants && \
-               rm -f systemd-update-utmp-runlevel.service && \
-               $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
-       ( cd $(DESTDIR)$(systemunitdir)/runlevel2.target.wants && \
-               rm -f systemd-update-utmp-runlevel.service && \
-               $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
-       ( cd $(DESTDIR)$(systemunitdir)/runlevel3.target.wants && \
-               rm -f systemd-update-utmp-runlevel.service && \
-               $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
-       ( cd $(DESTDIR)$(systemunitdir)/runlevel4.target.wants && \
-               rm -f systemd-update-utmp-runlevel.service && \
-               $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
-       ( cd $(DESTDIR)$(systemunitdir)/runlevel5.target.wants && \
-               rm -f systemd-update-utmp-runlevel.service && \
-               $(LN_S) ../systemd-update-utmp-runlevel.service systemd-update-utmp-runlevel.service )
-       ( cd $(DESTDIR)$(systemunitdir)/shutdown.target.wants && \
-               rm -f systemd-update-utmp-shutdown.service && \
-               $(LN_S) ../systemd-update-utmp-shutdown.service systemd-update-utmp-shutdown.service )
-       ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \
-               rm -f systemd-remount-fs.service \
-                       systemd-fsck-root.service \
-                       tmp.mount && \
-               $(LN_S) ../systemd-remount-fs.service systemd-remount-fs.service && \
-               $(LN_S) ../systemd-fsck-root.service systemd-fsck-root.service && \
-               $(LN_S) ../tmp.mount tmp.mount )
-       ( cd $(DESTDIR)$(userunitdir) && \
-               rm -f shutdown.target sockets.target bluetooth.target printer.target sound.target && \
-               $(LN_S) $(systemunitdir)/shutdown.target shutdown.target && \
-               $(LN_S) $(systemunitdir)/sockets.target sockets.target && \
-               $(LN_S) $(systemunitdir)/bluetooth.target bluetooth.target && \
-               $(LN_S) $(systemunitdir)/printer.target printer.target && \
-               $(LN_S) $(systemunitdir)/sound.target sound.target )
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f runlevel0.target runlevel1.target runlevel2.target runlevel3.target runlevel4.target runlevel5.target runlevel6.target && \
-               $(LN_S) poweroff.target runlevel0.target && \
-               $(LN_S) rescue.target runlevel1.target && \
-               $(LN_S) multi-user.target runlevel2.target && \
-               $(LN_S) multi-user.target runlevel3.target && \
-               $(LN_S) multi-user.target runlevel4.target && \
-               $(LN_S) graphical.target runlevel5.target && \
-               $(LN_S) reboot.target runlevel6.target )
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f default.target ctrl-alt-del.target autovt@.service && \
-               $(LN_S) graphical.target default.target && \
-               $(LN_S) reboot.target ctrl-alt-del.target && \
-               $(LN_S) getty@.service autovt@.service )
-       ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
-               rm -f getty.target systemd-ask-password-wall.path && \
-               $(LN_S) ../getty.target getty.target && \
-               $(LN_S) ../systemd-ask-password-wall.path systemd-ask-password-wall.path)
-       ( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
-               rm -f getty@tty1.service && \
-               $(LN_S) $(systemunitdir)/getty@.service getty@tty1.service )
-       ( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
-               rm -f remote-fs.target && \
-               $(LN_S) $(systemunitdir)/remote-fs.target remote-fs.target )
-       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
-               rm -f dev-hugepages.mount \
-                       dev-mqueue.mount \
-                       sys-kernel-config.mount \
-                       sys-kernel-debug.mount \
-                       sys-fs-fuse-connections.mount \
-                       systemd-tmpfiles-setup.service \
-                       systemd-sysctl.service \
-                       systemd-ask-password-console.path && \
-               $(LN_S) ../dev-hugepages.mount dev-hugepages.mount && \
-               $(LN_S) ../dev-mqueue.mount dev-mqueue.mount && \
-               $(LN_S) ../sys-kernel-config.mount sys-kernel-config.mount && \
-               $(LN_S) ../sys-kernel-debug.mount sys-kernel-debug.mount && \
-               $(LN_S) ../sys-fs-fuse-connections.mount sys-fs-fuse-connections.mount && \
-               $(LN_S) ../systemd-tmpfiles-setup.service systemd-tmpfiles-setup.service && \
-               $(LN_S) ../systemd-sysctl.service systemd-sysctl.service && \
-               $(LN_S) ../systemd-ask-password-console.path systemd-ask-password-console.path )
-       ( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \
-               rm -f systemd-tmpfiles-clean.timer && \
-               $(LN_S) ../systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.timer )
-       ( cd $(DESTDIR)$(dbussessionservicedir) && \
-               rm -f org.freedesktop.systemd1.service && \
-               $(LN_S) ../system-services/org.freedesktop.systemd1.service org.freedesktop.systemd1.service )
+SOCKETS_TARGET_WANTS += \
+       systemd-initctl.socket \
+       systemd-shutdownd.socket
 
-if HAVE_KMOD
-       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
-               rm -f systemd-modules-load.service && \
-               $(LN_S) ../systemd-modules-load.service systemd-modules-load.service )
+if HAVE_SYSV_COMPAT
+RUNLEVEL1_TARGET_WANTS += \
+       systemd-update-utmp-runlevel.service
+RUNLEVEL2_TARGET_WANTS += \
+       systemd-update-utmp-runlevel.service
+RUNLEVEL3_TARGET_WANTS += \
+       systemd-update-utmp-runlevel.service
+RUNLEVEL4_TARGET_WANTS += \
+       systemd-update-utmp-runlevel.service
+RUNLEVEL5_TARGET_WANTS += \
+       systemd-update-utmp-runlevel.service
+endif
+SHUTDOWN_TARGET_WANTS += \
+       systemd-update-utmp-shutdown.service
+LOCAL_FS_TARGET_WANTS += \
+       systemd-remount-fs.service \
+       systemd-fsck-root.service \
+       tmp.mount
+MULTI_USER_TARGET_WANTS += \
+       getty.target \
+       systemd-ask-password-wall.path
+SYSINIT_TARGET_WANTS += \
+       dev-hugepages.mount \
+       dev-mqueue.mount \
+       sys-kernel-config.mount \
+       sys-kernel-debug.mount \
+       sys-fs-fuse-connections.mount \
+       systemd-tmpfiles-setup.service \
+       systemd-sysctl.service \
+       systemd-ask-password-console.path
+BASIC_TARGET_WANTS += \
+       systemd-tmpfiles-clean.timer
+
+if HAVE_SYSV_COMPAT
+SYSTEM_UNIT_ALIASES += \
+       poweroff.target runlevel0.target \
+       rescue.target runlevel1.target \
+       multi-user.target runlevel2.target \
+       multi-user.target runlevel3.target \
+       multi-user.target runlevel4.target \
+       graphical.target runlevel5.target \
+       reboot.target runlevel6.target
 endif
 
+SYSTEM_UNIT_ALIASES += \
+       graphical.target default.target \
+       reboot.target ctrl-alt-del.target \
+       getty@.service autovt@.service
+
+USER_UNIT_ALIASES += \
+       $(systemunitdir)/shutdown.target shutdown.target \
+       $(systemunitdir)/sockets.target sockets.target \
+       $(systemunitdir)/bluetooth.target bluetooth.target \
+       $(systemunitdir)/printer.target printer.target \
+       $(systemunitdir)/sound.target sound.target
+
+GENERAL_ALIASES += \
+       $(systemunitdir)/remote-fs.target $(pkgsysconfdir)/system/multi-user.target.wants/remote-fs.target \
+       $(systemunitdir)/getty@.service $(pkgsysconfdir)/system/getty.target.wants/getty@tty1.service \
+       $(pkgsysconfdir)/user $(sysconfdir)/xdg/systemd/user \
+       ../system-services/org.freedesktop.systemd1.service $(dbussessionservicedir)/org.freedesktop.systemd1.service
+
+if HAVE_SYSV_COMPAT
+INSTALL_DIRS += \
+       $(systemunitdir)/runlevel1.target.wants \
+       $(systemunitdir)/runlevel2.target.wants \
+       $(systemunitdir)/runlevel3.target.wants \
+       $(systemunitdir)/runlevel4.target.wants \
+       $(systemunitdir)/runlevel5.target.wants
+endif
+
+INSTALL_DIRS += \
+       $(tmpfilesdir) \
+       $(sysconfdir)/tmpfiles.d \
+       $(prefix)/lib/modules-load.d \
+       $(sysconfdir)/modules-load.d \
+       $(prefix)/lib/sysctl.d \
+       $(sysconfdir)/sysctl.d \
+       $(systemshutdowndir) \
+       $(systemsleepdir) \
+       $(systemgeneratordir) \
+       $(usergeneratordir) \
+       \
+       $(userunitdir) \
+       $(pkgsysconfdir)/system \
+       $(pkgsysconfdir)/system/multi-user.target.wants \
+       $(pkgsysconfdir)/system/getty.target.wants \
+       $(pkgsysconfdir)/user \
+       $(dbussessionservicedir) \
+       $(sysconfdir)/xdg/systemd
+
 install-exec-hook: $(INSTALL_EXEC_HOOKS)
 
 uninstall-hook: $(UNINSTALL_DATA_HOOKS) $(UNINSTALL_EXEC_HOOKS)
 
-install-data-hook: systemd-install-data-hook $(INSTALL_DATA_HOOKS)
+install-data-hook: $(INSTALL_DATA_HOOKS)
 
 distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
 
-clean-local:
+clean-local: $(CLEAN_LOCAL_HOOKS)
        rm -rf $(abs_srcdir)/install-tree
        rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt \
               $(abs_srcdir)/hwdb/iab.txt
@@ -4098,6 +3858,7 @@ DISTCHECK_CONFIGURE_FLAGS = \
        --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \
        --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
        --with-dbusinterfacedir=$$dc_install_base/$(dbusinterfacedir) \
+       --with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) \
        --with-pamlibdir=$$dc_install_base/$(pamlibdir) \
        --with-rootprefix=$$dc_install_base \
        --disable-split-usr
@@ -4130,17 +3891,19 @@ upload: all distcheck
        scp systemd-$(VERSION).tar.xz fdo:/srv/www.freedesktop.org/www/software/systemd/
        scp man/*.html tango:public/systemd-man/
 
-doc-sync: all
+www_target = www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd
+doc-sync: all destdir-sphinx
        gtkdoc-rebase --html-dir=docs/libudev/html --online
-       rsync -av --delete docs/libudev/html/ --omit-dir-times www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd/libudev/
+       rsync -av --delete docs/libudev/html/ --omit-dir-times $(www_target)/libudev/
        gtkdoc-rebase --html-dir=docs/gudev/html --online
-       rsync -av --delete docs/gudev/html/ --omit-dir-times www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd/gudev/
-       rsync -av --delete-excluded --include="*.html" --exclude="*" --omit-dir-times man/ www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd/man/
+       rsync -av --delete docs/gudev/html/ --omit-dir-times $(www_target)/gudev/
+       rsync -av --delete-excluded --include="*.html" --exclude="*" --omit-dir-times man/ $(www_target)/man/
+       rsync -av --delete --omit-dir-times docs/python-systemd/ $(www_target)/python-systemd/
 
 git-tag:
        git tag "v$(VERSION)" -m "systemd $(VERSION)"
 
 install-tree: all
        rm -rf $(abs_srcdir)/install-tree
-       make install DESTDIR=$(abs_srcdir)/install-tree
+       $(MAKE) install DESTDIR=$(abs_srcdir)/install-tree
        tree $(abs_srcdir)/install-tree