chiark / gitweb /
move a couple of test-*.c to test/
[elogind.git] / Makefile.am
index f22806e58de87986242791e91ef8b166b224b41a..4a12d89b5e25681294e3ddc7281245d414533d4a 100644 (file)
@@ -4,16 +4,16 @@
 #  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
-#  the Free Software Foundation; either version 2 of the License, or
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 #
 #  systemd is distributed in the hope that it will be useful, but
 #  WITHOUT ANY WARRANTY; without even the implied warranty of
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-#  General Public License for more details.
+#  Lesser General Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License
+#  You should have received a copy of the GNU Lesser General Public License
 #  along with systemd; If not, see <http://www.gnu.org/licenses/>.
 
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
@@ -22,7 +22,7 @@ AM_MAKEFLAGS = --no-print-directory
 SUBDIRS = . po
 
 LIBUDEV_CURRENT=13
-LIBUDEV_REVISION=2
+LIBUDEV_REVISION=3
 LIBUDEV_AGE=13
 
 LIBGUDEV_CURRENT=1
@@ -84,6 +84,7 @@ INSTALL_DATA_HOOKS =
 DISTCHECK_HOOKS =
 DISTCLEAN_LOCAL_HOOKS =
 pkginclude_HEADERS =
+noinst_LTLIBRARIES =
 lib_LTLIBRARIES =
 include_HEADERS =
 pkgconfiglib_DATA =
@@ -119,16 +120,20 @@ AM_CPPFLAGS = \
        -DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \
        -DX_SERVER=\"$(bindir)/X\" \
        -DUDEVLIBEXECDIR=\""$(libexecdir)/udev"\" \
+       -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
        -I $(top_srcdir)/src \
+       -I $(top_srcdir)/src/shared \
        -I $(top_srcdir)/src/readahead \
        -I $(top_srcdir)/src/login \
        -I $(top_srcdir)/src/journal \
        -I $(top_srcdir)/src/systemd \
+       -I $(top_srcdir)/src/core \
        -I $(top_srcdir)/src/udev
 
 AM_CFLAGS = $(WARNINGFLAGS)
 AM_LDFLAGS = $(GCLDFLAGS)
 
+# ------------------------------------------------------------------------------
 if TARGET_GENTOO
 AM_CPPFLAGS += \
        -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
@@ -183,6 +188,7 @@ endif
 endif
 endif
 
+# ------------------------------------------------------------------------------
 rootbin_PROGRAMS = \
        systemctl \
        systemd-notify \
@@ -230,7 +236,7 @@ noinst_PROGRAMS = \
        test-env-replace \
        test-strv \
        test-install \
-        test-watchdog
+       test-watchdog
 
 dist_pkgsysconf_DATA = \
        src/system.conf \
@@ -286,6 +292,7 @@ dist_systemunit_DATA = \
        units/remote-fs-pre.target \
        units/network.target \
        units/nss-lookup.target \
+       units/nss-user-lookup.target \
        units/mail-transfer-agent.target \
        units/http-daemon.target \
        units/poweroff.target \
@@ -450,7 +457,9 @@ endif
 dist_doc_DATA = \
        README \
        NEWS \
-       LICENSE \
+       LICENSE.LGPL2.1 \
+       LICENSE.GPL2 \
+       LICENSE.MIT \
        DISTRO_PORTING
 
 pkgconfigdata_DATA = \
@@ -470,203 +479,7 @@ EXTRA_DIST += \
 
 @INTLTOOL_POLICY_RULE@
 
-noinst_LTLIBRARIES = \
-       libsystemd-basic.la \
-       libsystemd-core.la
-
-libsystemd_basic_la_SOURCES = \
-       src/util.c \
-       src/util.h \
-       src/virt.c \
-       src/virt.h \
-       src/label.c \
-       src/label.h \
-       src/hashmap.c \
-       src/hashmap.h \
-       src/set.c \
-       src/set.h \
-       src/strv.c \
-       src/strv.h \
-       src/conf-parser.c \
-       src/conf-parser.h \
-       src/socket-util.c \
-       src/socket-util.h \
-       src/log.c \
-       src/log.h \
-       src/ratelimit.h \
-       src/ratelimit.c \
-       src/exit-status.c \
-       src/exit-status.h \
-       src/utf8.c \
-       src/utf8.h
-
-libsystemd_basic_la_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(SELINUX_CFLAGS)
-
-libsystemd_basic_la_LIBADD = \
-       $(SELINUX_LIBS) \
-       $(CAP_LIBS)
-
-libsystemd_core_la_SOURCES = \
-       src/unit.c \
-       src/unit.h \
-       src/job.c \
-       src/job.h \
-       src/manager.c \
-       src/manager.h \
-       src/path-lookup.c \
-       src/path-lookup.h \
-       src/load-fragment.c \
-       src/load-fragment.h \
-       src/service.c \
-       src/service.h \
-       src/automount.c \
-       src/automount.h \
-       src/mount.c \
-       src/mount.h \
-       src/swap.c \
-       src/swap.h \
-       src/device.c \
-       src/device.h \
-       src/target.c \
-       src/target.h \
-       src/snapshot.c \
-       src/snapshot.h \
-       src/socket.c \
-       src/socket.h \
-       src/timer.c \
-       src/timer.h \
-       src/path.c \
-       src/path.h \
-       src/load-dropin.c \
-       src/load-dropin.h \
-       src/execute.c \
-       src/execute.h \
-       src/utmp-wtmp.c \
-       src/utmp-wtmp.h \
-       src/dbus.c \
-       src/dbus.h \
-       src/dbus-manager.c \
-       src/dbus-manager.h \
-       src/dbus-unit.c \
-       src/dbus-unit.h \
-       src/dbus-job.c \
-       src/dbus-job.h \
-       src/dbus-service.c \
-       src/dbus-service.h \
-       src/dbus-socket.c \
-       src/dbus-socket.h \
-       src/dbus-timer.c \
-       src/dbus-timer.h \
-       src/dbus-target.c \
-       src/dbus-target.h \
-       src/dbus-mount.c \
-       src/dbus-mount.h \
-       src/dbus-automount.c \
-       src/dbus-automount.h \
-       src/dbus-swap.c \
-       src/dbus-swap.h \
-       src/dbus-snapshot.c \
-       src/dbus-snapshot.h \
-       src/dbus-device.c \
-       src/dbus-device.h \
-       src/dbus-execute.c \
-       src/dbus-execute.h \
-       src/dbus-path.c \
-       src/dbus-path.h \
-       src/cgroup.c \
-       src/cgroup.h \
-       src/mount-setup.c \
-       src/mount-setup.h \
-       src/hostname-setup.c \
-       src/hostname-setup.h \
-       src/selinux-setup.c \
-       src/selinux-setup.h \
-       src/ima-setup.c \
-       src/ima-setup.h \
-       src/loopback-setup.h \
-       src/loopback-setup.c \
-       src/kmod-setup.c \
-       src/kmod-setup.h \
-       src/locale-setup.h \
-       src/locale-setup.c \
-       src/machine-id-setup.c \
-       src/machine-id-setup.h \
-       src/fdset.c \
-       src/fdset.h \
-       src/cgroup-util.c \
-       src/cgroup-util.h \
-       src/condition.c \
-       src/condition.h \
-       src/dbus-common.c \
-       src/dbus-common.h \
-       src/install.c \
-       src/install.h \
-       src/specifier.c \
-       src/specifier.h \
-       src/namespace.c \
-       src/namespace.h \
-       src/unit-name.c \
-       src/unit-name.h \
-       src/tcpwrap.c \
-       src/tcpwrap.h \
-       src/cgroup-attr.c \
-       src/cgroup-attr.h \
-        src/watchdog.c \
-        src/watchdog.h \
-       src/sd-daemon.c \
-       src/sd-id128.c \
-       src/macro.h \
-       src/def.h \
-       src/ioprio.h \
-       src/missing.h \
-       src/list.h \
-       src/securebits.h \
-       src/linux/auto_dev-ioctl.h \
-       src/linux/fanotify.h \
-       src/initreq.h \
-       src/special.h \
-       src/dbus-common.h \
-       src/bus-errors.h \
-       src/cgroup-show.h \
-       src/build.h \
-       src/shutdownd.h \
-       src/umount.h \
-       src/ask-password-api.h \
-       src/pager.h \
-       src/sysfs-show.h \
-       src/polkit.h \
-       src/dbus-loop.h \
-       src/spawn-agent.h \
-       src/acl-util.h \
-       src/logs-show.h
-
-nodist_libsystemd_core_la_SOURCES = \
-       src/load-fragment-gperf.c \
-       src/load-fragment-gperf-nulstr.c
-
-EXTRA_DIST += \
-       src/load-fragment-gperf.gperf.m4
-
-libsystemd_core_la_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(DBUS_CFLAGS) \
-       $(LIBWRAP_CFLAGS) \
-       $(PAM_CFLAGS) \
-       $(AUDIT_CFLAGS) \
-       $(KMOD_CFLAGS)
-
-libsystemd_core_la_LIBADD = \
-       libsystemd-basic.la \
-       libudev.la \
-       $(DBUS_LIBS) \
-       $(LIBWRAP_LIBS) \
-       $(PAM_LIBS) \
-       $(AUDIT_LIBS) \
-       $(CAP_LIBS) \
-       $(KMOD_LIBS)
-
+# ------------------------------------------------------------------------------
 MANPAGES = \
        man/systemd.1 \
        man/systemctl.1 \
@@ -688,7 +501,7 @@ MANPAGES = \
        man/systemd.snapshot.5 \
        man/systemd.exec.5 \
        man/systemd.special.7 \
-        man/systemd.journal-fields.7 \
+       man/systemd.journal-fields.7 \
        man/daemon.7 \
        man/runlevel.8 \
        man/telinit.8 \
@@ -709,10 +522,7 @@ MANPAGES = \
        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
+       man/journalctl.1
 
 MANPAGES_ALIAS = \
        man/reboot.8 \
@@ -741,113 +551,380 @@ EXTRA_DIST += \
        $(MANPAGES) \
        $(MANPAGES_ALIAS)
 
+# ------------------------------------------------------------------------------
+noinst_LTLIBRARIES += \
+       libsystemd-shared.la
+
+libsystemd_shared_la_SOURCES = \
+       src/shared/util.c \
+       src/shared/util.h \
+       src/shared/virt.c \
+       src/shared/virt.h \
+       src/shared/hashmap.c \
+       src/shared/hashmap.h \
+       src/shared/set.c \
+       src/shared/set.h \
+       src/shared/strv.c \
+       src/shared/strv.h \
+       src/shared/conf-parser.c \
+       src/shared/conf-parser.h \
+       src/shared/log.c \
+       src/shared/log.h \
+       src/shared/ratelimit.h \
+       src/shared/ratelimit.c \
+       src/shared/exit-status.c \
+       src/shared/exit-status.h \
+       src/shared/utf8.c \
+       src/shared/utf8.h \
+       src/shared/pager.c \
+       src/shared/pager.h \
+       src/shared/ioprio.h \
+       src/shared/socket-util.c \
+       src/shared/socket-util.h \
+       src/shared/cgroup-util.c \
+       src/shared/cgroup-util.h \
+       src/shared/dbus-common.c \
+       src/shared/dbus-common.h \
+       src/shared/hostname-setup.c \
+       src/shared/hostname-setup.h \
+       src/shared/logs-show.c \
+       src/shared/logs-show.h \
+       src/shared/cgroup-show.c \
+       src/shared/cgroup-show.h \
+       src/shared/unit-name.c \
+       src/shared/unit-name.h \
+       src/shared/utmp-wtmp.c \
+       src/shared/utmp-wtmp.h \
+       src/shared/watchdog.c \
+       src/shared/watchdog.h \
+       src/shared/umount.c \
+       src/shared/umount.h \
+       src/shared/spawn-ask-password-agent.c \
+       src/shared/spawn-ask-password-agent.h \
+       src/shared/mount-setup.c \
+       src/shared/mount-setup.h \
+       src/shared/machine-id-util.c \
+       src/shared/machine-id-util.h \
+       src/shared/loopback-setup.h \
+       src/shared/loopback-setup.c \
+       src/shared/specifier.c \
+       src/shared/specifier.h \
+       src/shared/spawn-polkit-agent.c \
+       src/shared/spawn-polkit-agent.h \
+       src/shared/list.h \
+       src/shared/macro.h
+
+libsystemd_shared_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS)
+
+# ------------------------------------------------------------------------------
+noinst_LTLIBRARIES += \
+       libsystemd-label.la
+
+libsystemd_label_la_SOURCES = \
+       src/shared/install.c \
+       src/shared/install.h \
+       src/shared/path-lookup.c \
+       src/shared/path-lookup.h \
+       src/shared/cgroup-label.c \
+       src/shared/socket-label.c \
+       src/shared/label.c \
+       src/shared/label.h \
+       src/shared/mkdir.c \
+       src/shared/mkdir.h
+
+libsystemd_label_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS) \
+       $(SELINUX_CFLAGS)
+
+libsystemd_label_la_LIBADD = \
+       $(SELINUX_LIBS)
+
+# ------------------------------------------------------------------------------
+noinst_LTLIBRARIES += \
+       libsystemd-capability.la
+
+libsystemd_capability_la_SOURCES = \
+       src/shared/capability.c \
+       src/shared/capability.h
+
+libsystemd_capability_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(CAP_CFLAGS)
+
+libsystemd_capability_la_LIBADD = \
+       $(CAP_LIBS)
+
+# ------------------------------------------------------------------------------
+noinst_LTLIBRARIES += \
+       libsystemd-audit.la
+
+libsystemd_audit_la_SOURCES = \
+       src/shared/audit.c \
+       src/shared/audit.h
+
+libsystemd_audit_la_LIBADD = \
+       libsystemd-capability.la
+
+# ------------------------------------------------------------------------------
+if HAVE_ACL
+noinst_LTLIBRARIES += \
+       libsystemd-acl.la
+
+libsystemd_acl_la_SOURCES = \
+       src/shared/acl-util.c \
+       src/shared/acl-util.h
+
+libsystemd_acl_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(ACL_CFLAGS)
+
+libsystemd_acl_la_LIBADD = \
+       $(ACL_LIBS)
+endif
+
+# ------------------------------------------------------------------------------
+noinst_LTLIBRARIES += \
+       libsystemd-core.la
+
+libsystemd_core_la_SOURCES = \
+       src/def.h \
+       src/missing.h \
+       src/linux/auto_dev-ioctl.h \
+       src/linux/fanotify.h \
+       src/core/unit.c \
+       src/core/unit.h \
+       src/core/job.c \
+       src/core/job.h \
+       src/core/manager.c \
+       src/core/manager.h \
+       src/core/load-fragment.c \
+       src/core/load-fragment.h \
+       src/core/service.c \
+       src/core/service.h \
+       src/core/automount.c \
+       src/core/automount.h \
+       src/core/mount.c \
+       src/core/mount.h \
+       src/core/swap.c \
+       src/core/swap.h \
+       src/core/device.c \
+       src/core/device.h \
+       src/core/target.c \
+       src/core/target.h \
+       src/core/snapshot.c \
+       src/core/snapshot.h \
+       src/core/socket.c \
+       src/core/socket.h \
+       src/core/timer.c \
+       src/core/timer.h \
+       src/core/path.c \
+       src/core/path.h \
+       src/core/load-dropin.c \
+       src/core/load-dropin.h \
+       src/core/execute.c \
+       src/core/execute.h \
+       src/core/dbus.c \
+       src/core/dbus.h \
+       src/core/dbus-manager.c \
+       src/core/dbus-manager.h \
+       src/core/dbus-unit.c \
+       src/core/dbus-unit.h \
+       src/core/dbus-job.c \
+       src/core/dbus-job.h \
+       src/core/dbus-service.c \
+       src/core/dbus-service.h \
+       src/core/dbus-socket.c \
+       src/core/dbus-socket.h \
+       src/core/dbus-timer.c \
+       src/core/dbus-timer.h \
+       src/core/dbus-target.c \
+       src/core/dbus-target.h \
+       src/core/dbus-mount.c \
+       src/core/dbus-mount.h \
+       src/core/dbus-automount.c \
+       src/core/dbus-automount.h \
+       src/core/dbus-swap.c \
+       src/core/dbus-swap.h \
+       src/core/dbus-snapshot.c \
+       src/core/dbus-snapshot.h \
+       src/core/dbus-device.c \
+       src/core/dbus-device.h \
+       src/core/dbus-execute.c \
+       src/core/dbus-execute.h \
+       src/core/dbus-path.c \
+       src/core/dbus-path.h \
+       src/core/cgroup.c \
+       src/core/cgroup.h \
+       src/core/selinux-setup.c \
+       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/fdset.c \
+       src/core/fdset.h \
+       src/core/condition.c \
+       src/core/condition.h \
+       src/core/namespace.c \
+       src/core/namespace.h \
+       src/core/tcpwrap.c \
+       src/core/tcpwrap.h \
+       src/core/cgroup-attr.c \
+       src/core/cgroup-attr.h \
+       src/core/securebits.h \
+       src/core/initreq.h \
+       src/core/special.h \
+       src/core/bus-errors.h \
+       src/core/build.h \
+       src/core/ask-password-api.h \
+       src/core/sysfs-show.h \
+       src/core/polkit.h \
+       src/core/dbus-loop.h
+
+nodist_libsystemd_core_la_SOURCES = \
+       src/load-fragment-gperf.c \
+       src/load-fragment-gperf-nulstr.c
+
+EXTRA_DIST += \
+       src/load-fragment-gperf.gperf.m4
+
+libsystemd_core_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS) \
+       $(LIBWRAP_CFLAGS) \
+       $(PAM_CFLAGS) \
+       $(AUDIT_CFLAGS) \
+       $(KMOD_CFLAGS)
+
+libsystemd_core_la_LIBADD = \
+       libsystemd-capability.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       libudev.la \
+       $(DBUS_LIBS) \
+       $(LIBWRAP_LIBS) \
+       $(PAM_LIBS) \
+       $(AUDIT_LIBS) \
+       $(CAP_LIBS) \
+       $(KMOD_LIBS)
+
+# ------------------------------------------------------------------------------
 systemd_SOURCES = \
-       src/main.c
+       src/core/main.c
 
 systemd_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS)
 
 systemd_LDADD = \
-       libsystemd-core.la
+       libsystemd-core.la \
+       libsystemd-daemon.la \
+       libsystemd-id128.la
 
+# ------------------------------------------------------------------------------
 test_engine_SOURCES = \
-       src/test-engine.c
+       test/test-engine.c
 
-test_engine_CFLAGS = $(systemd_CFLAGS)
-test_engine_LDADD = $(systemd_LDADD)
+test_engine_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS)
+
+test_engine_LDADD = \
+       libsystemd-core.la \
+       libsystemd-daemon.la
 
 test_job_type_SOURCES = \
-       src/test-job-type.c
+       test/test-job-type.c
 
-test_job_type_CFLAGS = $(systemd_CFLAGS)
-test_job_type_LDADD = $(systemd_LDADD)
+test_job_type_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS)
+
+test_job_type_LDADD = \
+       libsystemd-core.la
 
 test_ns_SOURCES = \
-       src/test-ns.c
+       test/test-ns.c
 
-test_ns_CFLAGS = $(systemd_CFLAGS)
-test_ns_LDADD = $(systemd_LDADD)
+test_ns_LDADD = \
+       libsystemd-core.la
 
 test_loopback_SOURCES = \
-       src/test-loopback.c \
-       src/loopback-setup.c
+       test/test-loopback.c
 
 test_loopback_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 test_hostname_SOURCES = \
-       src/test-hostname.c \
-       src/hostname-setup.c
+       test/test-hostname.c
 
 test_hostname_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 test_daemon_SOURCES = \
-       src/test-daemon.c
+       test/test-daemon.c
 
 test_daemon_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la
 
 test_cgroup_SOURCES = \
-       src/test-cgroup.c \
-       src/cgroup-util.c
+       test/test-cgroup.c
 
 test_cgroup_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
 test_env_replace_SOURCES = \
-       src/test-env-replace.c
+       test/test-env-replace.c
 
 test_env_replace_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 test_strv_SOURCES = \
-       src/test-strv.c \
-       src/specifier.c
+       test/test-strv.c
 
 test_strv_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 test_install_SOURCES = \
-       src/test-install.c \
-       src/install.c \
-       src/path-lookup.c \
-       src/unit-name.c
+       test/test-install.c
 
 test_install_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS)
 
 test_install_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
 test_watchdog_SOURCES = \
-        src/test-watchdog.c \
-       src/watchdog.c \
-        src/watchdog.h
+       test/test-watchdog.c
 
 test_watchdog_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_initctl_SOURCES = \
-       src/initctl.c \
-       src/dbus-common.c
+       src/initctl.c
 
 systemd_initctl_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS)
 
 systemd_initctl_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la \
        $(DBUS_LIBS)
 
+# ------------------------------------------------------------------------------
 systemd_update_utmp_SOURCES = \
-       src/update-utmp.c \
-       src/dbus-common.c \
-       src/utmp-wtmp.c
+       src/update-utmp.c
 
 systemd_update_utmp_CFLAGS = \
        $(AM_CFLAGS) \
@@ -855,211 +932,217 @@ systemd_update_utmp_CFLAGS = \
        $(AUDIT_CFLAGS)
 
 systemd_update_utmp_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        $(DBUS_LIBS) \
        $(AUDIT_LIBS)
 
+# ------------------------------------------------------------------------------
 systemd_shutdownd_SOURCES = \
-       src/utmp-wtmp.c \
        src/shutdownd.c
 
-systemd_shutdownd_CFLAGS = \
-       $(AM_CFLAGS)
-
 systemd_shutdownd_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la
 
+pkginclude_HEADERS += \
+       src/systemd/sd-shutdown.h
+
+# ------------------------------------------------------------------------------
 systemd_shutdown_SOURCES = \
-       src/mount-setup.c \
-       src/umount.c \
-       src/shutdown.c \
-        src/watchdog.c \
-        src/watchdog.h
+       src/shutdown.c
 
 systemd_shutdown_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
        libudev.la
 
+# ------------------------------------------------------------------------------
 systemd_modules_load_SOURCES = \
        src/modules-load.c
 
 systemd_modules_load_CFLAGS = \
+       $(AM_CFLAGS) \
        $(KMOD_CFLAGS)
 
 systemd_modules_load_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        $(KMOD_LIBS)
 
+# ------------------------------------------------------------------------------
 systemd_tmpfiles_SOURCES = \
        src/tmpfiles.c
 
 systemd_tmpfiles_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_machine_id_setup_SOURCES = \
-       src/machine-id-setup.c \
-       src/machine-id-main.c \
-       src/sd-id128.c
+       src/machine-id-setup.c
 
 systemd_machine_id_setup_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       libsystemd-id128.la
 
+# ------------------------------------------------------------------------------
 systemd_sysctl_SOURCES = \
        src/sysctl.c
 
 systemd_sysctl_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_fsck_SOURCES = \
-       src/fsck.c \
-       src/dbus-common.c
+       src/fsck.c
 
 systemd_fsck_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS)
 
 systemd_fsck_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libudev.la \
        $(DBUS_LIBS)
 
+# ------------------------------------------------------------------------------
 systemd_timestamp_SOURCES = \
        src/timestamp.c
 
 systemd_timestamp_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_ac_power_SOURCES = \
        src/ac-power.c
 
 systemd_ac_power_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libudev.la
 
+# ------------------------------------------------------------------------------
 systemd_detect_virt_SOURCES = \
        src/detect-virt.c
 
 systemd_detect_virt_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_getty_generator_SOURCES = \
-       src/getty-generator.c \
-       src/unit-name.c
+       src/getty-generator.c
 
 systemd_getty_generator_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_rc_local_generator_SOURCES = \
        src/rc-local-generator.c
 
 systemd_rc_local_generator_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_remount_api_vfs_SOURCES = \
-       src/remount-api-vfs.c \
-       src/mount-setup.c \
-       src/exit-status.c
+       src/remount-api-vfs.c
 
 systemd_remount_api_vfs_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_cgroups_agent_SOURCES = \
-       src/cgroups-agent.c \
-       src/dbus-common.c
+       src/cgroups-agent.c
 
 systemd_cgroups_agent_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS)
 
 systemd_cgroups_agent_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        $(DBUS_LIBS)
 
+# ------------------------------------------------------------------------------
 systemctl_SOURCES = \
-       src/systemctl.c \
-       src/utmp-wtmp.c \
-       src/dbus-common.c \
-       src/path-lookup.c \
-       src/cgroup-show.c \
-       src/cgroup-util.c \
-       src/exit-status.c \
-       src/unit-name.c \
-       src/pager.c \
-       src/install.c \
-       src/spawn-agent.c \
-       src/logs-show.c
+       src/systemctl.c
 
 systemctl_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS)
 
 systemctl_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la \
        libsystemd-journal.la \
        libsystemd-id128.la \
        $(DBUS_LIBS)
 
+# ------------------------------------------------------------------------------
 systemd_notify_SOURCES = \
        src/notify.c \
        src/readahead/sd-readahead.c
 
 systemd_notify_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la
 
+# ------------------------------------------------------------------------------
 systemd_ask_password_SOURCES = \
        src/ask-password.c \
        src/ask-password-api.c
 
 systemd_ask_password_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_reply_password_SOURCES = \
        src/reply-password.c
 
 systemd_reply_password_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_cgls_SOURCES = \
-       src/cgls.c \
-       src/cgroup-show.c \
-       src/cgroup-util.c \
-       src/pager.c
+       src/cgls.c
 
 systemd_cgls_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_cgtop_SOURCES = \
-       src/cgtop.c \
-        src/cgroup-util.c
+       src/cgtop.c
 
 systemd_cgtop_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_nspawn_SOURCES = \
-       src/nspawn.c \
-       src/cgroup-util.c \
-       src/loopback-setup.c
+       src/nspawn.c
 
 systemd_nspawn_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-label.la \
+       libsystemd-capability.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la
 
+# ------------------------------------------------------------------------------
 systemd_stdio_bridge_SOURCES = \
        src/bridge.c
 
 systemd_stdio_bridge_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
 systemd_tty_ask_password_agent_SOURCES = \
        src/tty-ask-password-agent.c \
-       src/ask-password-api.c \
-       src/utmp-wtmp.c
+       src/ask-password-api.c
 
 systemd_tty_ask_password_agent_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
 libsystemd_daemon_la_SOURCES = \
@@ -1071,6 +1154,7 @@ libsystemd_daemon_la_CFLAGS = \
        -DSD_EXPORT_SYMBOLS
 
 libsystemd_daemon_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
        -shared \
        -version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/libsystemd-daemon.sym
@@ -1137,9 +1221,6 @@ include_HEADERS += \
 lib_LTLIBRARIES += \
        libudev.la
 
-noinst_LTLIBRARIES += \
-       libudev-private.la
-
 libudev_la_SOURCES =\
        src/udev/libudev-private.h \
        src/udev/libudev.c \
@@ -1150,24 +1231,14 @@ libudev_la_SOURCES =\
        src/udev/libudev-monitor.c \
        src/udev/libudev-queue.c
 
+libudev_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       -fvisibility=hidden
+
 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
-
-if HAVE_SELINUX
-libudev_private_la_SOURCES +=\
-       src/udev/libudev-selinux-private.c
-endif
-
-libudev_private_la_LIBADD = \
-       $(SELINUX_LIBS)
-
 pkgconfiglib_DATA += \
        src/udev/libudev.pc
 
@@ -1194,6 +1265,34 @@ INSTALL_EXEC_HOOKS += libudev-install-move-hook
 UNINSTALL_EXEC_HOOKS += libudev-uninstall-move-hook
 
 # ------------------------------------------------------------------------------
+noinst_LTLIBRARIES += \
+       libudev-private.la
+
+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
+
+if HAVE_SELINUX
+libudev_private_la_SOURCES +=\
+       src/udev/libudev-selinux-private.c
+endif
+
+libudev_private_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(SELINUX_CFLAGS)
+       -fvisibility=default
+
+libudev_private_la_LIBADD = \
+       $(SELINUX_LIBS)
+
+# ------------------------------------------------------------------------------
+MANPAGES += \
+       man/udev.7 \
+       man/udevadm.8 \
+       man/udevd.8
+
 udev-confdirs:
        -mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d
        -mkdir -p $(DESTDIR)$(libexecdir)/udev/devices
@@ -1257,7 +1356,10 @@ bin_PROGRAMS += \
 udevlibexec_PROGRAMS = \
        udevd
 
-udev_common_sources = \
+noinst_LTLIBRARIES += \
+       libudev-core.la
+
+libudev_core_la_SOURCES = \
        src/udev/udev.h \
        src/udev/udev-event.c \
        src/udev/udev-watch.c \
@@ -1273,38 +1375,40 @@ udev_common_sources = \
        src/udev/udev-builtin-path_id.c \
        src/udev/udev-builtin-usb_id.c
 
-udev_common_CFLAGS = \
+libudev_core_la_CFLAGS = \
+       $(AM_CFLAGS) \
        $(BLKID_CFLAGS) \
        $(KMOD_CFLAGS)
 
-udev_common_LDADD = \
+libudev_core_la_LIBADD = \
        libudev-private.la \
+       libsystemd-daemon.la \
+       libsystemd-shared.la \
        $(BLKID_LIBS) \
        $(KMOD_LIBS)
 
-udev_common_CPPFLAGS = \
+libudev_core_la_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
+if HAVE_ACL
+libudev_core_la_SOURCES += \
+       src/udev/udev-builtin-uaccess.c \
+       src/login/logind-acl.c
 
-udevd_CFLAGS = \
-       $(udev_common_CFLAGS)
+libudev_core_la_LIBADD += \
+       libsystemd-login.la \
+       libsystemd-acl.la
+endif
 
-udevd_LDADD = \
-       $(udev_common_LDADD) \
-       libsystemd-basic.la
+udevd_SOURCES = \
+       src/udev/udevd.c
 
-udevd_CPPFLAGS = \
-       $(udev_common_CPPFLAGS)
+udevd_LDADD = \
+       libudev-core.la
 
 udevadm_SOURCES = \
-       $(udev_common_sources) \
        src/udev/udevadm.c \
        src/udev/udevadm-info.c \
        src/udev/udevadm-control.c \
@@ -1314,15 +1418,9 @@ udevadm_SOURCES = \
        src/udev/udevadm-test.c \
        src/udev/udevadm-test-builtin.c
 
-udevadm_CFLAGS = \
-       $(udev_common_CFLAGS)
-
 udevadm_LDADD = \
-       $(udev_common_LDADD) \
-       libsystemd-basic.la
-
-udevadm_CPPFLAGS = \
-       $(udev_common_CPPFLAGS)
+       libudev-core.la \
+       libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
 TESTS = \
@@ -1340,18 +1438,12 @@ 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) \
-       libsystemd-basic.la
-
-test_udev_CPPFLAGS = \
-       $(udev_common_CPPFLAGS)
+       libudev-core.la \
+       libudev-private.la \
+       libsystemd-shared.la
 
 test_udev_DEPENDENCIES = \
        src/udev/test/sys
@@ -1375,7 +1467,7 @@ ata_id_SOURCES = \
 
 ata_id_LDADD = \
        libudev-private.la \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
        ata_id
@@ -1385,8 +1477,8 @@ cdrom_id_SOURCES = \
        src/udev/cdrom_id/cdrom_id.c
 
 cdrom_id_LDADD = \
-       libudev-private.la \
-       libsystemd-basic.la
+       libudev.la \
+       libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
        cdrom_id
@@ -1413,7 +1505,7 @@ scsi_id_SOURCES =\
 
 scsi_id_LDADD = \
        libudev-private.la \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
        scsi_id
@@ -1426,7 +1518,7 @@ v4l_id_SOURCES = \
        src/udev/v4l_id/v4l_id.c
 
 v4l_id_LDADD = \
-       libudev-private.la
+       libudev.la
 
 udevlibexec_PROGRAMS += \
        v4l_id
@@ -1439,8 +1531,8 @@ accelerometer_SOURCES = \
        src/udev/accelerometer/accelerometer.c
 
 accelerometer_LDADD = \
-       libudev-private.la -lm \
-       libsystemd-basic.la
+       libudev.la -lm \
+       libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
        accelerometer
@@ -1502,6 +1594,8 @@ libgudev_1_0_la_CPPFLAGS = \
        $(AM_CPPFLAGS) \
        -I$(top_builddir)/src\
        -I$(top_srcdir)/src\
+       -I$(top_builddir)/src/udev \
+       -I$(top_srcdir)/src/udev \
        -I$(top_builddir)/src/udev/gudev \
        -I$(top_srcdir)/src/udev/gudev \
        -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
@@ -1509,6 +1603,7 @@ libgudev_1_0_la_CPPFLAGS = \
        -DG_LOG_DOMAIN=\"GUdev\"
 
 libgudev_1_0_la_CFLAGS = \
+       $(AM_CFLAGS) \
        -fvisibility=default \
        $(GLIB_CFLAGS)
 
@@ -1517,6 +1612,7 @@ libgudev_1_0_la_LIBADD = \
        $(GLIB_LIBS)
 
 libgudev_1_0_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
        -version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
        -export-dynamic -no-undefined \
        -export-symbols-regex '^g_udev_.*'
@@ -1548,43 +1644,45 @@ src/udev/gudev/gudevenumtypes.c: src/udev/gudev/gudevenumtypes.c.template src/ud
            $@.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)
+-include $(INTROSPECTION_MAKEFILE)
+
+src/udev/gudev/GUdev-1.0.gir: libgudev-1.0.la
+
+src_udev_gudev_GUdev_1_0_gir_INCLUDES = GObject-2.0
+
+src_udev_gudev_GUdev_1_0_gir_CFLAGS = \
+       $(INCLUDES) \
+       -D_GUDEV_COMPILATION \
+       -D_GUDEV_WORK_AROUND_DEV_T_BUG \
+       -I$(top_srcdir)/src/udev \
+       -I$(top_builddir)/src/udev
+
+src_udev_gudev_GUdev_1_0_gir_LIBS = libgudev-1.0.la
+
+src_udev_gudev_GUdev_1_0_gir_SCANNERFLAGS = \
+       --pkg-export=gudev-1.0 \
+       --warn-all
+
+src_udev_gudev_GUdev_1_0_gir_FILES = \
+       $(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
+
+INTROSPECTION_GIRS = src/udev/gudev/GUdev-1.0.gir
+INTROSPECTION_SCANNER_ARGS = --c-include=gudev/gudev.h
+
+girdir = $(datadir)/gir-1.0
 gir_DATA = \
        src/udev/gudev/GUdev-1.0.gir
 
-typelibsdir = $(GIRTYPELIBDIR)
+typelibsdir = $(libdir)/girepository-1.0
 typelibs_DATA = \
        src/udev/gudev/GUdev-1.0.typelib
 
@@ -1634,20 +1732,16 @@ dist_udevrules_DATA += \
        src/udev/keymap/95-keyboard-force-release.rules
 
 dist_udevhome_SCRIPTS = \
-       src/udev/keymap/findkeyboards
-
-udevhome_SCRIPTS = \
+       src/udev/keymap/findkeyboards \
        src/udev/keymap/keyboard-force-release.sh
 
 EXTRA_DIST += \
-       src/udev/keymap/check-keymaps.sh \
-       src/udev/keymap/keyboard-force-release.sh.in
+       src/udev/keymap/check-keymaps.sh
 
 CLEANFILES += \
        $(nodist_keymap_SOURCES) \
        src/udev/keymap/keys.txt \
-       src/udev/keymap/keys-from-name.gperf \
-       src/udev/keymap/keyboard-force-release.sh
+       src/udev/keymap/keys-from-name.gperf
 
 udevkeymapdir = $(libexecdir)/udev/keymaps
 dist_udevkeymap_DATA = \
@@ -1719,7 +1813,7 @@ dist_udevkeymapforcerel_DATA = \
        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_at)mkdir -p src/udev/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
@@ -1760,19 +1854,20 @@ libsystemd_id128_la_CFLAGS = \
        -fvisibility=hidden
 
 libsystemd_id128_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
        -shared \
        -version-info $(LIBSYSTEMD_ID128_CURRENT):$(LIBSYSTEMD_ID128_REVISION):$(LIBSYSTEMD_ID128_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/libsystemd-id128.sym
 
 libsystemd_id128_la_LIBADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 test_id128_SOURCES = \
-       src/test-id128.c \
-       src/sd-id128.c
+       test/test-id128.c
 
 test_id128_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la \
+       libsystemd-id128.la
 
 noinst_PROGRAMS += \
        test-id128
@@ -1812,37 +1907,45 @@ EXTRA_DIST += \
 # ------------------------------------------------------------------------------
 systemd_journald_SOURCES = \
        src/journal/journald.c \
+       src/journal/journald.h \
        src/journal/sd-journal.c \
        src/journal/journal-file.c \
+       src/journal/journal-file.h \
        src/journal/lookup3.c \
+       src/journal/lookup3.h \
        src/journal/journal-rate-limit.c \
+       src/journal/journal-rate-limit.h \
        src/journal/sparse-endian.h \
-       src/sd-id128.c \
-       src/cgroup-util.c
-
-if HAVE_ACL
-systemd_journald_SOURCES += \
-       src/acl-util.c
-endif
+       src/journal/journal-def.h \
+       src/journal/journal-internal.h \
+       src/journal/compress.h
 
 nodist_systemd_journald_SOURCES = \
        src/journal/journald-gperf.c
 
-systemd_journald_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(ACL_CFLAGS)
+systemd_journald_CFLAGS =
 
 systemd_journald_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       libsystemd-audit.la \
        libsystemd-daemon.la \
        libsystemd-login.la \
-       $(ACL_LIBS)
+       libsystemd-id128.la
+
+if HAVE_ACL
+systemd_journald_LDADD += \
+       libsystemd-acl.la
+endif
 
 if HAVE_XZ
 systemd_journald_SOURCES += \
        src/journal/compress.c
+
 systemd_journald_CFLAGS += \
+       $(AM_CFLAGS) \
        $(XZ_CFLAGS)
+
 systemd_journald_LDADD += \
        $(XZ_LIBS)
 endif
@@ -1851,16 +1954,14 @@ systemd_cat_SOURCES = \
        src/journal/cat.c
 
 systemd_cat_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-journal.la
 
 journalctl_SOURCES = \
-       src/journal/journalctl.c \
-       src/pager.c \
-       src/logs-show.c
+       src/journal/journalctl.c
 
 journalctl_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-journal.la \
        libsystemd-id128.la
 
@@ -1879,11 +1980,12 @@ test_journal_SOURCES = \
        src/journal/sd-journal.c \
        src/journal/journal-file.c \
        src/journal/lookup3.c \
-       src/journal/journal-send.c \
-       src/sd-id128.c
+       src/journal/journal-send.c
 
 test_journal_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       libsystemd-id128.la
 
 if HAVE_XZ
 test_journal_SOURCES += \
@@ -1901,7 +2003,7 @@ test_journal_send_SOURCES = \
        src/journal/test-journal-send.c
 
 test_journal_send_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-journal.la
 
 libsystemd_journal_la_SOURCES = \
@@ -1915,12 +2017,13 @@ libsystemd_journal_la_CFLAGS = \
        -fvisibility=hidden
 
 libsystemd_journal_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
        -shared \
        -version-info $(LIBSYSTEMD_JOURNAL_CURRENT):$(LIBSYSTEMD_JOURNAL_REVISION):$(LIBSYSTEMD_JOURNAL_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/journal/libsystemd-journal.sym
 
 libsystemd_journal_la_LIBADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-id128.la
 
 if HAVE_XZ
@@ -1928,6 +2031,7 @@ libsystemd_journal_la_SOURCES += \
        src/journal/compress.c
 
 libsystemd_journal_la_CFLAGS += \
+       $(AM_CFLAGS) \
        $(XZ_CFLAGS)
 
 libsystemd_journal_la_LIBADD += \
@@ -1955,7 +2059,7 @@ UNINSTALL_EXEC_HOOKS += \
 
 noinst_PROGRAMS += \
        test-journal \
-        test-journal-send
+       test-journal-send
 
 pkginclude_HEADERS += \
        src/systemd/sd-journal.h \
@@ -2000,13 +2104,6 @@ INSTALL_DATA_HOOKS += \
        journal-install-data-hook
 
 EXTRA_DIST += \
-       src/journal/journald.h \
-       src/journal/journal-def.h \
-       src/journal/journal-internal.h \
-       src/journal/journal-file.h \
-       src/journal/lookup3.h \
-       src/journal/compress.h \
-       src/journal/journal-rate-limit.h \
        src/journal/libsystemd-journal.pc.in \
        src/journal/libsystemd-journal.sym \
        units/systemd-journald.service.in \
@@ -2021,9 +2118,10 @@ systemd_coredump_SOURCES = \
        src/journal/coredump.c
 
 systemd_coredump_LDADD = \
-       libsystemd-basic.la \
        libsystemd-journal.la \
-       libsystemd-login.la
+       libsystemd-login.la \
+       libsystemd-label.la \
+       libsystemd-shared.la
 
 rootlibexec_PROGRAMS += \
        systemd-coredump
@@ -2044,7 +2142,7 @@ systemd_binfmt_SOURCES = \
        src/binfmt/binfmt.c
 
 systemd_binfmt_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 rootlibexec_PROGRAMS += \
        systemd-binfmt
@@ -2083,7 +2181,7 @@ systemd_vconsole_setup_SOURCES = \
        src/vconsole/vconsole-setup.c
 
 systemd_vconsole_setup_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 rootlibexec_PROGRAMS += \
        systemd-vconsole-setup
@@ -2112,10 +2210,11 @@ endif
 if ENABLE_READAHEAD
 systemd_readahead_collect_SOURCES = \
        src/readahead/readahead-collect.c \
-       src/readahead/readahead-common.c
+       src/readahead/readahead-common.c \
+       src/readahead/readahead-common.h
 
 systemd_readahead_collect_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la \
        libudev.la
 
@@ -2124,10 +2223,13 @@ systemd_readahead_replay_SOURCES = \
        src/readahead/readahead-common.c
 
 systemd_readahead_replay_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la \
        libudev.la
 
+pkginclude_HEADERS += \
+       src/systemd/sd-readahead.h
+
 rootlibexec_PROGRAMS += \
        systemd-readahead-collect \
        systemd-readahead-replay
@@ -2141,8 +2243,6 @@ nodist_systemunit_DATA += \
        units/systemd-readahead-done.service
 
 EXTRA_DIST += \
-       src/systemd/sd-readahead.h \
-       src/readahead/readahead-common.h \
        units/systemd-readahead-collect.service.in \
        units/systemd-readahead-replay.service.in \
        units/systemd-readahead-done.service.in
@@ -2167,7 +2267,7 @@ systemd_quotacheck_SOURCES = \
        src/quotacheck.c
 
 systemd_quotacheck_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 endif
 
 # ------------------------------------------------------------------------------
@@ -2187,7 +2287,8 @@ systemd_random_seed_SOURCES = \
        src/random-seed.c
 
 systemd_random_seed_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
 randomseed-install-data-hook:
        $(MKDIR_P) -m 0755 \
@@ -2224,16 +2325,17 @@ systemd_cryptsetup_CFLAGS = \
        $(LIBCRYPTSETUP_CFLAGS)
 
 systemd_cryptsetup_LDADD = \
-       $(LIBCRYPTSETUP_LIBS) \
+       libsystemd-label.la \
+       libsystemd-shared.la \
        libudev.la \
-       libsystemd-basic.la
+       $(LIBCRYPTSETUP_LIBS)
 
 systemd_cryptsetup_generator_SOURCES = \
-       src/cryptsetup/cryptsetup-generator.c \
-       src/unit-name.c
+       src/cryptsetup/cryptsetup-generator.c
 
 systemd_cryptsetup_generator_LDADD = \
-       libsystemd-basic.la
+       libsystemd-label.la \
+       libsystemd-shared.la
 
 cryptsetup-install-data-hook:
        $(MKDIR_P) -m 0755 \
@@ -2250,7 +2352,6 @@ endif
 if ENABLE_HOSTNAMED
 systemd_hostnamed_SOURCES = \
        src/hostname/hostnamed.c \
-       src/dbus-common.c \
        src/polkit.c
 
 systemd_hostnamed_CFLAGS = \
@@ -2258,7 +2359,7 @@ systemd_hostnamed_CFLAGS = \
        $(DBUS_CFLAGS)
 
 systemd_hostnamed_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la \
        $(DBUS_LIBS)
 
@@ -2301,7 +2402,6 @@ endif
 if ENABLE_LOCALED
 systemd_localed_SOURCES = \
        src/locale/localed.c \
-       src/dbus-common.c \
        src/polkit.c
 
 systemd_localed_CFLAGS = \
@@ -2309,7 +2409,8 @@ systemd_localed_CFLAGS = \
        $(DBUS_CFLAGS)
 
 systemd_localed_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la \
        $(DBUS_LIBS)
 
@@ -2362,7 +2463,6 @@ endif
 if ENABLE_TIMEDATED
 systemd_timedated_SOURCES = \
        src/timedate/timedated.c \
-       src/dbus-common.c \
        src/polkit.c
 
 systemd_timedated_CFLAGS = \
@@ -2370,7 +2470,7 @@ systemd_timedated_CFLAGS = \
        $(DBUS_CFLAGS)
 
 systemd_timedated_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libsystemd-daemon.la \
        $(DBUS_LIBS)
 
@@ -2413,46 +2513,51 @@ endif
 if ENABLE_LOGIND
 systemd_logind_SOURCES = \
        src/login/logind.c \
+       src/login/logind.h \
        src/login/logind-dbus.c \
        src/login/logind-device.c \
+       src/login/logind-device.h \
        src/login/logind-seat.c \
-       src/login/logind-seat-dbus.c \
+       src/login/logind-seat.h \
        src/login/logind-session.c \
-       src/login/logind-session-dbus.c \
+       src/login/logind-session.h \
        src/login/logind-user.c \
+       src/login/logind-user.h \
+       src/login/logind-session-dbus.c \
+       src/login/logind-seat-dbus.c \
        src/login/logind-user-dbus.c \
-       src/dbus-common.c \
        src/dbus-loop.c \
-       src/cgroup-util.c \
-       src/polkit.c
+       src/polkit.c \
+       src/login/logind-acl.h
 
 nodist_systemd_logind_SOURCES = \
        src/login/logind-gperf.c
 
-if HAVE_ACL
-systemd_logind_SOURCES += \
-       src/login/logind-acl.c \
-       src/acl-util.c
-endif
-
 systemd_logind_CFLAGS = \
        $(AM_CFLAGS) \
-       $(DBUS_CFLAGS) \
-       $(ACL_CFLAGS)
+       $(DBUS_CFLAGS)
 
 systemd_logind_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       libsystemd-audit.la \
        libsystemd-daemon.la \
        libudev.la \
-       $(DBUS_LIBS) \
-       $(ACL_LIBS)
+       $(DBUS_LIBS)
+
+if HAVE_ACL
+systemd_logind_SOURCES += \
+       src/login/logind-acl.c
+
+systemd_logind_LDADD += \
+       libsystemd-acl.la
+endif
 
 systemd_user_sessions_SOURCES = \
-       src/login/user-sessions.c \
-       src/cgroup-util.c
+       src/login/user-sessions.c
 
 systemd_user_sessions_LDADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 rootlibexec_PROGRAMS += \
        systemd-logind \
@@ -2460,18 +2565,14 @@ rootlibexec_PROGRAMS += \
 
 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/login/sysfs-show.c
 
 loginctl_CFLAGS = \
        $(AM_CFLAGS) \
        $(DBUS_CFLAGS)
 
 loginctl_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-shared.la \
        libudev.la \
        $(DBUS_LIBS)
 
@@ -2482,32 +2583,31 @@ test_login_SOURCES = \
        src/login/test-login.c
 
 test_login_LDADD = \
-       libsystemd-basic.la \
-       libsystemd-login.la
+       libsystemd-login.la \
+       libsystemd-shared.la
 
 noinst_PROGRAMS += \
        test-login
 
 libsystemd_login_la_SOURCES = \
-       src/login/sd-login.c \
-       src/cgroup-util.c
+       src/login/sd-login.c
 
 libsystemd_login_la_CFLAGS = \
        $(AM_CFLAGS) \
        -fvisibility=hidden
 
 libsystemd_login_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
        -shared \
        -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/login/libsystemd-login.sym
 
 libsystemd_login_la_LIBADD = \
-       libsystemd-basic.la
+       libsystemd-shared.la
 
 if HAVE_PAM
 pam_systemd_la_SOURCES = \
-       src/login/pam-module.c \
-       src/dbus-common.c
+       src/login/pam-module.c
 
 pam_systemd_la_CFLAGS = \
        $(AM_CFLAGS) \
@@ -2516,6 +2616,7 @@ pam_systemd_la_CFLAGS = \
        -fvisibility=hidden
 
 pam_systemd_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
        -module \
        -export-dynamic \
        -avoid-version \
@@ -2523,8 +2624,9 @@ pam_systemd_la_LDFLAGS = \
        -export-symbols-regex '^pam_sm_.*'
 
 pam_systemd_la_LIBADD = \
-       libsystemd-basic.la \
        libsystemd-daemon.la \
+       libsystemd-audit.la \
+       libsystemd-shared.la \
        $(PAM_LIBS) \
        $(DBUS_LIBS)
 
@@ -2579,7 +2681,7 @@ polkitpolicy_in_files += \
 logind-install-data-hook:
        $(MKDIR_P) -m 0755 \
                $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
-                $(DESTDIR)$(localstatedir)/lib/systemd
+               $(DESTDIR)$(localstatedir)/lib/systemd
        ( cd $(DESTDIR)$(systemunitdir) && \
                rm -f dbus-org.freedesktop.login1.service && \
                $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service)
@@ -2595,39 +2697,15 @@ systemd_multi_seat_x_SOURCES = \
        src/login/multi-seat-x.c
 
 systemd_multi_seat_x_LDADD = \
-       libsystemd-basic.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
        libudev.la
 
 rootlibexec_PROGRAMS += \
        systemd-multi-seat-x
 
-systemd_uaccess_SOURCES = \
-       src/login/uaccess.c
-
-if HAVE_ACL
-systemd_uaccess_SOURCES += \
-       src/login/logind-acl.c \
-       src/acl-util.c
-endif
-
-systemd_uaccess_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(ACL_CFLAGS)
-
-systemd_uaccess_LDADD = \
-       libsystemd-basic.la \
-       libsystemd-daemon.la \
-       libsystemd-login.la \
-       libudev.la \
-       $(ACL_LIBS)
-
-rootlibexec_PROGRAMS += \
-       systemd-uaccess
-
-dist_udevrules_DATA += \
-       src/login/70-uaccess.rules
-
 dist_udevrules_DATA += \
+       src/login/70-uaccess.rules \
        src/login/71-seat.rules
 
 nodist_udevrules_DATA += \
@@ -2687,12 +2765,6 @@ EXTRA_DIST += \
        src/login/logind-gperf.gperf \
        src/login/libsystemd-login.pc.in \
        src/login/libsystemd-login.sym \
-       src/login/logind.h \
-       src/login/logind-device.h \
-       src/login/logind-seat.h \
-       src/login/logind-session.h \
-       src/login/logind-user.h \
-       src/login/logind-acl.h \
        src/login/73-seat-late.rules.in \
        units/systemd-logind.service.in \
        units/systemd-user-sessions.service.in