chiark / gitweb /
build-sys: add silent rules for xslt processing
[elogind.git] / Makefile.am
index 403b46b7210fe7a3c4620dedcf090421959bb74e..6f83c8bcc75c77736990da8f578cd473d436a4f5 100644 (file)
@@ -1,9 +1,10 @@
-#  -*- Mode: makefile; indent-tabs-mode: t -*- */
+#  -*- Mode: makefile; indent-tabs-mode: t -*-
 #
 #  This file is part of systemd.
 #
 #  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
@@ -20,6 +21,7 @@
 
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
 AM_MAKEFLAGS = --no-print-directory
+AUTOMAKE_OPTIONS = color-tests parallel-tests
 
 SUBDIRS = . po
 
@@ -27,28 +29,28 @@ SUBDIRS = . po
 .DELETE_ON_ERROR:
 
 LIBUDEV_CURRENT=3
-LIBUDEV_REVISION=0
+LIBUDEV_REVISION=1
 LIBUDEV_AGE=2
 
 LIBGUDEV_CURRENT=1
-LIBGUDEV_REVISION=2
+LIBGUDEV_REVISION=3
 LIBGUDEV_AGE=1
 
 LIBSYSTEMD_LOGIN_CURRENT=3
-LIBSYSTEMD_LOGIN_REVISION=9
+LIBSYSTEMD_LOGIN_REVISION=11
 LIBSYSTEMD_LOGIN_AGE=3
 
 LIBSYSTEMD_DAEMON_CURRENT=0
-LIBSYSTEMD_DAEMON_REVISION=5
+LIBSYSTEMD_DAEMON_REVISION=7
 LIBSYSTEMD_DAEMON_AGE=0
 
 LIBSYSTEMD_ID128_CURRENT=0
-LIBSYSTEMD_ID128_REVISION=15
+LIBSYSTEMD_ID128_REVISION=17
 LIBSYSTEMD_ID128_AGE=0
 
-LIBSYSTEMD_JOURNAL_CURRENT=6
-LIBSYSTEMD_JOURNAL_REVISION=0
-LIBSYSTEMD_JOURNAL_AGE=6
+LIBSYSTEMD_JOURNAL_CURRENT=7
+LIBSYSTEMD_JOURNAL_REVISION=1
+LIBSYSTEMD_JOURNAL_AGE=7
 
 # Dirs of external packages
 dbuspolicydir=@dbuspolicydir@
@@ -62,7 +64,11 @@ polkitpolicydir=$(datadir)/polkit-1/actions
 bashcompletiondir=$(sysconfdir)/bash_completion.d
 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
@@ -94,6 +100,7 @@ BUILT_SOURCES =
 INSTALL_EXEC_HOOKS =
 UNINSTALL_EXEC_HOOKS =
 INSTALL_DATA_HOOKS =
+UNINSTALL_DATA_HOOKS =
 DISTCLEAN_LOCAL_HOOKS =
 pkginclude_HEADERS =
 noinst_LTLIBRARIES =
@@ -112,8 +119,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 = \
@@ -126,6 +134,8 @@ AM_CPPFLAGS = \
        -DUSER_CONFIG_FILE=\"$(pkgsysconfdir)/user.conf\" \
        -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\" \
@@ -134,7 +144,6 @@ AM_CPPFLAGS = \
        -DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH=\"$(rootbindir)/systemd-tty-ask-password-agent\" \
        -DSYSTEMD_STDIO_BRIDGE_BINARY_PATH=\"$(bindir)/systemd-stdio-bridge\" \
        -DROOTPREFIX=\"$(rootprefix)\" \
-       -DRUNTIME_DIR=\"/run\" \
        -DRANDOM_SEED=\"$(localstatedir)/lib/random-seed\" \
        -DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
        -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
@@ -160,45 +169,92 @@ AM_CFLAGS = $(OUR_CFLAGS)
 AM_LDFLAGS = $(OUR_LDFLAGS)
 
 # ------------------------------------------------------------------------------
-if TARGET_GENTOO
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/usr/bin/setfont\"
-else
-if TARGET_ARCH
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/usr/bin/setfont\"
-else
-if TARGET_FRUGALWARE
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/usr/bin/setfont\"
-else
-if TARGET_MANDRIVA
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/bin/setfont\"
-else
-if TARGET_ANGSTROM
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/usr/bin/setfont\"
-else
-if TARGET_MAGEIA
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/bin/setfont\"
-else
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/bin/setfont\"
-endif
-endif
-endif
-endif
-endif
-endif
+
+define move-to-rootlibdir
+       if test "$(libdir)" != "$(rootlibdir)"; then \
+               $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
+               so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
+               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
+               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
+               mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(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    " $@;
 
 # ------------------------------------------------------------------------------
 rootbin_PROGRAMS = \
@@ -217,9 +273,6 @@ bin_PROGRAMS = \
        systemd-detect-virt \
        systemd-delta
 
-dist_bin_SCRIPTS = \
-       src/analyze/systemd-analyze
-
 rootlibexec_PROGRAMS = \
        systemd \
        systemd-cgroups-agent \
@@ -227,7 +280,6 @@ rootlibexec_PROGRAMS = \
        systemd-update-utmp \
        systemd-shutdownd \
        systemd-shutdown \
-       systemd-modules-load \
        systemd-remount-fs \
        systemd-reply-password \
        systemd-fsck \
@@ -236,10 +288,25 @@ 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
+       systemd-system-update-generator \
+       systemd-efi-boot-generator
+
+dist_bin_SCRIPTS = \
+       src/analyze/systemd-analyze
+
+EXTRA_DIST += \
+       src/analyze/systemd-analyze.in
+
+CLEANFILES += \
+       src/analyze/systemd-analyze
 
 dist_bashcompletion_DATA = \
        shell-completion/systemd-bash-completion.sh
@@ -271,7 +338,6 @@ dist_systemunit_DATA = \
        units/network.target \
        units/nss-lookup.target \
        units/nss-user-lookup.target \
-       units/mail-transfer-agent.target \
        units/hibernate.target \
        units/hybrid-sleep.target \
        units/poweroff.target \
@@ -304,7 +370,6 @@ 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
@@ -316,7 +381,6 @@ nodist_systemunit_DATA = \
        units/console-getty.service \
        units/systemd-initctl.service \
        units/systemd-shutdownd.service \
-       units/systemd-modules-load.service \
        units/systemd-remount-fs.service \
        units/systemd-update-utmp-runlevel.service \
        units/systemd-update-utmp-shutdown.service \
@@ -342,6 +406,11 @@ nodist_systemunit_DATA = \
        units/systemd-udev-settle.service \
        units/debug-shell.service
 
+if HAVE_KMOD
+nodist_systemunit_DATA += \
+       units/systemd-modules-load.service
+endif
+
 dist_userunit_DATA = \
        units/user/default.target \
        units/user/exit.target
@@ -357,7 +426,6 @@ EXTRA_DIST += \
        units/rescue.service.m4.in \
        units/systemd-initctl.service.in \
        units/systemd-shutdownd.service.in \
-       units/systemd-modules-load.service.in \
        units/systemd-remount-fs.service.in \
        units/systemd-update-utmp-runlevel.service.in \
        units/systemd-update-utmp-shutdown.service.in \
@@ -386,42 +454,21 @@ EXTRA_DIST += \
        introspect.awk \
        man/custom-html.xsl
 
-if TARGET_FEDORA
-dist_systemunit_DATA += \
-       units/fedora/rc-local.service \
-       units/fedora/halt-local.service
-systemgenerator_PROGRAMS += \
-       systemd-rc-local-generator
-endif
-
-if TARGET_MANDRIVA
-dist_systemunit_DATA += \
-       units/fedora/rc-local.service \
-       units/fedora/halt-local.service
-systemgenerator_PROGRAMS += \
-       systemd-rc-local-generator
-endif
+EXTRA_DIST += \
+       units/systemd-modules-load.service.in
 
-if TARGET_FRUGALWARE
-dist_systemunit_DATA += \
-       units/frugalware/display-manager.service
-endif
+if HAVE_SYSV_COMPAT
+nodist_systemunit_DATA += \
+       units/rc-local.service \
+       units/halt-local.service
 
-if TARGET_SUSE
-dist_systemunit_DATA += \
-       units/suse/rc-local.service \
-       units/suse/halt-local.service
 systemgenerator_PROGRAMS += \
        systemd-rc-local-generator
 endif
 
-if TARGET_MAGEIA
-dist_systemunit_DATA += \
-       units/fedora/rc-local.service \
-       units/fedora/halt-local.service
-systemgenerator_PROGRAMS += \
-       systemd-rc-local-generator
-endif
+EXTRA_DIST += \
+       units/rc-local.service.in \
+       units/halt-local.service.in
 
 dist_doc_DATA = \
        README \
@@ -458,6 +505,7 @@ MANPAGES = \
        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 \
@@ -474,8 +522,6 @@ MANPAGES = \
        man/locale.conf.5 \
        man/os-release.5 \
        man/machine-info.5 \
-       man/modules-load.d.5 \
-       man/systemd-modules-load.service.8 \
        man/sysctl.d.5 \
        man/systemd-sysctl.service.8 \
        man/systemd-ask-password.1 \
@@ -518,13 +564,13 @@ MANPAGES = \
        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_query_unique.3 \
+       man/sd_journal_get_catalog.3
 
 MANPAGES_ALIAS = \
        man/reboot.8 \
        man/poweroff.8 \
        man/init.1 \
-       man/systemd-modules-load.8 \
        man/systemd-sysctl.8 \
        man/systemd-journald.socket.8 \
        man/systemd-journald.8 \
@@ -594,12 +640,36 @@ MANPAGES_ALIAS = \
        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_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
+
+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-modules-load.8: man/systemd-modules-load.service.8
 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
@@ -670,6 +740,7 @@ 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
 
 XML_FILES = \
        ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
@@ -688,23 +759,12 @@ CLEANFILES += \
        ${XML_FILES:.xml=.html}
 
 if HAVE_PYTHON
-noinst_DATA += \
-       man/index.html
-
-CLEANFILES += \
-       man/index.html
-
-man/index.html: make-man-index.py $(XML_FILES)
-       $(AM_V_at)$(MKDIR_P) $(dir $@)
-       $(AM_V_GEN)$(PYTHON) $^ > $@
-
 MANPAGES += \
-       man/systemd.directives.5
-
-EXTRA_DIST += \
-       man/index.html
+       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 \
@@ -719,13 +779,20 @@ XML_DIRECTIVE_FILES = \
        man/systemd.kill.xml \
        man/systemd.device.xml \
        man/systemd.conf.xml \
-       man/systemd.journal-fields.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))
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(AM_V_GEN)$(PYTHON) $^ > $@
 
 man/systemd.directives.xml: make-directive-index.py $(XML_DIRECTIVE_FILES)
        $(AM_V_at)$(MKDIR_P) $(dir $@)
        $(AM_V_GEN)$(PYTHON) $^ > $@
 
 EXTRA_DIST += \
+       man/systemd.index.xml \
        man/systemd.directives.xml
 
 endif
@@ -758,16 +825,24 @@ 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 \
+       src/shared/time-util.h \
        src/shared/hashmap.c \
        src/shared/hashmap.h \
        src/shared/set.c \
        src/shared/set.h \
+       src/shared/fdset.c \
+       src/shared/fdset.h \
        src/shared/strv.c \
        src/shared/strv.h \
        src/shared/strbuf.c \
        src/shared/strbuf.h \
+       src/shared/strxcpyx.c \
+       src/shared/strxcpyx.h \
        src/shared/conf-parser.c \
        src/shared/conf-parser.h \
        src/shared/log.c \
@@ -806,7 +881,12 @@ libsystemd_shared_la_SOURCES = \
        src/shared/hwclock.c \
        src/shared/hwclock.h \
        src/shared/time-dst.c \
-       src/shared/time-dst.h
+       src/shared/time-dst.h \
+       src/shared/calendarspec.c \
+       src/shared/calendarspec.h \
+       src/shared/output-mode.h
+
+libsystemd_shared_la_LIBADD = libsystemd-daemon.la
 
 #-------------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
@@ -1008,8 +1088,6 @@ libsystemd_core_la_SOURCES = \
        src/core/selinux-setup.h \
        src/core/ima-setup.c \
        src/core/ima-setup.h \
-       src/core/kmod-setup.c \
-       src/core/kmod-setup.h \
        src/core/locale-setup.h \
        src/core/locale-setup.c \
        src/core/hostname-setup.c \
@@ -1020,8 +1098,6 @@ libsystemd_core_la_SOURCES = \
        src/core/mount-setup.h \
        src/core/loopback-setup.h \
        src/core/loopback-setup.c \
-       src/core/fdset.c \
-       src/core/fdset.h \
        src/core/condition.c \
        src/core/condition.h \
        src/core/namespace.c \
@@ -1045,6 +1121,12 @@ libsystemd_core_la_SOURCES = \
        src/core/audit-fd.c \
        src/core/audit-fd.h
 
+if HAVE_KMOD
+libsystemd_core_la_SOURCES += \
+       src/core/kmod-setup.c \
+       src/core/kmod-setup.h
+endif
+
 nodist_libsystemd_core_la_SOURCES = \
        src/core/load-fragment-gperf.c \
        src/core/load-fragment-gperf-nulstr.c \
@@ -1067,6 +1149,7 @@ libsystemd_core_la_LIBADD = \
        libsystemd-dbus.la \
        libsystemd-audit.la \
        libsystemd-id128-internal.la \
+       libsystemd-daemon.la \
        libudev.la \
        $(LIBWRAP_LIBS) \
        $(PAM_LIBS) \
@@ -1094,7 +1177,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 $@)
@@ -1106,7 +1189,7 @@ src/core/syscall-from-name.h: src/core/syscall-from-name.gperf Makefile
 
 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 = \
@@ -1171,25 +1254,17 @@ CLEANFILES += \
 # ------------------------------------------------------------------------------
 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-efivars
 
-TESTS += \
+noinst_tests += \
        test-job-type \
        test-env-replace \
        test-strv \
@@ -1198,7 +1273,10 @@ TESTS += \
        test-date \
        test-sleep \
        test-replace-var \
-       test-sched-prio
+       test-sched-prio \
+       test-calendarspec \
+       test-strip-tab-ansi \
+       test-cgroup-util
 
 EXTRA_DIST += \
        test/sched_idle_bad.service \
@@ -1249,6 +1327,12 @@ test_hostname_SOURCES = \
 test_hostname_LDADD = \
        libsystemd-core.la
 
+test_efivars_SOURCES = \
+       src/test/test-efivars.c
+
+test_efivars_LDADD = \
+       libsystemd-shared.la
+
 test_unit_name_SOURCES = \
        src/test/test-unit-name.c
 
@@ -1289,6 +1373,18 @@ test_replace_var_SOURCES = \
 test_replace_var_LDADD = \
        libsystemd-shared.la
 
+test_calendarspec_SOURCES = \
+       src/test/test-calendarspec.c
+
+test_calendarspec_LDADD = \
+       libsystemd-shared.la
+
+test_strip_tab_ansi_SOURCES = \
+       src/test/test-strip-tab-ansi.c
+
+test_strip_tab_ansi_LDADD = \
+       libsystemd-shared.la
+
 test_daemon_SOURCES = \
        src/test/test-daemon.c
 
@@ -1303,6 +1399,13 @@ 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
 
@@ -1399,6 +1502,7 @@ systemd_shutdown_LDADD = \
        libsystemd-shared.la \
        libudev.la
 
+if HAVE_KMOD
 # ------------------------------------------------------------------------------
 systemd_modules_load_SOURCES = \
        src/modules-load/modules-load.c
@@ -1410,6 +1514,7 @@ systemd_modules_load_CFLAGS = \
 systemd_modules_load_LDADD = \
        libsystemd-shared.la \
        $(KMOD_LIBS)
+endif
 
 # ------------------------------------------------------------------------------
 systemd_tmpfiles_SOURCES = \
@@ -1518,6 +1623,14 @@ systemd_system_update_generator_LDADD = \
        libsystemd-label.la \
        libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
+systemd_efi_boot_generator_SOURCES = \
+       src/efi-boot-generator/efi-boot-generator.c
+
+systemd_efi_boot_generator_LDADD = \
+       libsystemd-label.la \
+       libsystemd-shared.la
+
 # ------------------------------------------------------------------------------
 systemd_rc_local_generator_SOURCES = \
        src/rc-local-generator/rc-local-generator.c
@@ -1652,22 +1765,13 @@ pkginclude_HEADERS += \
 
 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
 libsystemd-daemon-install-hook:
-       if test "$(libdir)" != "$(rootlibdir)"; then \
-               $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
-               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-daemon.so) && \
-               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
-               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-daemon.so && \
-               mv $(DESTDIR)$(libdir)/libsystemd-daemon.so.* $(DESTDIR)$(rootlibdir); \
-       fi
-
-INSTALL_EXEC_HOOKS += \
-       libsystemd-daemon-install-hook
+       libname=libsystemd-daemon.so && $(move-to-rootlibdir)
 
 libsystemd-daemon-uninstall-hook:
        rm -f $(DESTDIR)$(rootlibdir)/libsystemd-daemon.so*
 
-UNINSTALL_EXEC_HOOKS += \
-       libsystemd-daemon-uninstall-hook
+INSTALL_EXEC_HOOKS += libsystemd-daemon-install-hook
+UNINSTALL_EXEC_HOOKS += libsystemd-daemon-uninstall-hook
 
 lib_LTLIBRARIES += \
        libsystemd-daemon.la
@@ -1764,20 +1868,14 @@ CLEANFILES += \
        src/libudev/libudev.pc
 
 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
-libudev-install-move-hook:
-       if test "$(libdir)" != "$(rootlibdir)"; then \
-               $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
-               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libudev.so) && \
-               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
-               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libudev.so && \
-               mv $(DESTDIR)$(libdir)/libudev.so.* $(DESTDIR)$(rootlibdir); \
-       fi
+libudev-install-hook:
+       libname=libudev.so && $(move-to-rootlibdir)
 
-libudev-uninstall-move-hook:
+libudev-uninstall-hook:
        rm -f $(DESTDIR)$(rootlibdir)/libudev.so*
 
-INSTALL_EXEC_HOOKS += libudev-install-move-hook
-UNINSTALL_EXEC_HOOKS += libudev-uninstall-move-hook
+INSTALL_EXEC_HOOKS += libudev-install-hook
+UNINSTALL_EXEC_HOOKS += libudev-uninstall-hook
 
 # ------------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
@@ -1829,14 +1927,20 @@ dist_udevrules_DATA += \
        rules/75-net-description.rules \
        rules/75-tty-description.rules \
        rules/78-sound-card.rules \
-       rules/80-drivers.rules \
+       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 \
        hwdb/20-usb-vendor-product.hwdb \
        hwdb/20-usb-classes.hwdb \
+       hwdb/20-bluetooth-vendor-product.hwdb \
        hwdb/20-acpi-vendor.hwdb \
        hwdb/20-OUI.hwdb
 
@@ -1866,15 +1970,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
@@ -1897,7 +1998,6 @@ libudev_core_la_SOURCES = \
        src/udev/udev-builtin-firmware.c \
        src/udev/udev-builtin-hwdb.c \
        src/udev/udev-builtin-input_id.c \
-       src/udev/udev-builtin-kmod.c \
        src/udev/udev-builtin-net_id.c \
        src/udev/udev-builtin-path_id.c \
        src/udev/udev-builtin-usb_id.c \
@@ -1919,6 +2019,11 @@ libudev_core_la_CPPFLAGS = \
        $(AM_CPPFLAGS) \
        -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
 
+if HAVE_KMOD
+libudev_core_la_SOURCES += \
+       src/udev/udev-builtin-kmod.c
+endif
+
 if HAVE_BLKID
 libudev_core_la_SOURCES += \
        src/udev/udev-builtin-blkid.c
@@ -1958,11 +2063,14 @@ udevadm_LDADD = \
 # Update hwdb on installation. Do not bother if installing
 # in DESTDIR, since this is likely for packaging purposes.
 hwdb-update-hook:
-       -test -n "$(DESTDIR)" || udevadm hwdb --update
+       -test -n "$(DESTDIR)" || $(bindir)/udevadm hwdb --update
 
 INSTALL_DATA_HOOKS += \
        hwdb-update-hook
 
+hwdb-remove-hook:
+       -test -n "$(DESTDIR)" || rm -f $(HWDB_BIN)
+
 # ------------------------------------------------------------------------------
 TESTS += \
        test/udev-test.pl \
@@ -2228,20 +2336,14 @@ CLEANFILES += $(gir_DATA) $(typelibs_DATA)
 endif # HAVE_INTROSPECTION
 
 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
-libgudev-install-move-hook:
-       if test "$(libdir)" != "$(rootlibdir)"; then \
-               $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
-               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libgudev-1.0.so) && \
-               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
-               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libgudev-1.0.so && \
-               mv $(DESTDIR)$(libdir)/libgudev-1.0.so.* $(DESTDIR)$(rootlibdir); \
-       fi
+libgudev-install-hook:
+       libname=libgudev-1.0.so && $(move-to-rootlibdir)
 
-libgudev-uninstall-move-hook:
+libgudev-uninstall-hook:
        rm -f $(DESTDIR)$(rootlibdir)/libgudev-1.0.so*
 
-INSTALL_EXEC_HOOKS += libgudev-install-move-hook
-UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook
+INSTALL_EXEC_HOOKS += libgudev-install-hook
+UNINSTALL_EXEC_HOOKS += libgudev-uninstall-hook
 endif
 
 EXTRA_DIST += \
@@ -2349,7 +2451,7 @@ dist_udevkeymap_DATA = \
        keymaps/onkyo \
        keymaps/oqo-model2 \
        keymaps/samsung-other \
-       keymaps/samsung-90x3a \
+       keymaps/samsung-series-9 \
        keymaps/samsung-sq1us \
        keymaps/samsung-sx20s \
        keymaps/toshiba-satellite_a100 \
@@ -2363,7 +2465,7 @@ dist_udevkeymapforcerel_DATA = \
        keymaps-force-release/dell-xps \
        keymaps-force-release/hp-other \
        keymaps-force-release/samsung-other \
-       keymaps-force-release/samsung-90x3a \
+       keymaps-force-release/samsung-series-9 \
        keymaps-force-release/common-volume-keys
 
 src/udev/keymap/keys.txt: Makefile
@@ -2426,10 +2528,7 @@ test_id128_LDADD = \
        libsystemd-shared.la \
        libsystemd-id128-internal.la
 
-noinst_PROGRAMS += \
-       test-id128
-
-TESTS += \
+noinst_tests += \
        test-id128
 
 pkginclude_HEADERS += \
@@ -2446,22 +2545,13 @@ pkgconfiglib_DATA += \
 
 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
 libsystemd-id128-install-hook:
-       if test "$(libdir)" != "$(rootlibdir)"; then \
-               $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
-               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-id128.so) && \
-               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
-               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-id128.so && \
-               mv $(DESTDIR)$(libdir)/libsystemd-id128.so.* $(DESTDIR)$(rootlibdir); \
-       fi
-
-INSTALL_EXEC_HOOKS += \
-       libsystemd-id128-install-hook
+       libname=libsystemd-id128.so && $(move-to-rootlibdir)
 
 libsystemd-id128-uninstall-hook:
        rm -f $(DESTDIR)$(rootlibdir)/libsystemd-id128.so*
 
-UNINSTALL_EXEC_HOOKS += \
-       libsystemd-id128-uninstall-hook
+INSTALL_EXEC_HOOKS += libsystemd-id128-install-hook
+UNINSTALL_EXEC_HOOKS += libsystemd-id128-uninstall-hook
 
 EXTRA_DIST += \
        src/libsystemd-id128/libsystemd-id128.pc.in \
@@ -2705,43 +2795,33 @@ endif
 
 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
 libsystemd-journal-install-hook:
-       if test "$(libdir)" != "$(rootlibdir)"; then \
-               $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
-               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-journal.so) && \
-               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
-               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-journal.so && \
-               mv $(DESTDIR)$(libdir)/libsystemd-journal.so.* $(DESTDIR)$(rootlibdir); \
-       fi
-
-INSTALL_EXEC_HOOKS += \
-       libsystemd-journal-install-hook
+       libname=libsystemd-journal.so && $(move-to-rootlibdir)
 
 libsystemd-journal-uninstall-hook:
        rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
 
-UNINSTALL_EXEC_HOOKS += \
-       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:
-       -test -n "$(DESTDIR)" || journalctl --update-catalog
+       -test -n "$(DESTDIR)" || $(rootbindir)/journalctl --update-catalog
 
 INSTALL_DATA_HOOKS += \
        catalog-update-hook
 
+catalog-remove-hook:
+       -test -n "$(DESTDIR)" || rm -f $(catalogstatedir)/database
+
+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 \
@@ -2786,20 +2866,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 \
@@ -2819,7 +2890,9 @@ 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 \
@@ -2894,19 +2967,13 @@ 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 \
@@ -2935,15 +3002,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
+SYSINIT_TARGET_WANTS += \
+       systemd-vconsole-setup.service
 
 MANPAGES += \
        man/vconsole.conf.5 \
@@ -3012,6 +3072,25 @@ EXTRA_DIST += \
        units/systemd-readahead-replay.service.in \
        units/systemd-readahead-done.service.in
 
+# ------------------------------------------------------------------------------
+if ENABLE_BOOTCHART
+systemd_bootchart_SOURCES = \
+       src/bootchart/bootchart.c \
+       src/bootchart/bootchart.h \
+       src/bootchart/log.c \
+       src/bootchart/svg.c
+
+MANPAGES += \
+       man/systemd-bootchart.1 \
+       man/bootchart.conf.5
+
+rootlibexec_PROGRAMS += \
+       systemd-bootchart
+
+dist_pkgsysconf_DATA += \
+       src/bootchart/bootchart.conf
+endif
+
 # ------------------------------------------------------------------------------
 if ENABLE_QUOTACHECK
 rootlibexec_PROGRAMS += \
@@ -3058,19 +3137,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
+SHUTDOWN_TARGET_WANTS += \
+       systemd-random-seed-save.service
+SYSINIT_TARGET_WANTS += \
+       systemd-random-seed-load.service
 
 MANPAGES += \
        man/systemd-random-seed-load.service.8
@@ -3119,15 +3189,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
+SYSINIT_TARGET_WANTS += \
+       cryptsetup.target
 
 MANPAGES += \
        man/systemd-cryptsetup@.service.8 \
@@ -3178,13 +3241,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
+SYSTEM_UNIT_ALIASES += \
+       systemd-hostnamed.service dbus-org.freedesktop.hostname1.service
 
 MANPAGES += \
        man/systemd-hostnamed.service.8
@@ -3258,13 +3316,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
+SYSTEM_UNIT_ALIASES += \
+       systemd-localed.service dbus-org.freedesktop.locale1.service
 
 MANPAGES += \
        man/systemd-localed.service.8
@@ -3280,8 +3333,8 @@ dist_pkgdata_DATA += \
 dist_noinst_SCRIPT = \
        src/locale/generate-kbd-model-map
 
-update-kbd-model-map:
-       src/locale/generate-kbd-model-map > src/locale/kbd-model-map
+update-kbd-model-map: src/locale/generate-kbd-model-map
+       $PYTHON $< > src/locale/kbd-model-map
 
 localectl_SOURCES = \
        src/locale/localectl.c
@@ -3346,16 +3399,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_DIRS += \
+       $(prefix)/lib/systemd/ntp-units.d \
+       $(sysconfdir)/systemd/ntp-units.d
 
-INSTALL_DATA_HOOKS += \
-       timedated-install-data-hook
+SYSTEM_UNIT_ALIASES += \
+       systemd-timedated.service dbus-org.freedesktop.timedate1.service
 
 MANPAGES += \
        man/systemd-timedated.service.8
@@ -3400,6 +3449,8 @@ systemd_logind_SOURCES = \
        src/login/logind-device.h \
        src/login/logind-button.c \
        src/login/logind-button.h \
+       src/login/logind-action.c \
+       src/login/logind-action.h \
        src/login/logind-seat.c \
        src/login/logind-seat.h \
        src/login/logind-session.c \
@@ -3546,24 +3597,36 @@ 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:
-       if test "$(libdir)" != "$(rootlibdir)"; then \
-               $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
-               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-login.so) && \
-               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
-               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-login.so && \
-               mv $(DESTDIR)$(libdir)/libsystemd-login.so.* $(DESTDIR)$(rootlibdir); \
-       fi
-
-INSTALL_EXEC_HOOKS += \
-       libsystemd-login-install-hook
+       libname=libsystemd-login.so && $(move-to-rootlibdir)
 
 libsystemd-login-uninstall-hook:
        rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so*
 
-UNINSTALL_EXEC_HOOKS += \
-       libsystemd-login-uninstall-hook
+INSTALL_EXEC_HOOKS += libsystemd-login-install-hook
+UNINSTALL_EXEC_HOOKS += libsystemd-login-uninstall-hook
 
 nodist_systemunit_DATA += \
        units/systemd-logind.service \
@@ -3593,20 +3656,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)$(localstatedir)/lib/systemd
-       ( 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
@@ -3651,6 +3709,7 @@ MANPAGES_ALIAS += \
        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 \
@@ -3675,6 +3734,7 @@ 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
@@ -3750,6 +3810,11 @@ SED_PROCESS = \
                -e 's,@userunitdir\@,$(userunitdir),g' \
                -e 's,@systempresetdir\@,$(systempresetdir),g' \
                -e 's,@userpresetdir\@,$(userpresetdir),g' \
+               -e 's,@udevhwdbdir\@,$(udevhwdbdir),g' \
+               -e 's,@udevrulesdir\@,$(udevrulesdir),g' \
+               -e 's,@catalogdir\@,$(catalogdir),g' \
+               -e 's,@tmpfilesdir\@,$(tmpfilesdir),g' \
+               -e 's,@sysctldir\@,$(sysctldir),g' \
                -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
                -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
                -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' \
@@ -3767,6 +3832,10 @@ SED_PROCESS = \
                -e 's,@QUOTACHECK\@,$(QUOTACHECK),g' \
                -e 's,@SYSTEM_SYSVINIT_PATH\@,$(sysvinitdir),g' \
                -e 's,@VARLOGDIR\@,$(varlogdir),g' \
+               -e 's,@RC_LOCAL_SCRIPT_PATH_START\@,$(RC_LOCAL_SCRIPT_PATH_START),g' \
+               -e 's,@RC_LOCAL_SCRIPT_PATH_STOP\@,$(RC_LOCAL_SCRIPT_PATH_STOP),g' \
+               -e 's,@PYTHON\@,$(PYTHON),g' \
+               -e 's,@PYTHON_BINARY\@,$(PYTHON_BINARY),g' \
                < $< > $@
 
 units/%: units/%.in Makefile
@@ -3794,20 +3863,24 @@ 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) < $< > $@
 
 src/%: src/%.m4
        $(AM_V_at)$(MKDIR_P) $(dir $@)
-       $(AM_V_GEN)$(M4) -P $(M4_DEFINES) < $< > $@
+       $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@
 
 M4_PROCESS_SYSTEM = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+       $(AM_V_M4)$(MKDIR_P) $(dir $@) && \
        $(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@
 
 M4_PROCESS_USER = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+       $(AM_V_M4)$(MKDIR_P) $(dir $@) && \
        $(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@
 
 units/%: units/%.m4 Makefile
@@ -3842,11 +3915,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
@@ -3890,184 +3963,131 @@ docs/sysvinit/README: docs/sysvinit/README.in
 docs/var-log/README: docs/var-log/README.in
        $(SED_PROCESS)
 
-EXTRA_DIST += \
-       docs/sysvinit/README.in \
-       docs/var-log/README.in
-
 CLEANFILES += \
        docs/sysvinit/README \
        docs/var-log/README
 
 endif
 
+EXTRA_DIST += \
+       docs/sysvinit/README.in \
+       docs/var-log/README.in
+
+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-modules-load.service \
-                       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-modules-load.service systemd-modules-load.service && \
-               $(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 )
-
-if TARGET_FEDORA
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f display-manager.service single.service && \
-               $(LN_S) rescue.service single.service )
-endif
+SOCKETS_TARGET_WANTS += \
+       systemd-initctl.socket \
+       systemd-shutdownd.socket
 
-if TARGET_MANDRIVA
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f display-manager.service dm.service single.service && \
-               $(LN_S) rescue.service single.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 TARGET_DEBIAN_OR_UBUNTU
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f runlevel5.target && \
-               $(LN_S) multi-user.target runlevel5.target )
+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 TARGET_SUSE
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f local.service && \
-               $(LN_S) rc-local.service local.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
-
-if TARGET_MAGEIA
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f display-manager.service )
+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
+
+if HAVE_KMOD
+SYSINIT_TARGET_WANTS += \
+       systemd-modules-load.service
 endif
 
 install-exec-hook: $(INSTALL_EXEC_HOOKS)
 
-uninstall-hook: $(UNINSTALL_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:
        rm -rf $(abs_srcdir)/install-tree
-       rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt
+       rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt \
+              $(abs_srcdir)/hwdb/iab.txt
 
 DISTCHECK_CONFIGURE_FLAGS = \
-       --with-sysvinit-path=$$dc_install_base/$(sysvinitdir) \
        --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
        --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \
        --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
@@ -4076,16 +4096,27 @@ DISTCHECK_CONFIGURE_FLAGS = \
        --with-rootprefix=$$dc_install_base \
        --disable-split-usr
 
+if HAVE_SYSV_COMPAT
+DISTCHECK_CONFIGURE_FLAGS += \
+       --with-sysvinit-path=$$dc_install_base/$(sysvinitdir) \
+       --with-sysvrcnd-path=$$dc_install_base/$(sysvrcnddir)
+else
+DISTCHECK_CONFIGURE_FLAGS += \
+       --with-sysvinit-path= \
+       --with-sysvrcnd-path=
+endif
+
 if ENABLE_GTK_DOC
 DISTCHECK_CONFIGURE_FLAGS += \
        --enable-gtk-doc
 endif
 
 hwdb-update:
-       ( cd hwdb && \
-       wget -N http://www.linux-usb.org/usb.ids && \
-       wget -N http://pci-ids.ucw.cz/v2.2/pci.ids && \
-       wget -N http://standards.ieee.org/develop/regauth/oui/oui.txt && \
+       ( cd $(top_srcdir)/hwdb && \
+       wget -N http://www.linux-usb.org/usb.ids \
+               http://pci-ids.ucw.cz/v2.2/pci.ids \
+               http://standards.ieee.org/develop/regauth/oui/oui.txt \
+               http://standards.ieee.org/develop/regauth/iab/iab.txt && \
        ./ids-update.pl )
 
 upload: all distcheck