chiark / gitweb /
remove xorg
[elogind.git] / Makefile.am
index d5344b903329801727418c8ab1c68b93df6ca41f..1b64b6232ea42b8f9dee7a20050927d954ceb536 100644 (file)
@@ -46,9 +46,9 @@ LIBGUDEV_CURRENT=2
 LIBGUDEV_REVISION=0
 LIBGUDEV_AGE=2
 
-LIBSYSTEMD_CURRENT=5
-LIBSYSTEMD_REVISION=1
-LIBSYSTEMD_AGE=5
+LIBSYSTEMD_CURRENT=6
+LIBSYSTEMD_REVISION=0
+LIBSYSTEMD_AGE=6
 
 # The following four libraries only exist for compatibility reasons,
 # their version info should not be bumped anymore
@@ -111,14 +111,13 @@ catalogdir=$(prefix)/lib/systemd/catalog
 kernelinstalldir = $(prefix)/lib/kernel/install.d
 factory_etcdir = $(prefix)/share/factory/etc
 factory_pamdir = $(prefix)/share/factory/etc/pam.d
+bootlibdir = $(prefix)/lib/systemd/boot/efi
 
 # And these are the special ones for /
 rootprefix=@rootprefix@
 rootbindir=$(rootprefix)/bin
 rootlibexecdir=$(rootprefix)/lib/systemd
 
-CLEANFILES = $(BUILT_SOURCES)
-DISTCLEANFILES =
 EXTRA_DIST =
 BUILT_SOURCES =
 INSTALL_EXEC_HOOKS =
@@ -144,6 +143,7 @@ dist_pkgdata_DATA =
 dist_dbuspolicy_DATA =
 dist_dbussystemservice_DATA =
 dist_systemunit_DATA_busnames =
+dist_sysusers_DATA =
 check_PROGRAMS =
 check_DATA =
 tests=
@@ -159,6 +159,15 @@ TESTS =
 endif
 udevlibexec_PROGRAMS =
 
+in_files = $(filter %.in,$(EXTRA_DIST))
+in_in_files = $(filter %.in.in, $(in_files))
+m4_files = $(filter %.m4,$(EXTRA_DIST) $(in_files:.m4.in=.m4))
+
+CLEANFILES = $(BUILT_SOURCES) \
+       $(pkgconfiglib_DATA) \
+       $(in_files:.in=) $(in_in_files:.in.in=) \
+       $(m4_files:.m4=)
+
 .PHONY: $(INSTALL_EXEC_HOOKS) $(UNINSTALL_EXEC_HOOKS) \
        $(INSTALL_DATA_HOOKS) $(UNINSTALL_DATA_HOOKS) \
        $(DISTCLEAN_LOCAL_HOOKS) $(CLEAN_LOCAL_HOOKS)
@@ -190,6 +199,7 @@ AM_CPPFLAGS = \
        -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
        -DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \
        -DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \
+       -DSYSTEMD_LANGUAGE_FALLBACK_MAP=\"$(pkgdatadir)/language-fallback-map\" \
        -DX_SERVER=\"$(bindir)/X\" \
        -DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \
        -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
@@ -197,6 +207,7 @@ AM_CPPFLAGS = \
        -DKEXEC=\"$(KEXEC)\" \
        -DLIBDIR=\"$(libdir)\" \
        -DROOTLIBDIR=\"$(rootlibdir)\" \
+       -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
        -DTEST_DIR=\"$(abs_top_srcdir)/test\" \
        -I $(top_srcdir)/src \
        -I $(top_builddir)/src/shared \
@@ -220,6 +231,7 @@ AM_CPPFLAGS = \
        -I $(top_srcdir)/src/libsystemd/sd-rtnl \
        -I $(top_srcdir)/src/libsystemd/sd-network \
        -I $(top_srcdir)/src/libsystemd/sd-hwdb \
+       -I $(top_srcdir)/src/libsystemd/sd-device \
        -I $(top_srcdir)/src/libsystemd-network \
        -I $(top_srcdir)/src/libsystemd-terminal \
        $(OUR_CPPFLAGS)
@@ -240,14 +252,11 @@ endef
 
 INSTALL_DIRS =
 
-RUNLEVEL1_TARGET_WANTS =
-RUNLEVEL2_TARGET_WANTS =
-RUNLEVEL3_TARGET_WANTS =
-RUNLEVEL4_TARGET_WANTS =
-RUNLEVEL5_TARGET_WANTS =
 SHUTDOWN_TARGET_WANTS =
 LOCAL_FS_TARGET_WANTS =
 MULTI_USER_TARGET_WANTS =
+GRAPHICAL_TARGET_WANTS =
+RESCUE_TARGET_WANTS =
 SYSINIT_TARGET_WANTS =
 SOCKETS_TARGET_WANTS =
 BUSNAMES_TARGET_WANTS =
@@ -261,14 +270,11 @@ USER_UNIT_ALIASES =
 GENERAL_ALIASES =
 
 install-target-wants-hook:
-       what="$(RUNLEVEL1_TARGET_WANTS)" && wants=runlevel1.target && dir=$(systemunitdir) && $(add-wants)
-       what="$(RUNLEVEL2_TARGET_WANTS)" && wants=runlevel2.target && dir=$(systemunitdir) && $(add-wants)
-       what="$(RUNLEVEL3_TARGET_WANTS)" && wants=runlevel3.target && dir=$(systemunitdir) && $(add-wants)
-       what="$(RUNLEVEL4_TARGET_WANTS)" && wants=runlevel4.target && dir=$(systemunitdir) && $(add-wants)
-       what="$(RUNLEVEL5_TARGET_WANTS)" && wants=runlevel5.target && dir=$(systemunitdir) && $(add-wants)
        what="$(SHUTDOWN_TARGET_WANTS)" && wants=shutdown.target && dir=$(systemunitdir) && $(add-wants)
        what="$(LOCAL_FS_TARGET_WANTS)" && wants=local-fs.target && dir=$(systemunitdir) && $(add-wants)
        what="$(MULTI_USER_TARGET_WANTS)" && wants=multi-user.target && dir=$(systemunitdir) && $(add-wants)
+       what="$(GRAPHICAL_TARGET_WANTS)" && wants=graphical.target && dir=$(systemunitdir) && $(add-wants)
+       what="$(RESCUE_TARGET_WANTS)" && wants=rescue.target && dir=$(systemunitdir) && $(add-wants)
        what="$(SYSINIT_TARGET_WANTS)" && wants=sysinit.target && dir=$(systemunitdir) && $(add-wants)
        what="$(SOCKETS_TARGET_WANTS)" && wants=sockets.target && dir=$(systemunitdir) && $(add-wants)
        what="$(TIMERS_TARGET_WANTS)" && wants=timers.target && dir=$(systemunitdir) && $(add-wants)
@@ -389,6 +395,7 @@ rootlibexec_PROGRAMS = \
        systemd-remount-fs \
        systemd-reply-password \
        systemd-fsck \
+       systemd-fsckd \
        systemd-machine-id-commit \
        systemd-ac-power \
        systemd-sysctl \
@@ -491,6 +498,7 @@ dist_systemunit_DATA = \
        units/slices.target \
        units/system.slice \
        units/x-.slice \
+       units/systemd-fsckd.socket \
        units/systemd-initctl.socket \
        units/systemd-shutdownd.socket \
        units/syslog.socket \
@@ -500,6 +508,7 @@ dist_systemunit_DATA = \
        units/sys-kernel-debug.mount \
        units/sys-fs-fuse-connections.mount \
        units/tmp.mount \
+       units/var-lib-machines.mount \
        units/printer.target \
        units/sound.target \
        units/bluetooth.target \
@@ -542,6 +551,7 @@ nodist_systemunit_DATA = \
        units/systemd-kexec.service \
        units/systemd-fsck@.service \
        units/systemd-fsck-root.service \
+       units/systemd-fsckd.service \
        units/systemd-machine-id-commit.service \
        units/systemd-udevd.service \
        units/systemd-udev-trigger.service \
@@ -595,6 +605,7 @@ EXTRA_DIST += \
        units/user/systemd-exit.service.in \
        units/systemd-fsck@.service.in \
        units/systemd-fsck-root.service.in \
+       units/systemd-fsckd.service.in \
        units/systemd-machine-id-commit.service.in \
        units/user@.service.m4.in \
        units/debug-shell.service.in \
@@ -607,12 +618,6 @@ EXTRA_DIST += \
        units/systemd-nspawn@.service.in \
        units/systemd-update-done.service.in
 
-CLEANFILES += \
-       units/console-shell.service.m4 \
-       units/console-getty.service.m4 \
-       units/container-getty@.service.m4 \
-       units/user@.service.m4
-
 if HAVE_SYSV_COMPAT
 nodist_systemunit_DATA += \
        units/rc-local.service \
@@ -839,8 +844,6 @@ libsystemd_shared_la_SOURCES = \
        src/shared/spawn-polkit-agent.h \
        src/shared/clock-util.c \
        src/shared/clock-util.h \
-       src/shared/time-dst.c \
-       src/shared/time-dst.h \
        src/shared/calendarspec.c \
        src/shared/calendarspec.h \
        src/shared/fileio.c \
@@ -904,7 +907,9 @@ libsystemd_shared_la_SOURCES = \
        src/shared/sigbus.h \
        src/shared/build.h \
        src/shared/import-util.c \
-       src/shared/import-util.h
+       src/shared/import-util.h \
+       src/shared/sysctl-util.c \
+       src/shared/sysctl-util.h
 
 if HAVE_UTMP
 libsystemd_shared_la_SOURCES += \
@@ -975,6 +980,8 @@ libsystemd_label_la_SOURCES = \
        src/shared/btrfs-ctree.h \
        src/shared/machine-image.c \
        src/shared/machine-image.h \
+       src/shared/machine-pool.c \
+       src/shared/machine-pool.h \
        src/shared/copy.c \
        src/shared/copy.h
 
@@ -1218,35 +1225,34 @@ src/core/load-fragment-gperf-nulstr.c: src/core/load-fragment-gperf.gperf
        $(AM_V_at)$(MKDIR_P) $(dir $@)
        $(AM_V_GEN)$(AWK) 'BEGIN{ keywords=0 ; FS="," ; print "extern const char load_fragment_gperf_nulstr[];" ; print "const char load_fragment_gperf_nulstr[] ="} ; keyword==1 { print "\"" $$1 "\\0\"" } ; /%%/ { keyword=1} ; END { print ";" }' < $< > $@
 
-EXTRA_DIST += \
+gperf_gperf_m4_sources = \
        src/core/load-fragment-gperf.gperf.m4
 
-CLEANFILES += \
-       src/core/load-fragment-gperf.gperf \
-       src/core/load-fragment-gperf.c \
-       src/core/load-fragment-gperf-nulstr.c \
+gperf_txt_sources = \
        src/shared/errno-list.txt \
-       src/shared/errno-from-name.gperf \
        src/shared/af-list.txt \
-       src/shared/af-from-name.gperf \
        src/shared/arphrd-list.txt \
-       src/shared/arphrd-from-name.gperf \
-       src/shared/cap-list.txt \
-       src/shared/cap-from-name.gperf \
-       src/resolve/dns_type-list.txt \
-       src/resolve/dns_type-from-name.gperf
+       src/shared/cap-list.txt
 
 BUILT_SOURCES += \
-       src/shared/errno-from-name.h \
-       src/shared/errno-to-name.h \
-       src/shared/af-from-name.h \
-       src/shared/af-to-name.h \
-       src/shared/arphrd-from-name.h \
-       src/shared/arphrd-to-name.h \
-       src/shared/cap-from-name.h \
-       src/shared/cap-to-name.h \
-       src/resolve/dns_type-from-name.h \
-       src/resolve/dns_type-to-name.h
+       $(gperf_gperf_m4_sources:-gperf.gperf.m4=-gperf.c) \
+       $(gperf_gperf_m4_sources:-gperf.gperf.m4=-gperf-nulstr.c) \
+       $(gperf_gperf_sources:-gperf.gperf=-gperf.c) \
+       $(gperf_txt_sources:-list.txt=-from-name.h) \
+       $(gperf_txt_sources:-list.txt=-to-name.h)
+
+CLEANFILES += \
+       $(gperf_txt_sources:-list.txt=-from-name.gperf)
+DISTCLEANFILES = \
+       $(gperf_txt_sources)
+
+EXTRA_DIST += \
+       $(gperf_gperf_m4_sources) \
+       $(gperf_gperf_sources) \
+       $(gperf_txt_sources:-list.txt=-from-name.gperf)
+
+CLEANFILES += \
+       $(gperf_txt_sources)
 
 %-from-name.gperf: %-list.txt
        $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct $(notdir $*)_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@
@@ -1341,10 +1347,6 @@ EXTRA_DIST += \
        src/core/systemd.pc.in \
        src/core/macros.systemd.in
 
-CLEANFILES += \
-       src/core/macros.systemd \
-       src/core/org.freedesktop.systemd1.policy.in
-
 # ------------------------------------------------------------------------------
 
 manual_tests += \
@@ -1433,7 +1435,7 @@ EXTRA_DIST += \
        test/c.service \
        test/daughter.service \
        test/d.service \
-       test/end.service \
+       test/end.service.in \
        test/e.service \
        test/f.service \
        test/grandchild.service \
@@ -1720,9 +1722,6 @@ test_verbs_LDADD = \
 test_namespace_LDADD = \
        libsystemd-core.la
 
-CLEANFILES += \
-       src/test/test-hashmap-ordered.c
-
 BUILT_SOURCES += \
        src/test/test-hashmap-ordered.c
 
@@ -2145,6 +2144,7 @@ systemd_shutdown_SOURCES = \
 systemd_shutdown_LDADD = \
        libsystemd-label.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
@@ -2210,10 +2210,10 @@ nodist_systemunit_DATA += \
        units/systemd-tmpfiles-clean.service
 
 nodist_tmpfiles_DATA = \
+       tmpfiles.d/systemd.conf \
        tmpfiles.d/etc.conf
 
 dist_tmpfiles_DATA = \
-       tmpfiles.d/systemd.conf \
        tmpfiles.d/systemd-nologin.conf \
        tmpfiles.d/tmp.conf \
        tmpfiles.d/x11.conf \
@@ -2240,14 +2240,12 @@ INSTALL_DIRS += \
 endif
 
 EXTRA_DIST += \
+       tmpfiles.d/systemd.conf.m4 \
        tmpfiles.d/etc.conf.m4 \
        units/systemd-tmpfiles-setup-dev.service.in \
        units/systemd-tmpfiles-setup.service.in \
        units/systemd-tmpfiles-clean.service.in
 
-CLEANFILES += \
-       tmpfiles.d/etc.conf
-
 # ------------------------------------------------------------------------------
 if ENABLE_SYSUSERS
 systemd_sysusers_SOURCES = \
@@ -2268,19 +2266,15 @@ nodist_systemunit_DATA += \
 SYSINIT_TARGET_WANTS += \
        systemd-sysusers.service
 
-dist_sysusers_DATA = \
-       sysusers.d/systemd.conf
-
 nodist_sysusers_DATA = \
+       sysusers.d/systemd.conf \
        sysusers.d/basic.conf
 
 EXTRA_DIST += \
        units/systemd-sysusers.service.in \
+       sysusers.d/systemd.conf.m4 \
        sysusers.d/basic.conf.in
 
-CLEANFILES += \
-       sysusers.d/basic.conf
-
 INSTALL_DIRS += \
        $(sysusersdir)
 endif
@@ -2352,8 +2346,22 @@ systemd_fsck_SOURCES = \
 systemd_fsck_LDADD = \
        libsystemd-internal.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
+systemd_fsckd_SOURCES = \
+       src/fsckd/fsckd.c \
+       src/fsckd/fsckd.h \
+       $(NULL)
+
+systemd_fsckd_LDADD = \
+       libsystemd-internal.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       libudev-internal.la \
+       $(NULL)
+
 # ------------------------------------------------------------------------------
 systemd_machine_id_commit_SOURCES = \
        src/machine-id-commit/machine-id-commit.c \
@@ -2374,6 +2382,7 @@ systemd_ac_power_SOURCES = \
 
 systemd_ac_power_LDADD = \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
@@ -2476,16 +2485,23 @@ systemd_efi_boot_generator_LDADD = \
        libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
+if HAVE_BLKID
 bootctl_SOURCES = \
-       src/boot/boot.h \
-       src/boot/boot-loader.h \
-       src/boot/bootctl.c \
-       src/boot/boot-loader.c \
-       src/boot/boot-efi.c
+       src/boot/bootctl.c
+
+bootctl_CPPFLAGS = \
+       $(AM_CPPFLAGS) \
+       -DEFI_MACHINE_TYPE_NAME=\"$(EFI_MACHINE_TYPE_NAME)\" \
+       -DBOOTLIBDIR=\"$(bootlibdir)\"
+
+bootctl_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(BLKID_CFLAGS)
 
 bootctl_LDADD = \
        libsystemd-shared.la \
-       libsystemd-internal.la
+       libsystemd-internal.la \
+       $(BLKID_LIBS)
 
 bin_PROGRAMS += \
        bootctl
@@ -2495,7 +2511,136 @@ dist_bashcompletion_DATA += \
 
 dist_zshcompletion_DATA += \
        shell-completion/zsh/_bootctl
+endif
+
+# ------------------------------------------------------------------------------
+if HAVE_GNUEFI
+efi_cppflags = \
+       $(EFI_CPPFLAGS) \
+       -I$(top_builddir) -include config.h \
+       -I$(EFI_INC_DIR)/efi \
+       -I$(EFI_INC_DIR)/efi/$(EFI_ARCH) \
+       -DEFI_MACHINE_TYPE_NAME=\"$(EFI_MACHINE_TYPE_NAME)\"
+
+efi_cflags = \
+       $(EFI_CFLAGS) \
+       -Wall \
+       -Wextra \
+       -std=gnu90 \
+       -nostdinc \
+       -ggdb -O0 \
+       -fpic \
+       -fshort-wchar \
+       -nostdinc \
+       -ffreestanding \
+       -fno-strict-aliasing \
+       -fno-stack-protector \
+       -Wsign-compare \
+       -Wno-missing-field-initializers \
+       -mno-sse \
+       -mno-mmx
+
+if ARCH_X86_64
+efi_cflags += \
+       -mno-red-zone \
+       -DEFI_FUNCTION_WRAPPER \
+       -DGNU_EFI_USE_MS_ABI
+endif
+
+efi_ldflags = \
+       $(EFI_LDFLAGS) \
+       -T $(EFI_LDS_DIR)/elf_$(EFI_ARCH)_efi.lds \
+       -shared \
+       -Bsymbolic \
+       -nostdlib \
+       -znocombreloc \
+       -L $(EFI_LIB_DIR) \
+       $(EFI_LDS_DIR)/crt0-efi-$(EFI_ARCH).o
+
+# ------------------------------------------------------------------------------
+systemd_boot_headers = \
+       src/boot/efi/util.h \
+       src/boot/efi/console.h \
+       src/boot/efi/graphics.h \
+       src/boot/efi/pefile.h
+
+systemd_boot_sources = \
+       src/boot/efi/util.c \
+       src/boot/efi/console.c \
+       src/boot/efi/graphics.c \
+       src/boot/efi/pefile.c \
+       src/boot/efi/boot.c
+
+systemd_boot_objects = $(addprefix $(top_builddir)/,$(systemd_boot_sources:.c=.o))
+systemd_boot_solib = $(top_builddir)/src/boot/efi/systemd_boot.so
+systemd_boot = systemd-boot$(EFI_MACHINE_TYPE_NAME).efi
+
+bootlib_DATA = $(systemd_boot)
+CLEANFILES += $(systemd_boot_objects) $(systemd_boot_solib) $(systemd_boot)
+EXTRA_DIST += $(systemd_boot_sources) $(systemd_boot_headers)
+
+$(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(systemd_boot_headers))
+       @$(MKDIR_P) $(top_builddir)/src/boot/efi/
+       $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
+
+$(systemd_boot_solib): $(systemd_boot_objects)
+       $(AM_V_CCLD)$(LD) $(efi_ldflags) $(systemd_boot_objects) \
+               -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
+       nm -D -u $@ | grep ' U ' && exit 1 || :
+
+$(systemd_boot): $(systemd_boot_solib)
+       $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
+         -j .dynsym -j .rel -j .rela -j .reloc \
+         --target=efi-app-$(EFI_ARCH) $< $@
+
+# ------------------------------------------------------------------------------
+stub_headers = \
+       src/boot/efi/util.h \
+       src/boot/efi/pefile.h \
+       src/boot/efi/graphics.h \
+       src/boot/efi/splash.h \
+       src/boot/efi/linux.h
+
+stub_sources = \
+       src/boot/efi/util.c \
+       src/boot/efi/pefile.c \
+       src/boot/efi/graphics.c \
+       src/boot/efi/splash.c \
+       src/boot/efi/linux.c \
+       src/boot/efi/stub.c
+
+stub_objects = $(addprefix $(top_builddir)/,$(stub_sources:.c=.o))
+stub_solib = $(top_builddir)/src/boot/efi/stub.so
+stub = linux$(EFI_MACHINE_TYPE_NAME).efi.stub
+
+bootlib_DATA += $(stub)
+CLEANFILES += $(stub_objects) $(stub_solib) $(stub)
+EXTRA_DIST += $(stub_sources) $(stub_headers)
+
+$(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(stub_headers))
+       @$(MKDIR_P) $(top_builddir)/src/boot/efi/
+       $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
+
+$(stub_solib): $(stub_objects)
+       $(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \
+               -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
+       nm -D -u $@ | grep ' U ' && exit 1 || :
+
+$(stub): $(stub_solib)
+       $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
+         -j .dynsym -j .rel -j .rela -j .reloc \
+         --target=efi-app-$(EFI_ARCH) $< $@
+
+# ------------------------------------------------------------------------------
+CLEANFILES += test-efi-disk.img
+EXTRA_DIST += test/test-efi-create-disk.sh
 
+test-efi-disk.img: $(systemd_boot) $(stub) test/test-efi-create-disk.sh
+       $(AM_V_GEN)test/test-efi-create-disk.sh
+
+test-efi: test-efi-disk.img
+       $(QEMU) -machine accel=kvm -m 1024 -bios $(QEMU_BIOS) -snapshot test-efi-disk.img
+endif
 endif
 
 # ------------------------------------------------------------------------------
@@ -2509,8 +2654,8 @@ systemd_gpt_auto_generator_SOURCES = \
 
 systemd_gpt_auto_generator_LDADD = \
        libsystemd-label.la \
-       libsystemd-internal.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la \
        $(BLKID_LIBS)
 
@@ -2662,8 +2807,8 @@ systemd_nspawn_CFLAGS = \
 
 systemd_nspawn_LDADD = \
        libsystemd-label.la \
-       libsystemd-internal.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la \
        $(BLKID_LIBS)
 
@@ -2747,9 +2892,6 @@ EXTRA_DIST += \
        units/systemd-bus-proxyd.service.m4.in \
        units/user/systemd-bus-proxyd.service.in
 
-CLEANFILES += \
-       units/systemd-bus-proxyd.service.m4
-
 if HAVE_SMACK
 bus-proxyd-set-cap-hook:
        -$(SETCAP) cap_mac_admin+ei $(DESTDIR)$(rootlibexecdir)/systemd-bus-proxyd
@@ -2780,6 +2922,7 @@ libsystemd_internal_la_SOURCES = \
        src/systemd/sd-path.h \
        src/systemd/sd-network.h \
        src/systemd/sd-hwdb.h \
+       src/systemd/sd-device.h \
        src/libsystemd/sd-bus/sd-bus.c \
        src/libsystemd/sd-bus/bus-control.c \
        src/libsystemd/sd-bus/bus-control.h \
@@ -2843,7 +2986,12 @@ libsystemd_internal_la_SOURCES = \
        src/libsystemd/sd-network/network-util.c \
        src/libsystemd/sd-hwdb/sd-hwdb.c \
        src/libsystemd/sd-hwdb/hwdb-util.h \
-       src/libsystemd/sd-hwdb/hwdb-internal.h
+       src/libsystemd/sd-hwdb/hwdb-intenal.h \
+       src/libsystemd/sd-device/device-internal.h \
+       src/libsystemd/sd-device/device-util.h \
+       src/libsystemd/sd-device/sd-device.c \
+       src/libsystemd/sd-device/device-private.c \
+       src/libsystemd/sd-device/device-private.h
 
 nodist_libsystemd_internal_la_SOURCES = \
        src/libsystemd/libsystemd.sym
@@ -2883,9 +3031,6 @@ EXTRA_DIST += \
        src/libsystemd/sd-bus/DIFFERENCES \
        src/libsystemd/sd-bus/GVARIANT-SERIALIZATION
 
-CLEANFILES += \
-       src/libsystemd/libsystemd.sym
-
 BUILT_SOURCES += \
        src/libsystemd/libsystemd.sym
 
@@ -3326,7 +3471,7 @@ noinst_PROGRAMS += \
        systemd-subterm
 
 dist_pkgdata_DATA += \
-       src/libsystemd-terminal/unifont-glyph-array.bin
+       src/libsystemd-terminal/unifont-glyph-array.bin
 
 nodist_userunit_DATA += \
        units/user/systemd-consoled.service
@@ -3454,12 +3599,8 @@ test_unifont_LDADD = \
        libsystemd-internal.la \
        libsystemd-shared.la
 
-.PHONY: update-unifont
-update-unifont: tools/compile-unifont.py
-       $(AM_V_GEN)$(PYTHON) $< \
-               <$(top_srcdir)/src/libsystemd-terminal/unifont.hex \
-               >$(top_srcdir)/src/libsystemd-terminal/unifont-glyph-array.bin
-       @echo "unifont-glyph-array.bin has been regenerated"
+src/libsystemd-terminal/unifont-glyph-array.bin: tools/compile-unifont.py $(UNIFONT)
+       $(AM_V_GEN)$(PYTHON) $< <$(UNIFONT) >$@
 
 # ------------------------------------------------------------------------------
 if ENABLE_GTK_DOC
@@ -3480,10 +3621,12 @@ lib_LTLIBRARIES += \
 libudev_la_SOURCES =\
        src/libudev/libudev.sym \
        src/libudev/libudev-private.h \
+       src/libudev/libudev-device-internal.h \
        src/libudev/libudev.c \
        src/libudev/libudev-list.c \
        src/libudev/libudev-util.c \
        src/libudev/libudev-device.c \
+       src/libudev/libudev-device-private.c \
        src/libudev/libudev-enumerate.c \
        src/libudev/libudev-monitor.c \
        src/libudev/libudev-queue.c \
@@ -3509,7 +3652,6 @@ EXTRA_DIST += \
        src/libudev/libudev.pc.in
 
 CLEANFILES += \
-       src/libudev/libudev.pc \
        docs/html/libudev \
        docs/html/gudev
 
@@ -3536,8 +3678,7 @@ noinst_LTLIBRARIES += \
        libudev-internal.la
 
 libudev_internal_la_SOURCES =\
-       $(libudev_la_SOURCES) \
-       src/libudev/libudev-device-private.c
+       $(libudev_la_SOURCES)
 
 libudev_internal_la_CFLAGS = \
        $(AM_CFLAGS) \
@@ -3555,20 +3696,20 @@ dist_network_DATA = \
 dist_udevrules_DATA += \
        rules/42-usb-hid-pm.rules \
        rules/50-udev-default.rules \
+       rules/60-block.rules \
        rules/60-drm.rules \
        rules/60-keyboard.rules \
-       rules/70-mouse.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/60-serial.rules \
        rules/64-btrfs.rules \
+       rules/70-mouse.rules \
+       rules/70-touchpad.rules \
        rules/75-net-description.rules \
-       rules/75-tty-description.rules \
        rules/78-sound-card.rules \
-       rules/80-net-setup-link.rules \
-       rules/95-udev-late.rules
+       rules/80-net-setup-link.rules
 
 nodist_udevrules_DATA += \
        rules/99-systemd.rules
@@ -3585,20 +3726,11 @@ EXTRA_DIST += \
        rules/99-systemd.rules.in \
        src/udev/udev.pc.in
 
-CLEANFILES += \
-       rules/99-systemd.rules \
-       src/udev/udev.pc
-
 EXTRA_DIST += \
        units/systemd-udevd.service.in \
        units/systemd-udev-trigger.service.in \
        units/systemd-udev-settle.service.in
 
-CLEANFILES += \
-       units/systemd-udevd.service \
-       units/systemd-udev-trigger.service \
-       units/systemd-udev-settle.service
-
 SOCKETS_TARGET_WANTS += \
        systemd-udevd-control.socket \
        systemd-udevd-kernel.socket
@@ -3616,19 +3748,22 @@ rootlibexec_PROGRAMS += \
 noinst_LTLIBRARIES += \
        libudev-core.la
 
-src/udev/keyboard-keys.txt:
+src/udev/keyboard-keys-list.txt:
        $(AM_V_at)$(MKDIR_P) $(dir $@)
        $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
 
-src/udev/keyboard-keys-from-name.gperf: src/udev/keyboard-keys.txt
+src/udev/keyboard-keys-from-name.gperf: src/udev/keyboard-keys-list.txt
        $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@
 
 src/udev/keyboard-keys-from-name.h: src/udev/keyboard-keys-from-name.gperf
        $(AM_V_GPERF)$(GPERF) -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C < $< > $@
 
-src/udev/keyboard-keys-to-name.h: src/udev/keyboard-keys.txt
+src/udev/keyboard-keys-to-name.h: src/udev/keyboard-keys-list.txt
        $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
 
+gperf_txt_sources += \
+       src/udev/keyboard-keys-list.txt
+
 libudev_core_la_SOURCES = \
        src/udev/udev.h \
        src/udev/udev-event.c \
@@ -3655,15 +3790,7 @@ nodist_libudev_core_la_SOURCES = \
        src/udev/keyboard-keys-to-name.h \
        src/udev/net/link-config-gperf.c
 
-BUILT_SOURCES += \
-       $(nodist_libudev_core_la_SOURCES)
-
-CLEANFILES += \
-       src/udev/keyboard-keys-from-name.gperf \
-       src/udev/keyboard-keys.txt \
-       src/udev/net/link-config-gperf.c
-
-EXTRA_DIST += \
+gperf_gperf_sources = \
        src/udev/net/link-config-gperf.gperf
 
 libudev_core_la_CFLAGS = \
@@ -3736,9 +3863,9 @@ systemd_hwdb_SOURCES = \
        src/hwdb/hwdb.c
 
 systemd_hwdb_LDADD = \
+       libudev-internal.la \
        libsystemd-shared.la \
-       libsystemd-internal.la \
-       libudev-internal.la
+       libsystemd-internal.la
 
 rootbin_PROGRAMS += \
        systemd-hwdb
@@ -3755,13 +3882,13 @@ dist_udevhwdb_DATA = \
        hwdb/20-OUI.hwdb \
        hwdb/20-net-ifname.hwdb \
        hwdb/60-keyboard.hwdb \
-       hwdb/70-mouse.hwdb
+       hwdb/70-mouse.hwdb \
+       hwdb/70-touchpad.hwdb
 
 EXTRA_DIST += \
-       units/systemd-hwdb-update.service.in
-
-CLEANFILES += \
-       units/systemd-hwdb-update.service
+       units/systemd-hwdb-update.service.in \
+       hwdb/ids-update.pl \
+       hwdb/sdio.ids
 
 SYSINIT_TARGET_WANTS += \
        systemd-hwdb-update.service
@@ -3786,9 +3913,14 @@ TESTS += \
 if HAVE_PYTHON
 TESTS += \
        test/rule-syntax-check.py \
+       $(NULL)
+
+if HAVE_SYSV_COMPAT
+TESTS += \
        test/sysv-generator-test.py \
        $(NULL)
 endif
+endif
 
 manual_tests += \
        test-libudev \
@@ -3843,6 +3975,7 @@ ata_id_SOURCES = \
 
 ata_id_LDADD = \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
@@ -3854,6 +3987,7 @@ cdrom_id_SOURCES = \
 
 cdrom_id_LDADD = \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
@@ -3868,6 +4002,7 @@ collect_SOURCES = \
 
 collect_LDADD = \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
@@ -3882,6 +4017,7 @@ scsi_id_SOURCES =\
 
 scsi_id_LDADD = \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
@@ -3896,6 +4032,7 @@ v4l_id_SOURCES = \
 
 v4l_id_LDADD = \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
@@ -3910,6 +4047,7 @@ accelerometer_SOURCES = \
 
 accelerometer_LDADD = \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
@@ -3942,9 +4080,6 @@ lib_LTLIBRARIES += libgudev-1.0.la
 pkgconfiglib_DATA += \
        src/gudev/gudev-1.0.pc
 
-CLEANFILES += \
-       src/gudev/gudev-1.0.pc
-
 libgudev_1_0_la_SOURCES = \
        src/gudev/libgudev-1.0.sym \
        src/gudev/gudevenums.h \
@@ -4184,8 +4319,6 @@ nodist_pkgsysconf_DATA += \
 EXTRA_DIST += \
        src/journal-remote/journal-remote.conf.in
 
-CLEANFILES += \
-       src/journal-remote/journal-remote.conf
 endif
 
 if HAVE_LIBCURL
@@ -4218,9 +4351,6 @@ nodist_pkgsysconf_DATA += \
 
 EXTRA_DIST += \
        src/journal-remote/journal-upload.conf.in
-
-CLEANFILES += \
-       src/journal-remote/journal-upload.conf
 endif
 
 # using _CFLAGS = in the conditional below would suppress AM_CFLAGS
@@ -4541,11 +4671,10 @@ SYSINIT_TARGET_WANTS += \
 EXTRA_DIST += \
        units/systemd-journald.service.in \
        units/systemd-journal-flush.service.in \
-       units/systemd-journal-catalog-update.service.in \
-       src/journal/journald-gperf.gperf
+       units/systemd-journal-catalog-update.service.in
 
-CLEANFILES += \
-       src/journal/journald-gperf.c
+gperf_gperf_sources += \
+       src/journal/journald-gperf.gperf
 
 # ------------------------------------------------------------------------------
 if HAVE_MICROHTTPD
@@ -4667,7 +4796,7 @@ dist_bashcompletion_DATA += \
 dist_zshcompletion_DATA += \
        shell-completion/zsh/_coredumpctl
 
-sysctl_DATA = \
+nodist_sysctl_DATA = \
        sysctl.d/50-coredump.conf
 
 CLEANFILES += \
@@ -4719,17 +4848,14 @@ systemd_vconsole_setup_LDADD = \
 rootlibexec_PROGRAMS += \
        systemd-vconsole-setup
 
-nodist_systemunit_DATA += \
-       units/systemd-vconsole-setup.service
-
 nodist_udevrules_DATA += \
        src/vconsole/90-vconsole.rules
 
+nodist_systemunit_DATA += \
+       units/systemd-vconsole-setup.service
+
 SYSINIT_TARGET_WANTS += \
        systemd-vconsole-setup.service
-
-CLEANFILES += \
-       src/vconsole/90-vconsole.rules
 endif
 
 EXTRA_DIST += \
@@ -4761,9 +4887,6 @@ nodist_systemunit_DATA += \
 
 EXTRA_DIST += \
        units/systemd-bootchart.service.in
-
-CLEANFILES += \
-       units/systemd-bootchart.service
 endif
 
 # ------------------------------------------------------------------------------
@@ -4824,6 +4947,7 @@ systemd_backlight_SOURCES = \
 systemd_backlight_LDADD = \
        libsystemd-label.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 endif
 
@@ -4844,6 +4968,7 @@ systemd_rfkill_SOURCES = \
 systemd_rfkill_LDADD = \
        libsystemd-label.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 endif
 
@@ -4872,6 +4997,7 @@ systemd_cryptsetup_CFLAGS = \
 systemd_cryptsetup_LDADD = \
        libsystemd-label.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la \
        $(LIBCRYPTSETUP_LIBS)
 
@@ -4992,10 +5118,8 @@ BUSNAMES_TARGET_WANTS += \
        org.freedesktop.locale1.busname
 
 dist_pkgdata_DATA += \
-       src/locale/kbd-model-map
-
-dist_noinst_SCRIPT = \
-       src/locale/generate-kbd-model-map
+       src/locale/kbd-model-map \
+       src/locale/language-fallback-map
 
 localectl_SOURCES = \
        src/locale/localectl.c
@@ -5094,12 +5218,9 @@ systemd_timesyncd_SOURCES = \
 nodist_systemd_timesyncd_SOURCES = \
        src/timesync/timesyncd-gperf.c
 
-EXTRA_DIST += \
+gperf_gperf_sources += \
        src/timesync/timesyncd-gperf.gperf
 
-CLEANFILES += \
-       src/timesync/timesyncd-gperf.c
-
 systemd_timesyncd_LDADD = \
        libsystemd-resolve.la \
        libsystemd-network.la \
@@ -5124,9 +5245,6 @@ nodist_pkgsysconf_DATA += \
 
 EXTRA_DIST += \
        src/timesync/timesyncd.conf.in
-
-CLEANFILES += \
-       src/timesync/timesyncd.conf
 endif
 
 # ------------------------------------------------------------------------------
@@ -5175,8 +5293,8 @@ libsystemd_machine_core_la_SOURCES = \
 
 libsystemd_machine_core_la_LIBADD = \
        libsystemd-label.la \
-       libsystemd-internal.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 noinst_LTLIBRARIES += \
@@ -5273,31 +5391,40 @@ if HAVE_GCRYPT
 
 rootlibexec_PROGRAMS += \
        systemd-importd \
-       systemd-pull
+       systemd-pull \
+       systemd-import \
+       systemd-export
 
 systemd_importd_SOURCES = \
        src/import/importd.c
 
 systemd_importd_CFLAGS = \
        $(AM_CFLAGS) \
-       -D SYSTEMD_PULL_PATH=\"$(rootlibexecdir)/systemd-import\"
+       -D SYSTEMD_PULL_PATH=\"$(rootlibexecdir)/systemd-pull\" \
+       -D SYSTEMD_IMPORT_PATH=\"$(rootlibexecdir)/systemd-import\" \
+       -D SYSTEMD_EXPORT_PATH=\"$(rootlibexecdir)/systemd-export\"
 
 systemd_importd_LDADD = \
        libsystemd-internal.la \
+       libsystemd-label.la \
        libsystemd-shared.la
 
 systemd_pull_SOURCES = \
        src/import/pull.c \
-       src/import/import-raw.c \
-       src/import/import-raw.h \
-       src/import/import-tar.c \
-       src/import/import-tar.h \
-       src/import/import-dkr.c \
-       src/import/import-dkr.h \
-       src/import/import-job.c \
-       src/import/import-job.h \
+       src/import/pull-raw.c \
+       src/import/pull-raw.h \
+       src/import/pull-tar.c \
+       src/import/pull-tar.h \
+       src/import/pull-dkr.c \
+       src/import/pull-dkr.h \
+       src/import/pull-job.c \
+       src/import/pull-job.h \
+       src/import/pull-common.c \
+       src/import/pull-common.h \
        src/import/import-common.c \
        src/import/import-common.h \
+       src/import/import-compress.c \
+       src/import/import-compress.h \
        src/import/curl-util.c \
        src/import/curl-util.h \
        src/import/aufs-util.c \
@@ -5324,6 +5451,56 @@ systemd_pull_LDADD = \
        -lbz2 \
        $(GCRYPT_LIBS)
 
+systemd_import_SOURCES = \
+       src/import/import.c \
+       src/import/import-raw.c \
+       src/import/import-raw.h \
+       src/import/import-tar.c \
+       src/import/import-tar.h \
+       src/import/import-common.c \
+       src/import/import-common.h \
+       src/import/import-compress.c \
+       src/import/import-compress.h \
+       src/import/qcow2-util.c \
+       src/import/qcow2-util.h
+
+systemd_import_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(XZ_CFLAGS) \
+       $(ZLIB_CFLAGS)
+
+systemd_import_LDADD = \
+       libsystemd-internal.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       $(XZ_LIBS) \
+       $(ZLIB_LIBS) \
+       -lbz2
+
+systemd_export_SOURCES = \
+       src/import/export.c \
+       src/import/export-tar.c \
+       src/import/export-tar.h \
+       src/import/export-raw.c \
+       src/import/export-raw.h \
+       src/import/import-common.c \
+       src/import/import-common.h \
+       src/import/import-compress.c \
+       src/import/import-compress.h
+
+systemd_export_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(XZ_CFLAGS) \
+       $(ZLIB_CFLAGS)
+
+systemd_export_LDADD = \
+       libsystemd-internal.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       $(XZ_LIBS) \
+       $(ZLIB_LIBS) \
+       -lbz2
+
 dist_rootlibexec_DATA = \
        src/import/import-pubring.gpg
 
@@ -5425,12 +5602,11 @@ systemd_resolved_SOURCES = \
 nodist_systemd_resolved_SOURCES = \
        src/resolve/resolved-gperf.c
 
-EXTRA_DIST += \
-       src/resolve/resolved-gperf.gperf \
-       src/resolve/dns_type-from-name.gperf
+gperf_gperf_sources += \
+       src/resolve/resolved-gperf.gperf
 
-CLEANFILES += \
-       src/resolve/resolved-gperf.c
+gperf_txt_sources += \
+       src/resolve/dns_type-list.txt
 
 systemd_resolved_LDADD = \
        libsystemd-network.la \
@@ -5455,7 +5631,7 @@ dist_dbussystemservice_DATA += \
        src/resolve/org.freedesktop.resolve1.service
 
 EXTRA_DIST += \
-       units/systemd-resolved.service.in
+       units/systemd-resolved.service.m4.in
 
 SYSTEM_UNIT_ALIASES += \
        systemd-resolved.service dbus-org.freedesktop.resolve1.service
@@ -5472,9 +5648,6 @@ nodist_pkgsysconf_DATA += \
 EXTRA_DIST += \
        src/resolve/resolved.conf.in
 
-CLEANFILES += \
-       src/resolve/resolved.conf
-
 tests += \
        test-dns-domain
 
@@ -5586,13 +5759,16 @@ libsystemd_networkd_core_la_SOURCES = \
        src/network/networkd-netdev-bond.c \
        src/network/networkd-netdev-bridge.c \
        src/network/networkd-link.c \
+       src/network/networkd-link-bus.c \
        src/network/networkd-ipv4ll.c \
        src/network/networkd-dhcp4.c \
        src/network/networkd-dhcp6.c \
        src/network/networkd-network.c \
+       src/network/networkd-network-bus.c \
        src/network/networkd-address.c \
        src/network/networkd-route.c \
        src/network/networkd-manager.c \
+       src/network/networkd-manager-bus.c \
        src/network/networkd-fdb.c \
        src/network/networkd-address-pool.c
 
@@ -5634,8 +5810,8 @@ networkctl_SOURCES = \
        src/network/networkctl.c
 
 networkctl_LDADD = \
-       libsystemd-internal.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la \
        libsystemd-network.la
 
@@ -5667,23 +5843,41 @@ tests += \
        test-network \
        test-network-tables
 
+dist_systemunit_DATA += \
+       units/systemd-networkd.socket
+
 nodist_systemunit_DATA += \
        units/systemd-networkd.service \
        units/systemd-networkd-wait-online.service
 
+dist_systemunit_DATA_busnames += \
+       units/org.freedesktop.network1.busname
+
+dist_dbussystemservice_DATA += \
+       src/network/org.freedesktop.network1.service
+
+dist_dbuspolicy_DATA += \
+       src/network/org.freedesktop.network1.conf
+
 GENERAL_ALIASES += \
+       $(systemunitdir)/systemd-networkd.socket $(pkgsysconfdir)/system/sockets.target.wants/systemd-networkd.socket \
        $(systemunitdir)/systemd-networkd.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-networkd.service \
        $(systemunitdir)/systemd-networkd-wait-online.service $(pkgsysconfdir)/system/network-online.target.wants/systemd-networkd-wait-online.service
 
-EXTRA_DIST += \
+SYSTEM_UNIT_ALIASES += \
+       systemd-networkd.service dbus-org.freedesktop.network1.service
+
+BUSNAMES_TARGET_WANTS += \
+       org.freedesktop.network1.busname
+
+gperf_gperf_sources += \
        src/network/networkd-network-gperf.gperf \
-       src/network/networkd-netdev-gperf.gperf \
+       src/network/networkd-netdev-gperf.gperf
+
+EXTRA_DIST += \
        units/systemd-networkd.service.in \
        units/systemd-networkd-wait-online.service.in
 
-CLEANFILES += \
-       src/network/networkd-network-gperf.c \
-       src/network/networkd-netdev-gperf.c
 endif
 
 # ------------------------------------------------------------------------------
@@ -5724,8 +5918,8 @@ libsystemd_logind_core_la_SOURCES = \
 
 libsystemd_logind_core_la_LIBADD = \
        libsystemd-label.la \
-       libsystemd-internal.la \
        libudev-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 if HAVE_ACL
@@ -5739,15 +5933,8 @@ endif
 noinst_LTLIBRARIES += \
        libsystemd-logind-core.la
 
-systemd_user_sessions_SOURCES = \
-       src/login/user-sessions.c
-
-systemd_user_sessions_LDADD = \
-       libsystemd-shared.la
-
 rootlibexec_PROGRAMS += \
-       systemd-logind \
-       systemd-user-sessions
+       systemd-logind
 
 loginctl_SOURCES = \
        src/login/loginctl.c \
@@ -5755,10 +5942,10 @@ loginctl_SOURCES = \
        src/login/sysfs-show.c
 
 loginctl_LDADD = \
+       libudev-internal.la \
        libsystemd-internal.la \
        libsystemd-logs.la \
        libsystemd-journal-internal.la \
-       libudev-internal.la \
        libsystemd-shared.la
 
 rootbin_PROGRAMS += \
@@ -5844,11 +6031,11 @@ pamlib_LTLIBRARIES = \
 
 dist_pamconf_DATA = \
        src/login/systemd-user
+
 endif
 
 nodist_systemunit_DATA += \
-       units/systemd-logind.service \
-       units/systemd-user-sessions.service
+       units/systemd-logind.service
 
 dist_systemunit_DATA += \
        units/user.slice
@@ -5872,8 +6059,7 @@ INSTALL_DIRS += \
        $(systemdstatedir)
 
 MULTI_USER_TARGET_WANTS += \
-       systemd-logind.service \
-       systemd-user-sessions.service
+       systemd-logind.service
 
 SYSTEM_UNIT_ALIASES += \
        systemd-logind.service dbus-org.freedesktop.login1.service
@@ -5889,23 +6075,44 @@ nodist_udevrules_DATA += \
        src/login/71-seat.rules \
        src/login/73-seat-late.rules
 
-CLEANFILES += \
-       src/login/logind-gperf.c \
-       src/login/71-seat.rules \
-       src/login/73-seat-late.rules
 endif
 
 polkitpolicy_in_files += \
        src/login/org.freedesktop.login1.policy.in
 
+gperf_gperf_sources += \
+       src/login/logind-gperf.gperf
+
 EXTRA_DIST += \
-       src/login/logind-gperf.gperf \
        src/login/71-seat.rules.in \
        src/login/73-seat-late.rules.in \
-       units/systemd-logind.service.in \
+       units/systemd-logind.service.in
+
+# ------------------------------------------------------------------------------
+if HAVE_PAM
+
+systemd_user_sessions_SOURCES = \
+       src/user-sessions/user-sessions.c
+
+systemd_user_sessions_LDADD = \
+       libsystemd-shared.la
+
+rootlibexec_PROGRAMS += \
+       systemd-user-sessions
+
+nodist_systemunit_DATA += \
+       units/systemd-user-sessions.service
+
+EXTRA_DIST += \
        units/systemd-user-sessions.service.in
 
+MULTI_USER_TARGET_WANTS += \
+       systemd-user-sessions.service
+
+endif
+
 # ------------------------------------------------------------------------------
+
 if HAVE_PYTHON_DEVEL
 pkgpyexec_LTLIBRARIES = \
        _journal.la \
@@ -6031,7 +6238,7 @@ src/python-systemd/id128-constants.h: src/systemd/sd-messages.h
        $(AM_V_GEN)$(SED) -n -r 's/,//g; s/#define (SD_MESSAGE_[A-Z0-9_]+)\s.*/add_id(m, "\1", \1) JOINER/p' <$< >$@
 
 BUILT_SOURCES += \
-       src/python-systemd/id128-constants.h
+       $(nodist_id128_la_SOURCES)
 
 SPHINXOPTS = -D version=$(VERSION) -D release=$(VERSION)
 sphinx-%:
@@ -6219,6 +6426,7 @@ substitutions = \
        '|rootprefix=$(rootprefix)|' \
        '|udevlibexecdir=$(udevlibexecdir)|' \
        '|SUSHELL=$(SUSHELL)|' \
+       '|SULOGIN=$(SULOGIN)|' \
        '|DEBUGTTY=$(DEBUGTTY)|' \
        '|KILL=$(KILL)|' \
        '|KMOD=$(KMOD)|' \
@@ -6315,12 +6523,6 @@ EXTRA_DIST += \
        $(polkitpolicy_in_files) \
        $(polkitpolicy_in_in_files)
 
-CLEANFILES += \
-       $(nodist_systemunit_DATA) \
-       $(nodist_userunit_DATA) \
-       $(pkgconfiglib_DATA) \
-       $(nodist_polkitpolicy_DATA)
-
 # ------------------------------------------------------------------------------
 if ENABLE_MANPAGES
 man/custom-entities.ent: configure.ac
@@ -6405,15 +6607,11 @@ SOCKETS_TARGET_WANTS += \
 
 if HAVE_UTMP
 if HAVE_SYSV_COMPAT
-RUNLEVEL1_TARGET_WANTS += \
-       systemd-update-utmp-runlevel.service
-RUNLEVEL2_TARGET_WANTS += \
-       systemd-update-utmp-runlevel.service
-RUNLEVEL3_TARGET_WANTS += \
+MULTI_USER_TARGET_WANTS += \
        systemd-update-utmp-runlevel.service
-RUNLEVEL4_TARGET_WANTS += \
+GRAPHICAL_TARGET_WANTS += \
        systemd-update-utmp-runlevel.service
-RUNLEVEL5_TARGET_WANTS += \
+RESCUE_TARGET_WANTS += \
        systemd-update-utmp-runlevel.service
 endif
 
@@ -6426,7 +6624,8 @@ SYSINIT_TARGET_WANTS += \
 
 LOCAL_FS_TARGET_WANTS += \
        systemd-remount-fs.service \
-       tmp.mount
+       tmp.mount \
+       var-lib-machines.mount
 
 MULTI_USER_TARGET_WANTS += \
        getty.target \
@@ -6558,7 +6757,7 @@ endif
 #
 # Require python when making dist
 #
-.PHONY: dist-check-python
+.PHONY: dist-check-python dist-check-compat-libs dist-check-help
 dist-check-python:
 if !HAVE_PYTHON
        @echo "*** python and python-lxml module must be installed and enabled in order to make dist"
@@ -6571,6 +6770,14 @@ if !ENABLE_COMPAT_LIBS
        @false
 endif
 
+dist-check-help: $(rootbin_PROGRAMS) $(bin_PROGRAMS)
+       for i in $(abspath $^); do                                             \
+            if $$i  --help | grep -v 'default:' | grep -E -q '.{80}.' ; then   \
+               echo "$(basename $$i) --help output is too wide:";             \
+               $$i  --help | awk 'length > 80' | grep -E --color=yes '.{80}'; \
+               exit 1;                                                        \
+            fi; done
+
 dist: dist-check-python dist-check-compat-libs
 
 # check "broken" platforms limited toolchains for link breakage before we release