chiark / gitweb /
move imported udev into place
[elogind.git] / Makefile.am
index edcb96182828448e5475620b0fc1ce4656562388..74e14d2f2a8ebf7f50c3468633ba862fd0edc1c9 100644 (file)
@@ -1,7 +1,7 @@
 #  This file is part of systemd.
 #
-#  Copyright 2011 Lennart Poettering
-#  Copyright 2011 Kay Sievers
+#  Copyright 2010-2012 Lennart Poettering
+#  Copyright 2010-2012 Kay Sievers
 #
 #  systemd is free software; you can redistribute it and/or modify it
 #  under the terms of the GNU General Public License as published by
 #  You should have received a copy of the GNU General Public License
 #  along with systemd; If not, see <http://www.gnu.org/licenses/>.
 
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+AM_MAKEFLAGS = --no-print-directory
 
-SUBDIRS = po
+SUBDIRS = po
 
-LIBSYSTEMD_LOGIN_CURRENT=1
-LIBSYSTEMD_LOGIN_REVISION=0
-LIBSYSTEMD_LOGIN_AGE=1
+LIBUDEV_CURRENT=13
+LIBUDEV_REVISION=2
+LIBUDEV_AGE=13
+
+LIBGUDEV_CURRENT=1
+LIBGUDEV_REVISION=1
+LIBGUDEV_AGE=1
+
+LIBSYSTEMD_LOGIN_CURRENT=2
+LIBSYSTEMD_LOGIN_REVISION=1
+LIBSYSTEMD_LOGIN_AGE=2
 
 LIBSYSTEMD_DAEMON_CURRENT=0
-LIBSYSTEMD_DAEMON_REVISION=0
+LIBSYSTEMD_DAEMON_REVISION=1
 LIBSYSTEMD_DAEMON_AGE=0
 
 LIBSYSTEMD_ID128_CURRENT=0
-LIBSYSTEMD_ID128_REVISION=0
+LIBSYSTEMD_ID128_REVISION=3
 LIBSYSTEMD_ID128_AGE=0
 
 LIBSYSTEMD_JOURNAL_CURRENT=0
-LIBSYSTEMD_JOURNAL_REVISION=0
+LIBSYSTEMD_JOURNAL_REVISION=3
 LIBSYSTEMD_JOURNAL_AGE=0
 
 # Dirs of external packages
@@ -41,7 +50,6 @@ dbuspolicydir=@dbuspolicydir@
 dbussessionservicedir=@dbussessionservicedir@
 dbussystemservicedir=@dbussystemservicedir@
 dbusinterfacedir=@dbusinterfacedir@
-udevrulesdir=@udevrulesdir@
 pamlibdir=@pamlibdir@
 pkgconfigdatadir=$(datadir)/pkgconfig
 pkgconfiglibdir=$(libdir)/pkgconfig
@@ -52,8 +60,10 @@ bashcompletiondir=$(sysconfdir)/bash_completion.d
 pkgsysconfdir=$(sysconfdir)/systemd
 userunitdir=$(prefix)/lib/systemd/user
 tmpfilesdir=$(prefix)/lib/tmpfiles.d
+sysctldir=$(prefix)/lib/sysctl.d
 usergeneratordir=$(pkglibexecdir)/user-generators
 pkgincludedir=$(includedir)/systemd
+udevlibexecdir=$(rootprefix)/lib/udev
 
 # And these are the special ones for /
 rootprefix=@rootprefix@
@@ -65,16 +75,28 @@ systemunitdir=$(rootprefix)/lib/systemd/system
 
 CLEANFILES =
 EXTRA_DIST =
+BUILT_SOURCES =
 INSTALL_EXEC_HOOKS =
 UNINSTALL_EXEC_HOOKS =
 INSTALL_DATA_HOOKS =
+DISTCHECK_HOOKS =
+DISTCLEAN_LOCAL_HOOKS =
 pkginclude_HEADERS =
 lib_LTLIBRARIES =
+include_HEADERS =
 pkgconfiglib_DATA =
 polkitpolicy_in_files =
+dist_udevrules_DATA =
+nodist_udevrules_DATA =
+udevhomedir = $(libexecdir)/udev
+udevhome_SCRIPTS =
+dist_udevhome_SCRIPTS =
+dist_udevhome_DATA =
+dist_man_MANS =
 
 AM_CPPFLAGS = \
        -include $(top_builddir)/config.h \
+       -DSYSCONFDIR=\""$(sysconfdir)"\" \
        -DSYSTEM_CONFIG_FILE=\"$(pkgsysconfdir)/system.conf\" \
        -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
        -DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
@@ -84,7 +106,7 @@ AM_CPPFLAGS = \
        -DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
        -DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
        -DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
-       -DSYSTEMD_BINARY_PATH=\"$(rootbindir)/systemd\" \
+       -DSYSTEMD_BINARY_PATH=\"$(rootlibexecdir)/systemd\" \
        -DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
        -DSYSTEMCTL_BINARY_PATH=\"$(rootbindir)/systemctl\" \
        -DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH=\"$(rootbindir)/systemd-tty-ask-password-agent\" \
@@ -97,11 +119,17 @@ AM_CPPFLAGS = \
        -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
        -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
        -DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \
+       -DX_SERVER=\"$(bindir)/X\" \
+       -DUDEVLIBEXECDIR=\""$(libexecdir)/udev"\" \
        -I $(top_srcdir)/src \
        -I $(top_srcdir)/src/readahead \
        -I $(top_srcdir)/src/login \
        -I $(top_srcdir)/src/journal \
-       -I $(top_srcdir)/src/systemd
+       -I $(top_srcdir)/src/systemd \
+       -I $(top_srcdir)/src/udev
+
+AM_CFLAGS = $(WARNINGFLAGS)
+AM_LDFLAGS = $(GCLDFLAGS)
 
 if TARGET_GENTOO
 AM_CPPFLAGS += \
@@ -158,7 +186,6 @@ endif
 endif
 
 rootbin_PROGRAMS = \
-       systemd \
        systemctl \
        systemd-notify \
        systemd-ask-password \
@@ -168,20 +195,15 @@ rootbin_PROGRAMS = \
 
 bin_PROGRAMS = \
        systemd-cgls \
+       systemd-cgtop \
        systemd-stdio-bridge \
        systemd-nspawn
 
 dist_bin_SCRIPTS = \
        src/systemd-analyze
 
-if HAVE_GTK
-bin_PROGRAMS += \
-       systemadm \
-       systemd-gnome-ask-password-agent
-endif
-
 rootlibexec_PROGRAMS = \
-       systemd-stdout-syslog-bridge \
+       systemd \
        systemd-cgroups-agent \
        systemd-initctl \
        systemd-update-utmp \
@@ -189,7 +211,6 @@ rootlibexec_PROGRAMS = \
        systemd-shutdown \
        systemd-modules-load \
        systemd-remount-api-vfs \
-       systemd-kmsg-syslogd \
        systemd-reply-password \
        systemd-fsck \
        systemd-timestamp \
@@ -222,13 +243,6 @@ dist_dbuspolicy_DATA = \
 dist_dbussystemservice_DATA = \
        src/org.freedesktop.systemd1.service
 
-dist_udevrules_DATA = \
-       src/71-seat.rules
-
-nodist_udevrules_DATA = \
-       src/73-seat-late.rules \
-       src/99-systemd.rules
-
 dbusinterface_DATA = \
        org.freedesktop.systemd1.Manager.xml \
        org.freedesktop.systemd1.Job.xml \
@@ -287,17 +301,14 @@ dist_systemunit_DATA = \
        units/sockets.target \
        units/swap.target \
        units/systemd-initctl.socket \
-       units/systemd-stdout-syslog-bridge.socket \
        units/systemd-shutdownd.socket \
        units/syslog.socket \
        units/dev-hugepages.mount \
        units/dev-mqueue.mount \
        units/sys-kernel-config.mount \
        units/sys-kernel-debug.mount \
-       units/sys-kernel-security.mount \
        units/sys-fs-fuse-connections.mount \
-       units/var-run.mount \
-       units/media.mount \
+       units/tmp.mount \
        units/remount-rootfs.service \
        units/printer.target \
        units/sound.target \
@@ -307,21 +318,16 @@ dist_systemunit_DATA = \
        units/quotaon.service \
        units/systemd-ask-password-wall.path \
        units/systemd-ask-password-console.path \
-       units/syslog.target
-
-if HAVE_SYSV_COMPAT
-dist_systemunit_DATA += \
-       units/var-lock.mount
-endif
+       units/syslog.target \
+       units/udev-control.socket \
+       units/udev-kernel.socket
 
 nodist_systemunit_DATA = \
        units/getty@.service \
        units/serial-getty@.service \
        units/console-shell.service \
        units/systemd-initctl.service \
-       units/systemd-stdout-syslog-bridge.service \
        units/systemd-shutdownd.service \
-       units/systemd-kmsg-syslogd.service \
        units/systemd-modules-load.service \
        units/systemd-remount-api-vfs.service \
        units/systemd-update-utmp-runlevel.service \
@@ -338,7 +344,10 @@ nodist_systemunit_DATA = \
        units/fsck@.service \
        units/fsck-root.service \
        units/rescue.service \
-       units/user@.service
+       units/user@.service \
+       units/udev.service \
+       units/udev-trigger.service \
+       units/udev-settle.service
 
 dist_userunit_DATA = \
        units/user/default.target \
@@ -353,9 +362,7 @@ EXTRA_DIST += \
        units/console-shell.service.m4 \
        units/rescue.service.m4 \
        units/systemd-initctl.service.in \
-       units/systemd-stdout-syslog-bridge.service.in \
        units/systemd-shutdownd.service.in \
-       units/systemd-kmsg-syslogd.service.in \
        units/systemd-modules-load.service.in \
        units/systemd-remount-api-vfs.service.in \
        units/systemd-update-utmp-runlevel.service.in \
@@ -373,10 +380,11 @@ EXTRA_DIST += \
        units/fsck@.service.in \
        units/fsck-root.service.in \
        units/user@.service.in \
-       systemd.pc.in \
+       units/udev.service \
+       units/udev-trigger.service \
+       units/udev-settle.service \
+       src/systemd.pc.in \
        introspect.awk \
-       src/73-seat-late.rules.in \
-       src/99-systemd.rules.in \
        man/custom-html.xsl
 
 if TARGET_FEDORA
@@ -440,11 +448,12 @@ endif
 
 dist_doc_DATA = \
        README \
+       NEWS \
        LICENSE \
        DISTRO_PORTING
 
 pkgconfigdata_DATA = \
-       systemd.pc
+       src/systemd.pc
 
 # First passed through sed, followed by intltool
 polkitpolicy_in_in_files = \
@@ -475,7 +484,8 @@ libsystemd_basic_la_SOURCES = \
        src/socket-util.c \
        src/log.c \
        src/ratelimit.c \
-       src/exit-status.c
+       src/exit-status.c \
+        src/utf8.c
 
 libsystemd_basic_la_CFLAGS = \
        $(AM_CFLAGS) \
@@ -523,6 +533,7 @@ libsystemd_core_la_SOURCES = \
        src/mount-setup.c \
        src/hostname-setup.c \
        src/selinux-setup.c \
+       src/ima-setup.c \
        src/loopback-setup.c \
        src/kmod-setup.c \
        src/locale-setup.c \
@@ -550,19 +561,20 @@ EXTRA_DIST += \
 libsystemd_core_la_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS) \
-       $(UDEV_CFLAGS) \
        $(LIBWRAP_CFLAGS) \
        $(PAM_CFLAGS) \
-       $(AUDIT_CFLAGS)
+       $(AUDIT_CFLAGS) \
+       $(KMOD_CFLAGS)
 
 libsystemd_core_la_LIBADD = \
        libsystemd-basic.la \
+       libudev.la \
        $(DBUS_LIBS) \
-       $(UDEV_LIBS) \
        $(LIBWRAP_LIBS) \
        $(PAM_LIBS) \
        $(AUDIT_LIBS) \
-       $(CAP_LIBS)
+       $(CAP_LIBS) \
+       $(KMOD_LIBS)
 
 # This is needed because automake is buggy in how it generates the
 # rules for C programs, but not Vala programs. We therefore can't
@@ -654,13 +666,16 @@ EXTRA_DIST += \
        src/dbus-loop.h \
        src/spawn-agent.h \
        src/acl-util.h \
-       src/logs-show.h
+       src/logs-show.h \
+       src/utf8.h \
+       src/journal/sparse-endian.h \
+       src/ima-setup.h
 
 MANPAGES = \
        man/systemd.1 \
        man/systemctl.1 \
-       man/systemadm.1 \
        man/systemd-cgls.1 \
+       man/systemd-cgtop.1 \
        man/systemd-nspawn.1 \
        man/systemd-tmpfiles.8 \
        man/systemd-notify.1 \
@@ -676,6 +691,7 @@ MANPAGES = \
        man/systemd.device.5 \
        man/systemd.snapshot.5 \
        man/systemd.exec.5 \
+       man/systemd.special.7 \
        man/daemon.7 \
        man/runlevel.8 \
        man/telinit.8 \
@@ -692,7 +708,14 @@ MANPAGES = \
        man/machine-info.5 \
        man/modules-load.d.5 \
        man/sysctl.d.5 \
-       man/systemd-ask-password.1
+       man/systemd-ask-password.1 \
+       man/systemd-cat.1 \
+       man/systemd-machine-id-setup.1 \
+       man/journald.conf.5 \
+       man/journalctl.1 \
+       man/udev.7 \
+       man/udevadm.8 \
+       man/udevd.8
 
 MANPAGES_ALIAS = \
        man/reboot.8 \
@@ -703,38 +726,30 @@ man/reboot.8: man/halt.8
 man/poweroff.8: man/halt.8
 man/init.1: man/systemd.1
 
-dist_man_MANS = \
-       $(MANPAGES) \
-       $(MANPAGES_ALIAS)
-
-nodist_man_MANS = \
-       man/systemd.special.7
-
 XML_FILES = \
        ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
 
-XML_IN_FILES = \
-       ${patsubst %.1,%.xml.in,${patsubst %.3,%.xml.in,${patsubst %.5,%.xml.in,${patsubst %.7,%.xml.in,${patsubst %.8,%.xml.in,$(nodist_man_MANS)}}}}}
+if ENABLE_MANPAGES
+man_MANS = \
+       $(MANPAGES) \
+       $(MANPAGES_ALIAS)
 
-dist_noinst_DATA = \
+noinst_DATA = \
        ${XML_FILES:.xml=.html}
-
-nodist_noinst_DATA = \
-       ${XML_IN_FILES:.xml.in=.html}
+endif
 
 EXTRA_DIST += \
        $(XML_FILES) \
-       $(XML_IN_FILES) \
-       ${nodist_man_MANS:=.in} \
-       ${XML_IN_FILES:.xml.in=.html.in}
+       ${XML_FILES:.xml=.html} \
+       $(MANPAGES) \
+       $(MANPAGES_ALIAS)
 
 systemd_SOURCES = \
        src/main.c
 
 systemd_CFLAGS = \
        $(AM_CFLAGS) \
-       $(DBUS_CFLAGS) \
-       $(UDEV_CFLAGS)
+       $(DBUS_CFLAGS)
 
 systemd_LDADD = \
        libsystemd-core.la
@@ -811,15 +826,6 @@ test_install_CFLAGS = \
 test_install_LDADD = \
        libsystemd-basic.la
 
-systemd_stdout_syslog_bridge_SOURCES = \
-       src/stdout-syslog-bridge.c \
-       src/tcpwrap.c
-
-systemd_stdout_syslog_bridge_LDADD = \
-       libsystemd-basic.la \
-       libsystemd-daemon.la \
-       $(LIBWRAP_LIBS)
-
 systemd_initctl_SOURCES = \
        src/initctl.c \
        src/dbus-common.c
@@ -864,19 +870,19 @@ systemd_shutdown_SOURCES = \
        src/umount.c \
        src/shutdown.c
 
-systemd_shutdown_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(UDEV_CFLAGS)
-
 systemd_shutdown_LDADD = \
        libsystemd-basic.la \
-       $(UDEV_LIBS)
+       libudev.la
 
 systemd_modules_load_SOURCES = \
        src/modules-load.c
 
+systemd_modules_load_CFLAGS = \
+       $(KMOD_CFLAGS)
+
 systemd_modules_load_LDADD = \
-       libsystemd-basic.la
+       libsystemd-basic.la \
+       $(KMOD_LIBS)
 
 systemd_tmpfiles_SOURCES = \
        src/tmpfiles.c
@@ -904,12 +910,11 @@ systemd_fsck_SOURCES = \
 
 systemd_fsck_CFLAGS = \
        $(AM_CFLAGS) \
-       $(UDEV_CFLAGS) \
        $(DBUS_CFLAGS)
 
 systemd_fsck_LDADD = \
        libsystemd-basic.la \
-       $(UDEV_LIBS) \
+       libudev.la \
        $(DBUS_LIBS)
 
 systemd_timestamp_SOURCES = \
@@ -921,13 +926,9 @@ systemd_timestamp_LDADD = \
 systemd_ac_power_SOURCES = \
        src/ac-power.c
 
-systemd_ac_power_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(UDEV_CFLAGS)
-
 systemd_ac_power_LDADD = \
        libsystemd-basic.la \
-       $(UDEV_LIBS)
+       libudev.la
 
 systemd_detect_virt_SOURCES = \
        src/detect-virt.c
@@ -968,14 +969,6 @@ systemd_cgroups_agent_LDADD = \
        libsystemd-basic.la \
        $(DBUS_LIBS)
 
-systemd_kmsg_syslogd_SOURCES = \
-       src/kmsg-syslogd.c \
-       src/fdset.c
-
-systemd_kmsg_syslogd_LDADD = \
-       libsystemd-basic.la \
-       libsystemd-daemon.la
-
 systemctl_SOURCES = \
        src/systemctl.c \
        src/utmp-wtmp.c \
@@ -998,6 +991,7 @@ systemctl_LDADD = \
        libsystemd-basic.la \
        libsystemd-daemon.la \
        libsystemd-journal.la \
+       libsystemd-id128.la \
        $(DBUS_LIBS)
 
 systemd_notify_SOURCES = \
@@ -1030,6 +1024,13 @@ systemd_cgls_SOURCES = \
 systemd_cgls_LDADD = \
        libsystemd-basic.la
 
+systemd_cgtop_SOURCES = \
+       src/cgtop.c \
+        src/cgroup-util.c
+
+systemd_cgtop_LDADD = \
+       libsystemd-basic.la
+
 systemd_nspawn_SOURCES = \
        src/nspawn.c \
        src/cgroup-util.c \
@@ -1045,52 +1046,6 @@ systemd_stdio_bridge_SOURCES = \
 systemd_stdio_bridge_LDADD = \
        libsystemd-basic.la
 
-systemadm_SOURCES = \
-       src/systemadm.vala \
-       src/systemd-interfaces.vala \
-       src/wraplabel.vala
-
-systemadm_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(GTK_CFLAGS) \
-       -Wno-unused-variable \
-       -Wno-unused-function \
-       -Wno-shadow \
-       -Wno-format-nonliteral
-
-systemadm_VALAFLAGS = \
-       --pkg=posix \
-       --pkg=gtk+-2.0 \
-       --pkg=gee-1.0 \
-       -g
-
-systemadm_LDADD = \
-       $(GTK_LIBS)
-
-systemd_gnome_ask_password_agent_SOURCES = \
-       src/gnome-ask-password-agent.vala
-
-systemd_gnome_ask_password_agent_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(LIBNOTIFY_CFLAGS) \
-       $(GTK_CFLAGS) \
-       -Wno-unused-variable \
-       -Wno-unused-function \
-       -Wno-shadow \
-       -Wno-format-nonliteral
-
-systemd_gnome_ask_password_agent_VALAFLAGS = \
-       --pkg=posix \
-       --pkg=gtk+-2.0 \
-       --pkg=linux \
-       --pkg=gio-unix-2.0 \
-       --pkg=libnotify \
-       -g
-
-systemd_gnome_ask_password_agent_LDADD = \
-       $(LIBNOTIFY_LIBS) \
-       $(GTK_LIBS)
-
 systemd_tty_ask_password_agent_SOURCES = \
        src/tty-ask-password-agent.c \
        src/ask-password-api.c \
@@ -1139,7 +1094,7 @@ lib_LTLIBRARIES += \
        libsystemd-daemon.la
 
 pkgconfiglib_DATA += \
-       libsystemd-daemon.pc
+       src/libsystemd-daemon.pc
 
 MANPAGES += \
        man/sd-daemon.7 \
@@ -1162,9 +1117,623 @@ man/sd_is_mq.3: man/sd_is_fifo.3
 man/sd_notifyf.3: man/sd_notify.3
 
 EXTRA_DIST += \
-       libsystemd-daemon.pc.in \
+       src/libsystemd-daemon.pc.in \
        src/libsystemd-daemon.sym
 
+# ------------------------------------------------------------------------------
+SUBDIRS += \
+       src/udev/docs
+
+include_HEADERS += \
+       src/udev/libudev.h
+
+lib_LTLIBRARIES += \
+       libudev.la
+
+noinst_LTLIBRARIES += \
+       libudev-private.la
+
+libudev_la_SOURCES =\
+       src/udev/libudev-private.h \
+       src/udev/libudev.c \
+       src/udev/libudev-list.c \
+       src/udev/libudev-util.c \
+       src/udev/libudev-device.c \
+       src/udev/libudev-enumerate.c \
+       src/udev/libudev-monitor.c \
+       src/udev/libudev-queue.c
+
+libudev_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE)
+
+libudev_private_la_SOURCES =\
+       $(libudev_la_SOURCES) \
+       src/udev/libudev-util-private.c \
+       src/udev/libudev-device-private.c \
+       src/udev/libudev-queue-private.c \
+       src/udev/libudev-selinux-private.c
+
+libudev_private_la_LIBADD = \
+       $(SELINUX_LIBS)
+
+pkgconfiglib_DATA += \
+       src/udev/libudev.pc
+
+EXTRA_DIST += \
+       src/udev/libudev.pc.in
+
+CLEANFILES += \
+       src/udev/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-uninstall-move-hook:
+       rm -f $(DESTDIR)$(rootlibdir)/libudev.so*
+
+INSTALL_EXEC_HOOKS += libudev-install-move-hook
+UNINSTALL_EXEC_HOOKS += libudev-uninstall-move-hook
+
+# ------------------------------------------------------------------------------
+udev-confdirs:
+       -mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d
+       -mkdir -p $(DESTDIR)$(libexecdir)/udev/devices
+
+INSTALL_DATA_HOOKS += udev-confdirs
+
+udevrulesdir = $(libexecdir)/udev/rules.d
+dist_udevrules_DATA += \
+       rules/99-systemd.rules \
+       rules/42-usb-hid-pm.rules \
+       rules/50-udev-default.rules \
+       rules/60-persistent-storage-tape.rules \
+       rules/60-persistent-serial.rules \
+       rules/60-persistent-input.rules \
+       rules/60-persistent-alsa.rules \
+       rules/60-persistent-storage.rules \
+       rules/75-net-description.rules \
+       rules/75-tty-description.rules \
+       rules/78-sound-card.rules \
+       rules/80-drivers.rules \
+       rules/95-udev-late.rules
+
+udevconfdir = $(sysconfdir)/udev
+dist_udevconf_DATA = \
+       src/udev/udev.conf
+
+sharepkgconfigdir = $(datadir)/pkgconfig
+sharepkgconfig_DATA = \
+       src/udev/udev.pc
+
+EXTRA_DIST += \
+       rules/99-systemd.rules.in \
+       src/udev/udev.pc.in
+
+CLEANFILES += \
+       rules/99-systemd.rules \
+       src/udev/udev.pc
+
+EXTRA_DIST += \
+       units/udev.service.in \
+       units/udev-trigger.service.in \
+       units/udev-settle.service.in
+
+CLEANFILES += \
+       units/udev.service \
+       units/udev-trigger.service \
+       units/udev-settle.service
+
+systemd-install-hook:
+       mkdir -p $(DESTDIR)$(systemunitdir)/sockets.target.wants
+       ln -sf ../udev-control.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/udev-control.socket
+       ln -sf ../udev-kernel.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/udev-kernel.socket
+       mkdir -p $(DESTDIR)$(systemunitdir)/basic.target.wants
+       ln -sf ../udev.service $(DESTDIR)$(systemunitdir)/basic.target.wants/udev.service
+       ln -sf ../udev-trigger.service $(DESTDIR)$(systemunitdir)/basic.target.wants/udev-trigger.service
+
+INSTALL_DATA_HOOKS += systemd-install-hook
+
+bin_PROGRAMS += \
+       udevadm
+
+udevlibexec_PROGRAMS = \
+       udevd
+
+udev_common_sources = \
+       src/udev/udev.h \
+       src/udev/udev-event.c \
+       src/udev/udev-watch.c \
+       src/udev/udev-node.c \
+       src/udev/udev-rules.c \
+       src/udev/udev-ctrl.c \
+       src/udev/udev-builtin.c \
+       src/udev/udev-builtin-blkid.c \
+       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-path_id.c \
+       src/udev/udev-builtin-usb_id.c
+
+udev_common_CFLAGS = \
+       $(BLKID_CFLAGS) \
+       $(KMOD_CFLAGS)
+
+udev_common_LDADD = \
+       libudev-private.la \
+       $(BLKID_LIBS) \
+       $(KMOD_LIBS)
+
+udev_common_CPPFLAGS = \
+       $(AM_CPPFLAGS) \
+       -DFIRMWARE_PATH="$(FIRMWARE_PATH)" \
+       -DUSB_DATABASE=\"$(USB_DATABASE)\" -DPCI_DATABASE=\"$(PCI_DATABASE)\"
+
+udevd_SOURCES = \
+       $(udev_common_sources) \
+       src/udev/udevd.c \
+       src/systemd/sd-daemon.h \
+       src/sd-daemon.c
+
+udevd_CFLAGS = \
+       $(udev_common_CFLAGS)
+
+udevd_LDADD = \
+       $(udev_common_LDADD)
+
+udevd_CPPFLAGS = \
+       $(udev_common_CPPFLAGS)
+
+udevadm_SOURCES = \
+       $(udev_common_sources) \
+       src/udev/udevadm.c \
+       src/udev/udevadm-info.c \
+       src/udev/udevadm-control.c \
+       src/udev/udevadm-monitor.c \
+       src/udev/udevadm-settle.c \
+       src/udev/udevadm-trigger.c \
+       src/udev/udevadm-test.c \
+       src/udev/udevadm-test-builtin.c
+
+udevadm_CFLAGS = \
+       $(udev_common_CFLAGS)
+
+udevadm_LDADD = \
+       $(udev_common_LDADD)
+
+udevadm_CPPFLAGS = \
+       $(udev_common_CPPFLAGS)
+
+# ------------------------------------------------------------------------------
+TESTS = \
+       src/udev/test/udev-test.pl \
+       src/udev/test/rules-test.sh
+
+check_PROGRAMS = \
+       test-libudev \
+       test-udev
+
+test_libudev_SOURCES = \
+       src/udev/test-libudev.c
+
+test_libudev_LDADD = \
+       libudev.la
+
+test_udev_SOURCES = \
+       $(udev_common_sources) \
+       src/udev/test-udev.c
+
+test_udev_CFLAGS = \
+       $(udev_common_CFLAGS)
+
+test_udev_LDADD = \
+       $(udev_common_LDADD)
+
+test_udev_CPPFLAGS = \
+       $(udev_common_CPPFLAGS)
+
+test_udev_DEPENDENCIES = \
+       src/udev/test/sys
+
+# packed sysfs test tree
+src/udev/test/sys:
+       $(AM_V_GEN)mkdir -p src/udev/test && tar -C src/udev/test/ -xJf $(top_srcdir)/src/udev/test/sys.tar.xz
+
+test-sys-distclean:
+       -rm -rf src/udev/test/sys
+DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
+
+EXTRA_DIST += \
+       src/udev/test/sys.tar.xz \
+       $(TESTS) \
+       src/udev/test/rule-syntax-check.py
+
+# ------------------------------------------------------------------------------
+ata_id_SOURCES = \
+       src/udev/ata_id/ata_id.c
+
+ata_id_LDADD = \
+       libudev-private.la
+
+udevlibexec_PROGRAMS += \
+       ata_id
+
+# ------------------------------------------------------------------------------
+cdrom_id_SOURCES = \
+       src/udev/cdrom_id/cdrom_id.c
+
+cdrom_id_LDADD = \
+       libudev-private.la
+
+udevlibexec_PROGRAMS += \
+       cdrom_id
+
+dist_udevrules_DATA += \
+       src/udev/cdrom_id/60-cdrom_id.rules
+
+# ------------------------------------------------------------------------------
+collect_SOURCES = \
+       src/udev/collect/collect.c
+
+collect_LDADD = \
+       libudev-private.la
+
+udevlibexec_PROGRAMS += \
+       collect
+
+# ------------------------------------------------------------------------------
+scsi_id_SOURCES =\
+       src/udev/scsi_id/scsi_id.c \
+       src/udev/scsi_id/scsi_serial.c \
+       src/udev/scsi_id/scsi.h \
+       src/udev/scsi_id/scsi_id.h
+
+scsi_id_LDADD = \
+       libudev-private.la
+
+udevlibexec_PROGRAMS += \
+       scsi_id
+
+EXTRA_DIST += \
+       src/udev/scsi_id/README
+
+# ------------------------------------------------------------------------------
+v4l_id_SOURCES = \
+       src/udev/v4l_id/v4l_id.c
+
+v4l_id_LDADD = \
+       libudev-private.la
+
+udevlibexec_PROGRAMS += \
+       v4l_id
+
+dist_udevrules_DATA += \
+       src/udev/v4l_id/60-persistent-v4l.rules
+
+# ------------------------------------------------------------------------------
+accelerometer_SOURCES = \
+       src/udev/accelerometer/accelerometer.c
+
+accelerometer_LDADD = \
+       libudev-private.la -lm
+
+udevlibexec_PROGRAMS += \
+       accelerometer
+
+dist_udevrules_DATA += \
+       src/udev/accelerometer/61-accelerometer.rules
+
+# ------------------------------------------------------------------------------
+if ENABLE_GUDEV
+SUBDIRS += \
+       src/udev/gudev/docs
+
+libgudev_includedir = \
+       $(includedir)/gudev-1.0/gudev
+
+libgudev_include_HEADERS = \
+       src/udev/gudev/gudev.h \
+       src/udev/gudev/gudevenums.h \
+       src/udev/gudev/gudevenumtypes.h \
+       src/udev/gudev/gudevtypes.h \
+       src/udev/gudev/gudevclient.h \
+       src/udev/gudev/gudevdevice.h \
+       src/udev/gudev/gudevenumerator.h
+
+lib_LTLIBRARIES += libgudev-1.0.la
+
+pkgconfiglib_DATA += \
+       src/udev/gudev/gudev-1.0.pc
+
+EXTRA_DIST += \
+       src/udev/gudev/gudev-1.0.pc.in
+
+CLEANFILES += \
+       src/udev/gudev/gudev-1.0.pc
+
+libgudev_1_0_la_SOURCES = \
+       src/udev/gudev/gudevenums.h \
+       src/udev/gudev/gudevenumtypes.h \
+       src/udev/gudev/gudevenumtypes.h\
+       src/udev/gudev/gudevtypes.h \
+       src/udev/gudev/gudevclient.h \
+       src/udev/gudev/gudevclient.c \
+       src/udev/gudev/gudevdevice.h \
+       src/udev/gudev/gudevdevice.c \
+       src/udev/gudev/gudevenumerator.h \
+       src/udev/gudev/gudevenumerator.c \
+       src/udev/gudev/gudevprivate.h
+
+nodist_libgudev_1_0_la_SOURCES = \
+       src/udev/gudev/gudevmarshal.h \
+       src/udev/gudev/gudevmarshal.c \
+       src/udev/gudev/gudevenumtypes.h \
+       src/udev/gudev/gudevenumtypes.c
+
+BUILT_SOURCES += \
+       $(nodist_libgudev_1_0_la_SOURCES)
+
+libgudev_1_0_la_CPPFLAGS = \
+       $(AM_CPPFLAGS) \
+       -I$(top_builddir)/src\
+       -I$(top_srcdir)/src\
+       -I$(top_builddir)/src/udev/gudev \
+       -I$(top_srcdir)/src/udev/gudev \
+       -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
+       -D_GUDEV_COMPILATION \
+       -DG_LOG_DOMAIN=\"GUdev\"
+
+libgudev_1_0_la_CFLAGS = \
+       -fvisibility=default \
+       $(GLIB_CFLAGS)
+
+libgudev_1_0_la_LIBADD = \
+       libudev.la \
+       $(GLIB_LIBS)
+
+libgudev_1_0_la_LDFLAGS = \
+       -version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
+       -export-dynamic -no-undefined \
+       -export-symbols-regex '^g_udev_.*'
+
+EXTRA_DIST += \
+       src/udev/gudev/gudevmarshal.list \
+       src/udev/gudev/gudevenumtypes.h.template \
+       src/udev/gudev/gudevenumtypes.c.template \
+       src/udev/gudev/gjs-example.js \
+       src/udev/gudev/seed-example-enum.js \
+       src/udev/gudev/seed-example.js
+
+CLEANFILES += \
+       $(nodist_libgudev_1_0_la_SOURCES)
+
+src/udev/gudev/gudevmarshal.h: src/udev/gudev/gudevmarshal.list
+       $(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
+
+src/udev/gudev/gudevmarshal.c: src/udev/gudev/gudevmarshal.list
+       $(AM_V_GEN)echo "#include \"gudevmarshal.h\"" > $@ && \
+       glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
+
+src/udev/gudev/gudevenumtypes.h: src/udev/gudev/gudevenumtypes.h.template src/udev/gudev/gudevenums.h
+       $(AM_V_GEN)glib-mkenums --template $^ > \
+           $@.tmp && mv $@.tmp $@
+
+src/udev/gudev/gudevenumtypes.c: src/udev/gudev/gudevenumtypes.c.template src/udev/gudev/gudevenums.h
+       $(AM_V_GEN)glib-mkenums --template $^ > \
+           $@.tmp && mv $@.tmp $@
+
+if ENABLE_INTROSPECTION
+src/udev/gudev/GUdev-1.0.gir: libgudev-1.0.la $(G_IR_SCANNER)
+       $(AM_V_GEN)$(G_IR_SCANNER) -v \
+               --warn-all \
+               --namespace GUdev \
+               --nsversion=1.0 \
+               --include=GObject-2.0 \
+               --library=gudev-1.0 \
+               --library-path=$(top_builddir)/src/udev \
+               --library-path=$(top_builddir)/src/udev/gudev \
+               --output $@ \
+               --pkg=glib-2.0 \
+               --pkg=gobject-2.0 \
+               --pkg-export=gudev-1.0 \
+               --c-include=gudev/gudev.h \
+               -I$(top_srcdir)/src/udev \
+               -I$(top_builddir)/src/udev \
+               -D_GUDEV_COMPILATION \
+               -D_GUDEV_WORK_AROUND_DEV_T_BUG \
+               $(top_srcdir)/src/udev/gudev/gudev.h \
+               $(top_srcdir)/src/udev/gudev/gudevtypes.h \
+               $(top_srcdir)/src/udev/gudev/gudevenums.h \
+               $(or $(wildcard $(top_builddir)/src/udev/gudev/gudevenumtypes.h),$(top_srcdir)/src/udev/gudev/gudevenumtypes.h) \
+               $(top_srcdir)/src/udev/gudev/gudevclient.h \
+               $(top_srcdir)/src/udev/gudev/gudevdevice.h \
+               $(top_srcdir)/src/udev/gudev/gudevenumerator.h \
+               $(top_srcdir)/src/udev/gudev/gudevclient.c \
+               $(top_srcdir)/src/udev/gudev/gudevdevice.c \
+               $(top_srcdir)/src/udev/gudev/gudevenumerator.c
+
+src/udev/gudev/GUdev-1.0.typelib: src/udev/gudev/GUdev-1.0.gir $(G_IR_COMPILER)
+       $(AM_V_GEN)g-ir-compiler $< -o $@
+
+girdir = $(GIRDIR)
+gir_DATA = \
+       src/udev/gudev/GUdev-1.0.gir
+
+typelibsdir = $(GIRTYPELIBDIR)
+typelibs_DATA = \
+       src/udev/gudev/GUdev-1.0.typelib
+
+CLEANFILES += $(gir_DATA) $(typelibs_DATA)
+endif # ENABLE_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-uninstall-move-hook:
+       rm -f $(DESTDIR)$(rootlibdir)/libgudev-1.0.so*
+
+INSTALL_EXEC_HOOKS += libgudev-install-move-hook
+UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook
+endif
+
+# ------------------------------------------------------------------------------
+if ENABLE_KEYMAP
+keymap_SOURCES = \
+       src/udev/keymap/keymap.c
+
+keymap_CPPFLAGS = \
+       $(AM_CPPFLAGS) -I src/udev/keymap
+
+nodist_keymap_SOURCES = \
+       src/udev/keymap/keys-from-name.h \
+       src/udev/keymap/keys-to-name.h
+
+BUILT_SOURCES += \
+       $(nodist_keymap_SOURCES)
+
+udevlibexec_PROGRAMS += \
+       keymap
+
+dist_doc_DATA += \
+       src/udev/keymap/README.keymap.txt
+
+dist_udevrules_DATA += \
+       src/udev/keymap/95-keymap.rules \
+       src/udev/keymap/95-keyboard-force-release.rules
+
+dist_udevhome_SCRIPTS += \
+       src/udev/keymap/findkeyboards
+
+udevhome_SCRIPTS += \
+       src/udev/keymap/keyboard-force-release.sh
+
+EXTRA_DIST += \
+       src/udev/keymap/check-keymaps.sh \
+       src/udev/keymap/keyboard-force-release.sh.in
+
+CLEANFILES += \
+       $(nodist_keymap_SOURCES) \
+       src/udev/keymap/keys.txt \
+       src/udev/keymap/keys-from-name.gperf \
+       src/udev/keymap/keyboard-force-release.sh
+
+udevkeymapdir = $(libexecdir)/udev/keymaps
+dist_udevkeymap_DATA = \
+       src/udev/keymap/keymaps/acer \
+       src/udev/keymap/keymaps/acer-aspire_5720 \
+       src/udev/keymap/keymaps/acer-aspire_8930 \
+       src/udev/keymap/keymaps/acer-aspire_5920g \
+       src/udev/keymap/keymaps/acer-aspire_6920 \
+       src/udev/keymap/keymaps/acer-travelmate_c300 \
+       src/udev/keymap/keymaps/asus \
+       src/udev/keymap/keymaps/compaq-e_evo \
+       src/udev/keymap/keymaps/dell \
+       src/udev/keymap/keymaps/dell-latitude-xt2 \
+       src/udev/keymap/keymaps/everex-xt5000 \
+       src/udev/keymap/keymaps/fujitsu-amilo_li_2732 \
+       src/udev/keymap/keymaps/fujitsu-amilo_pa_2548 \
+       src/udev/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
+       src/udev/keymap/keymaps/fujitsu-amilo_pro_v3205 \
+       src/udev/keymap/keymaps/fujitsu-amilo_si_1520 \
+       src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v5 \
+       src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v6 \
+       src/udev/keymap/keymaps/genius-slimstar-320 \
+       src/udev/keymap/keymaps/hewlett-packard \
+       src/udev/keymap/keymaps/hewlett-packard-2510p_2530p \
+       src/udev/keymap/keymaps/hewlett-packard-compaq_elitebook \
+       src/udev/keymap/keymaps/hewlett-packard-pavilion \
+       src/udev/keymap/keymaps/hewlett-packard-presario-2100 \
+       src/udev/keymap/keymaps/hewlett-packard-tablet \
+       src/udev/keymap/keymaps/hewlett-packard-tx2 \
+       src/udev/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
+       src/udev/keymap/keymaps/inventec-symphony_6.0_7.0 \
+       src/udev/keymap/keymaps/lenovo-3000 \
+       src/udev/keymap/keymaps/lenovo-ideapad \
+       src/udev/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
+       src/udev/keymap/keymaps/lenovo-thinkpad_x6_tablet \
+       src/udev/keymap/keymaps/lenovo-thinkpad_x200_tablet \
+       src/udev/keymap/keymaps/lg-x110 \
+       src/udev/keymap/keymaps/logitech-wave \
+       src/udev/keymap/keymaps/logitech-wave-cordless \
+       src/udev/keymap/keymaps/logitech-wave-pro-cordless \
+       src/udev/keymap/keymaps/maxdata-pro_7000 \
+       src/udev/keymap/keymaps/medion-fid2060 \
+       src/udev/keymap/keymaps/medionnb-a555 \
+       src/udev/keymap/keymaps/micro-star \
+       src/udev/keymap/keymaps/module-asus-w3j \
+       src/udev/keymap/keymaps/module-ibm \
+       src/udev/keymap/keymaps/module-lenovo \
+       src/udev/keymap/keymaps/module-sony \
+       src/udev/keymap/keymaps/module-sony-old \
+       src/udev/keymap/keymaps/module-sony-vgn \
+       src/udev/keymap/keymaps/olpc-xo \
+       src/udev/keymap/keymaps/onkyo \
+       src/udev/keymap/keymaps/oqo-model2 \
+       src/udev/keymap/keymaps/samsung-other \
+       src/udev/keymap/keymaps/samsung-90x3a \
+       src/udev/keymap/keymaps/samsung-sq1us \
+       src/udev/keymap/keymaps/samsung-sx20s \
+       src/udev/keymap/keymaps/toshiba-satellite_a100 \
+       src/udev/keymap/keymaps/toshiba-satellite_a110 \
+       src/udev/keymap/keymaps/toshiba-satellite_m30x \
+       src/udev/keymap/keymaps/zepto-znote
+
+udevkeymapforcereldir = $(libexecdir)/udev/keymaps/force-release
+dist_udevkeymapforcerel_DATA = \
+       src/udev/keymap/force-release-maps/dell-touchpad \
+       src/udev/keymap/force-release-maps/hp-other \
+       src/udev/keymap/force-release-maps/samsung-other \
+       src/udev/keymap/force-release-maps/samsung-90x3a \
+       src/udev/keymap/force-release-maps/common-volume-keys
+
+src/udev/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
+       $(AM_V_at)mkdir -p src/keymap
+       $(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
+
+src/udev/keymap/keys-from-name.gperf: src/udev/keymap/keys.txt
+       $(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 < $< > $@
+
+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 "};"}' < $< > $@
+
+keymaps-distcheck-hook: src/udev/keymap/keys.txt
+       $(top_srcdir)/src/udev/keymap/check-keymaps.sh $(top_srcdir) $^
+DISTCHECK_HOOKS += keymaps-distcheck-hook
+endif
+
+# ------------------------------------------------------------------------------
+mtd_probe_SOURCES =  \
+       src/udev/mtd_probe/mtd_probe.c \
+       src/udev/mtd_probe/mtd_probe.h \
+       src/udev/mtd_probe/probe_smartmedia.c
+
+mtd_probe_CPPFLAGS = \
+       $(AM_CPPFLAGS)
+
+dist_udevrules_DATA += \
+       src/udev/mtd_probe/75-probe_mtd.rules
+
+udevlibexec_PROGRAMS += \
+       mtd_probe
+
 # ------------------------------------------------------------------------------
 libsystemd_id128_la_SOURCES = \
        src/sd-id128.c
@@ -1198,7 +1767,7 @@ lib_LTLIBRARIES += \
        libsystemd-id128.la
 
 pkgconfiglib_DATA += \
-       libsystemd-id128.pc
+       src/libsystemd-id128.pc
 
 # move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
 libsystemd-id128-install-hook:
@@ -1220,7 +1789,7 @@ UNINSTALL_EXEC_HOOKS += \
        libsystemd-id128-uninstall-hook
 
 EXTRA_DIST += \
-       libsystemd-id128.pc.in \
+       src/libsystemd-id128.pc.in \
        src/libsystemd-id128.sym
 
 # ------------------------------------------------------------------------------
@@ -1231,9 +1800,13 @@ systemd_journald_SOURCES = \
        src/journal/lookup3.c \
        src/journal/journal-rate-limit.c \
        src/sd-id128.c \
-       src/acl-util.c \
        src/cgroup-util.c
 
+if HAVE_ACL
+systemd_journald_SOURCES += \
+       src/acl-util.c
+endif
+
 nodist_systemd_journald_SOURCES = \
        src/journal/journald-gperf.c
 
@@ -1256,22 +1829,30 @@ systemd_journald_LDADD += \
        $(XZ_LIBS)
 endif
 
-systemd_journalctl_SOURCES = \
+systemd_cat_SOURCES = \
+       src/journal/cat.c
+
+systemd_cat_LDADD = \
+       libsystemd-basic.la \
+       libsystemd-journal.la
+
+journalctl_SOURCES = \
        src/journal/journalctl.c \
        src/pager.c \
        src/logs-show.c
 
-systemd_journalctl_LDADD = \
+journalctl_LDADD = \
        libsystemd-basic.la \
-       libsystemd-journal.la
+       libsystemd-journal.la \
+       libsystemd-id128.la
 
 if HAVE_XZ
-systemd_journalctl_SOURCES += \
+journalctl_SOURCES += \
        src/journal/compress.c
-systemd_journalctl_CFLAGS = \
+journalctl_CFLAGS = \
        $(AM_CFLAGS) \
        $(XZ_CFLAGS)
-systemd_journalctl_LDADD += \
+journalctl_LDADD += \
        $(XZ_LIBS)
 endif
 
@@ -1298,6 +1879,13 @@ test_journal_LDADD += \
        $(XZ_LIBS)
 endif
 
+test_journal_send_SOURCES = \
+       src/journal/test-journal-send.c
+
+test_journal_send_LDADD = \
+       libsystemd-basic.la \
+       libsystemd-journal.la
+
 libsystemd_journal_la_SOURCES = \
        src/journal/sd-journal.c \
        src/journal/journal-file.c \
@@ -1348,11 +1936,12 @@ UNINSTALL_EXEC_HOOKS += \
        libsystemd-journal-uninstall-hook
 
 noinst_PROGRAMS += \
-       test-journal
+       test-journal \
+        test-journal-send
 
 pkginclude_HEADERS += \
        src/systemd/sd-journal.h \
-        src/systemd/sd-messages.h
+       src/systemd/sd-messages.h
 
 lib_LTLIBRARIES += \
        libsystemd-journal.la
@@ -1361,7 +1950,10 @@ rootlibexec_PROGRAMS += \
        systemd-journald
 
 rootbin_PROGRAMS += \
-       systemd-journalctl
+       journalctl
+
+bin_PROGRAMS += \
+       systemd-cat
 
 dist_systemunit_DATA += \
        units/systemd-journald.socket
@@ -1370,17 +1962,21 @@ nodist_systemunit_DATA += \
        units/systemd-journald.service
 
 dist_pkgsysconf_DATA += \
-       src/journal/systemd-journald.conf
+       src/journal/journald.conf
 
 pkgconfiglib_DATA += \
        src/journal/libsystemd-journal.pc
 
 journal-install-data-hook:
        $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(systemunitdir)/sockets.target.wants
+               $(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 && \
+               $(LN_S) ../systemd-journald.service )
 
 INSTALL_DATA_HOOKS += \
        journal-install-data-hook
@@ -1401,6 +1997,29 @@ EXTRA_DIST += \
 CLEANFILES += \
        src/journal/journald-gperf.c
 
+# ------------------------------------------------------------------------------
+if ENABLE_COREDUMP
+systemd_coredump_SOURCES = \
+       src/journal/coredump.c
+
+systemd_coredump_LDADD = \
+       libsystemd-basic.la \
+       libsystemd-journal.la \
+       libsystemd-login.la
+
+rootlibexec_PROGRAMS += \
+       systemd-coredump
+
+sysctl_DATA = \
+       sysctl.d/coredump.conf
+
+EXTRA_DIST += \
+       sysctl.d/coredump.conf.in
+
+CLEANFILES += \
+       sysctl.d/coredump.conf
+endif
+
 # ------------------------------------------------------------------------------
 if ENABLE_BINFMT
 systemd_binfmt_SOURCES = \
@@ -1480,24 +2099,16 @@ systemd_readahead_collect_SOURCES = \
 systemd_readahead_collect_LDADD = \
        libsystemd-basic.la \
        libsystemd-daemon.la \
-       $(UDEV_LIBS)
-
-systemd_readahead_collect_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(UDEV_CFLAGS)
+       libudev.la
 
 systemd_readahead_replay_SOURCES = \
        src/readahead/readahead-replay.c \
        src/readahead/readahead-common.c
 
-systemd_readahead_replay_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(UDEV_CFLAGS)
-
 systemd_readahead_replay_LDADD = \
        libsystemd-basic.la \
        libsystemd-daemon.la \
-       $(UDEV_LIBS)
+       libudev.la
 
 rootlibexec_PROGRAMS += \
        systemd-readahead-collect \
@@ -1592,12 +2203,11 @@ systemd_cryptsetup_SOURCES = \
 
 systemd_cryptsetup_CFLAGS = \
        $(AM_CFLAGS) \
-       $(LIBCRYPTSETUP_CFLAGS) \
-       $(UDEV_CFLAGS)
+       $(LIBCRYPTSETUP_CFLAGS)
 
 systemd_cryptsetup_LDADD = \
        $(LIBCRYPTSETUP_LIBS) \
-       $(UDEV_LIBS) \
+       libudev.la \
        libsystemd-basic.la
 
 systemd_cryptsetup_generator_SOURCES = \
@@ -1810,14 +2420,13 @@ endif
 systemd_logind_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS) \
-       $(UDEV_CFLAGS) \
        $(ACL_CFLAGS)
 
 systemd_logind_LDADD = \
        libsystemd-basic.la \
        libsystemd-daemon.la \
+       libudev.la \
        $(DBUS_LIBS) \
-       $(UDEV_LIBS) \
        $(ACL_LIBS)
 
 systemd_user_sessions_SOURCES = \
@@ -1831,26 +2440,25 @@ rootlibexec_PROGRAMS += \
        systemd-logind \
        systemd-user-sessions
 
-systemd_loginctl_SOURCES = \
+loginctl_SOURCES = \
        src/login/loginctl.c \
+       src/login/sysfs-show.c \
        src/dbus-common.c \
        src/cgroup-show.c \
        src/cgroup-util.c \
-       src/pager.c \
-       src/sysfs-show.c
+       src/pager.c
 
-systemd_loginctl_CFLAGS = \
+loginctl_CFLAGS = \
        $(AM_CFLAGS) \
-       $(DBUS_CFLAGS) \
-       $(UDEV_CFLAGS)
+       $(DBUS_CFLAGS)
 
-systemd_loginctl_LDADD = \
+loginctl_LDADD = \
        libsystemd-basic.la \
-       $(DBUS_LIBS) \
-       $(UDEV_LIBS)
+       libudev.la \
+       $(DBUS_LIBS)
 
 rootbin_PROGRAMS += \
-       systemd-loginctl
+       loginctl
 
 test_login_SOURCES = \
        src/login/test-login.c
@@ -1936,7 +2544,7 @@ dist_dbuspolicy_DATA += \
        src/login/org.freedesktop.login1.conf
 
 dist_pkgsysconf_DATA += \
-       src/login/systemd-logind.conf
+       src/login/logind.conf
 
 pkginclude_HEADERS += \
        src/systemd/sd-login.h
@@ -1952,7 +2560,8 @@ polkitpolicy_in_files += \
 
 logind-install-data-hook:
        $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(systemunitdir)/multi-user.target.wants
+               $(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)
@@ -1964,6 +2573,16 @@ logind-install-data-hook:
 INSTALL_DATA_HOOKS += \
        logind-install-data-hook
 
+systemd_multi_seat_x_SOURCES = \
+       src/login/multi-seat-x.c
+
+systemd_multi_seat_x_LDADD = \
+       libsystemd-basic.la \
+       libudev.la
+
+rootlibexec_PROGRAMS += \
+       systemd-multi-seat-x
+
 systemd_uaccess_SOURCES = \
        src/login/uaccess.c
 
@@ -1975,26 +2594,31 @@ endif
 
 systemd_uaccess_CFLAGS = \
        $(AM_CFLAGS) \
-       $(UDEV_CFLAGS) \
        $(ACL_CFLAGS)
 
 systemd_uaccess_LDADD = \
        libsystemd-basic.la \
        libsystemd-daemon.la \
        libsystemd-login.la \
-       $(UDEV_LIBS) \
+       libudev.la \
        $(ACL_LIBS)
 
 rootlibexec_PROGRAMS += \
        systemd-uaccess
 
 dist_udevrules_DATA += \
-       src/70-uaccess.rules
+       src/login/70-uaccess.rules
+
+dist_udevrules_DATA += \
+       src/login/71-seat.rules
+
+nodist_udevrules_DATA += \
+       src/login/73-seat-late.rules
 
 MANPAGES += \
-       man/systemd-logind.conf.5 \
+       man/logind.conf.5 \
        man/sd-login.7 \
-       man/systemd-loginctl.1 \
+       man/loginctl.1 \
        man/sd_login_monitor_new.3 \
        man/sd_pid_get_session.3 \
        man/sd_uid_get_state.3 \
@@ -2008,6 +2632,10 @@ MANPAGES_ALIAS += \
        man/sd_login_monitor_get_fd.3 \
        man/sd_session_get_uid.3 \
        man/sd_session_get_seat.3 \
+       man/sd_session_get_service.3 \
+       man/sd_session_get_type.3 \
+       man/sd_session_get_class.3 \
+       man/sd_session_get_display.3 \
        man/sd_pid_get_owner_uid.3 \
        man/sd_pid_get_unit.3 \
        man/sd_uid_is_on_seat.3 \
@@ -2023,6 +2651,10 @@ 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_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_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_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
@@ -2035,8 +2667,6 @@ man/sd_get_uids.3: man/sd_get_seats.3
 
 EXTRA_DIST += \
        src/login/logind-gperf.gperf \
-       units/systemd-logind.service.in \
-       units/systemd-user-sessions.service.in \
        src/login/libsystemd-login.pc.in \
        src/login/libsystemd-login.sym \
        src/login/logind.h \
@@ -2044,10 +2674,14 @@ EXTRA_DIST += \
        src/login/logind-seat.h \
        src/login/logind-session.h \
        src/login/logind-user.h \
-       src/login/logind-acl.h
+       src/login/logind-acl.h \
+       src/login/73-seat-late.rules.in \
+       units/systemd-logind.service.in \
+       units/systemd-user-sessions.service.in
 
 CLEANFILES += \
-       src/login/logind-gperf.c
+       src/login/logind-gperf.c \
+       src/login/73-seat-late.rules
 endif
 # ------------------------------------------------------------------------------
 
@@ -2070,6 +2704,9 @@ SED_PROCESS = \
                -e 's,@exec_prefix\@,$(exec_prefix),g' \
                -e 's,@libdir\@,$(libdir),g' \
                -e 's,@includedir\@,$(includedir),g' \
+               -e 's,@VERSION\@,$(VERSION),g' \
+               -e 's,@rootprefix\@,$(rootprefix),g' \
+               -e 's,@udevlibexecdir\@,$(libexecdir)/udev,g' \
                < $< > $@ || rm $@
 
 units/%: units/%.in Makefile
@@ -2078,15 +2715,22 @@ units/%: units/%.in Makefile
 man/%: man/%.in Makefile
        $(SED_PROCESS)
 
+sysctl.d/%: sysctl.d/%.in Makefile
+       $(SED_PROCESS)
+
 %.pc: %.pc.in Makefile
        $(SED_PROCESS)
 
 src/%.policy.in: src/%.policy.in.in Makefile
        $(SED_PROCESS)
 
-src/%.rules: src/%.rules.in Makefile
+%.rules: %.rules.in Makefile
        $(SED_PROCESS)
 
+%.sh: %.sh.in Makefile
+       $(SED_PROCESS)
+       $(AM_V_GEN)chmod +x $@
+
 src/%.c: src/%.gperf
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
        $(GPERF) < $< > $@
@@ -2117,21 +2761,13 @@ CLEANFILES += \
        $(nodist_systemunit_DATA) \
        $(nodist_userunit_DATA) \
        $(nodist_man_MANS) \
-       ${XML_IN_FILES:.xml.in=.html} \
        $(pkgconfigdata_DATA) \
        $(pkgconfiglib_DATA) \
        $(nodist_polkitpolicy_DATA) \
-       src/73-seat-late.rules \
-       src/99-systemd.rules \
        src/load-fragment-gperf.gperf \
        src/load-fragment-gperf.c \
        src/load-fragment-gperf-nulstr.c
 
-if HAVE_VALAC
-CLEANFILES += \
-       ${systemadm_SOURCES:.vala=.c}
-endif
-
 if HAVE_XSLTPROC
 XSLTPROC_FLAGS = \
        --nonet \
@@ -2141,61 +2777,31 @@ XSLTPROC_PROCESS_MAN = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
        $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
 
-XSLTPROC_PROCESS_MAN_IN = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
-       $(XSLTPROC) -o ${@:.in=} $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
-       mv ${@:.in=} $@
-
 XSLTPROC_PROCESS_HTML = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
        $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
 
-XSLTPROC_PROCESS_HTML_IN = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
-       $(XSLTPROC) -o ${@:.in=} $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $< && \
-       mv ${@:.in=} $@
-
 man/%.1: man/%.xml
        $(XSLTPROC_PROCESS_MAN)
 
-man/%.1.in: man/%.xml.in
-       $(XSLTPROC_PROCESS_MAN)
-
 man/%.3: man/%.xml
        $(XSLTPROC_PROCESS_MAN)
 
-man/%.3.in: man/%.xml.in
-       $(XSLTPROC_PROCESS_MAN)
-
 man/%.5: man/%.xml
        $(XSLTPROC_PROCESS_MAN)
 
-man/%.5.in: man/%.xml.in
-       $(XSLTPROC_PROCESS_MAN)
-
 man/%.7: man/%.xml
        $(XSLTPROC_PROCESS_MAN)
 
-man/%.7.in: man/%.xml.in
-       $(XSLTPROC_PROCESS_MAN_IN)
-
 man/%.8: man/%.xml
        $(XSLTPROC_PROCESS_MAN)
 
-man/%.8.in: man/%.xml.in
-       $(XSLTPROC_PROCESS_MAN_IN)
-
 man/%.html: man/%.xml
        $(XSLTPROC_PROCESS_HTML)
 
-man/%.html.in: man/%.xml.in
-       $(XSLTPROC_PROCESS_HTML_IN)
-
 CLEANFILES += \
        $(dist_man_MANS) \
-       ${nodist_man_MANS:=.in} \
-       ${XML_FILES:.xml=.html} \
-       ${XML_IN_FILES:.xml.in=.html.in}
+       ${XML_FILES:.xml=.html}
 endif
 
 DBUS_PREPROCESS = $(CPP) -P $(DBUS_CFLAGS) -imacros dbus/dbus-protocol.h
@@ -2246,11 +2852,9 @@ systemd-install-data-hook:
                rm -f user && \
                $(LN_S) $(pkgsysconfdir)/user user )
        ( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
-               rm -f systemd-initctl.socket systemd-stdout-syslog-bridge.socket systemd-shutdownd.socket syslog.socket && \
-               $(LN_S) ../systemd-stdout-syslog-bridge.socket systemd-stdout-syslog-bridge.socket && \
+               rm -f systemd-initctl.socket systemd-shutdownd.socket && \
                $(LN_S) ../systemd-initctl.socket systemd-initctl.socket && \
-               $(LN_S) ../systemd-shutdownd.socket systemd-shutdownd.socket && \
-               $(LN_S) ../syslog.socket syslog.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 )
@@ -2273,13 +2877,11 @@ systemd-install-data-hook:
                rm -f systemd-remount-api-vfs.service \
                        fsck-root.service \
                        remount-rootfs.service \
-                       var-run.mount \
-                       media.mount && \
+                       tmp.mount && \
                $(LN_S) ../systemd-remount-api-vfs.service systemd-remount-api-vfs.service && \
                $(LN_S) ../fsck-root.service fsck-root.service && \
                $(LN_S) ../remount-rootfs.service remount-rootfs.service && \
-               $(LN_S) ../var-run.mount var-run.mount && \
-               $(LN_S) ../media.mount media.mount )
+               $(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 && \
@@ -2316,24 +2918,20 @@ systemd-install-data-hook:
                        dev-mqueue.mount \
                        sys-kernel-config.mount \
                        sys-kernel-debug.mount \
-                       sys-kernel-security.mount \
                        sys-fs-fuse-connections.mount \
                        systemd-modules-load.service \
                        systemd-tmpfiles-setup.service \
                        systemd-sysctl.service \
-                       systemd-ask-password-console.path \
-                       systemd-kmsg-syslogd.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-kernel-security.mount sys-kernel-security.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 && \
-               $(LN_S) ../systemd-kmsg-syslogd.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 )
@@ -2442,30 +3040,30 @@ if TARGET_MAGEIA
                $(LN_S) $(systemunitdir)/display-manager.service display-manager.service )
 endif
 
-if HAVE_SYSV_COMPAT
-       ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \
-               rm -f var-lock.mount && \
-               $(LN_S) ../var-lock.mount var-lock.mount )
-endif
-
 install-exec-hook: $(INSTALL_EXEC_HOOKS)
 
 uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
 
 install-data-hook: systemd-install-data-hook $(INSTALL_DATA_HOOKS)
 
+distcheck-hook: $(DISTCHECK_HOOKS)
+
+distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
+
 DISTCHECK_CONFIGURE_FLAGS = \
        --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
        --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \
        --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
        --with-dbusinterfacedir=$$dc_install_base/$(dbusinterfacedir) \
-       --with-udevrulesdir=$$dc_install_base/$(udevrulesdir) \
        --with-pamlibdir=$$dc_install_base/$(pamlibdir) \
-       --with-rootprefix=$$dc_install_base/$(rootprefix)
+       --with-rootprefix=$$dc_install_base \
+       --disable-split-usr \
+       --enable-gtk-doc
 
 upload: all distcheck
-       cp -v systemd-$(VERSION).tar.bz2 /home/lennart/git.fedora/systemd/
-       scp systemd-$(VERSION).tar.bz2 fdo:/srv/www.freedesktop.org/www/software/systemd/
+       cp -v systemd-$(VERSION).tar.xz /home/lennart/git.fedora/systemd/
+       scp systemd-$(VERSION).tar.xz fdo:/srv/www.freedesktop.org/www/software/systemd/
+       scp man/*.html fdo:/srv/www.freedesktop.org/www/software/systemd/man/
        scp man/*.html tango:public/systemd-man/
 
 git-tag: