Makefile.am revision bc9992978cd1456b5bb79e72e8cf7a2331d3a7c6
# -*- Mode: makefile; indent-tabs-mode: t -*-
#
# This file is part of systemd.
#
# Copyright 2010-2012 Lennart Poettering
# Copyright 2010-2012 Kay Sievers
# Copyright 2013 Zbigniew Jędrzejewski-Szmek
# Copyright 2013 David Strauss
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# 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
# Lesser General Public License for more details.
#
# 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}
AM_MAKEFLAGS = --no-print-directory
AUTOMAKE_OPTIONS = color-tests parallel-tests
GCC_COLORS ?= 'ooh, shiny!'
export GCC_COLORS
SUBDIRS = . po
# remove targets if the command fails
.DELETE_ON_ERROR:
# keep intermediate files
.SECONDARY:
# Keep the test-suite.log
.PRECIOUS: $(TEST_SUITE_LOG) Makefile
LIBUDEV_CURRENT=7
LIBUDEV_REVISION=1
LIBUDEV_AGE=6
LIBGUDEV_CURRENT=2
LIBGUDEV_REVISION=0
LIBGUDEV_AGE=2
LIBSYSTEMD_CURRENT=5
LIBSYSTEMD_REVISION=0
LIBSYSTEMD_AGE=5
# The following four libraries only exist for compatibility reasons,
# their version info should not be bumped anymore
LIBSYSTEMD_LOGIN_CURRENT=9
LIBSYSTEMD_LOGIN_REVISION=3
LIBSYSTEMD_LOGIN_AGE=9
LIBSYSTEMD_DAEMON_CURRENT=0
LIBSYSTEMD_DAEMON_REVISION=12
LIBSYSTEMD_DAEMON_AGE=0
LIBSYSTEMD_ID128_CURRENT=0
LIBSYSTEMD_ID128_REVISION=28
LIBSYSTEMD_ID128_AGE=0
LIBSYSTEMD_JOURNAL_CURRENT=11
LIBSYSTEMD_JOURNAL_REVISION=5
LIBSYSTEMD_JOURNAL_AGE=11
# Dirs of external packages
dbuspolicydir=@dbuspolicydir@
dbussessionservicedir=@dbussessionservicedir@
dbussystemservicedir=@dbussystemservicedir@
pamlibdir=@pamlibdir@
pamconfdir=@pamconfdir@
pkgconfigdatadir=$(datadir)/pkgconfig
pkgconfiglibdir=$(libdir)/pkgconfig
polkitpolicydir=$(datadir)/polkit-1/actions
bashcompletiondir=@bashcompletiondir@
zshcompletiondir=@zshcompletiondir@
rpmmacrosdir=$(prefix)/lib/rpm/macros.d
sysvinitdir=$(SYSTEM_SYSVINIT_PATH)
sysvrcnddir=$(SYSTEM_SYSVRCND_PATH)
varlogdir=$(localstatedir)/log
systemdstatedir=$(localstatedir)/lib/systemd
catalogstatedir=$(systemdstatedir)/catalog
# Our own, non-special dirs
pkgsysconfdir=$(sysconfdir)/systemd
userunitdir=$(prefix)/lib/systemd/user
userpresetdir=$(prefix)/lib/systemd/user-preset
tmpfilesdir=$(prefix)/lib/tmpfiles.d
sysusersdir=$(prefix)/lib/sysusers.d
sysctldir=$(prefix)/lib/sysctl.d
binfmtdir=$(prefix)/lib/binfmt.d
modulesloaddir=$(prefix)/lib/modules-load.d
networkdir=$(rootprefix)/lib/systemd/network
pkgincludedir=$(includedir)/systemd
systemgeneratordir=$(rootlibexecdir)/system-generators
usergeneratordir=$(prefix)/lib/systemd/user-generators
systemshutdowndir=$(rootlibexecdir)/system-shutdown
systemsleepdir=$(rootlibexecdir)/system-sleep
systemunitdir=$(rootprefix)/lib/systemd/system
systempresetdir=$(rootprefix)/lib/systemd/system-preset
udevlibexecdir=$(rootprefix)/lib/udev
udevhomedir=$(udevlibexecdir)
udevrulesdir=$(udevlibexecdir)/rules.d
udevhwdbdir=$(udevlibexecdir)/hwdb.d
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
# 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 =
UNINSTALL_EXEC_HOOKS =
INSTALL_DATA_HOOKS =
UNINSTALL_DATA_HOOKS =
DISTCLEAN_LOCAL_HOOKS =
CLEAN_LOCAL_HOOKS =
pkginclude_HEADERS =
noinst_LTLIBRARIES =
lib_LTLIBRARIES =
include_HEADERS =
noinst_DATA =
pkgconfiglib_DATA =
polkitpolicy_in_in_files =
polkitpolicy_in_files =
polkitpolicy_files =
dist_udevrules_DATA =
nodist_udevrules_DATA =
dist_pkgsysconf_DATA =
nodist_pkgsysconf_DATA =
dist_pkgdata_DATA =
dist_dbuspolicy_DATA =
dist_dbussystemservice_DATA =
dist_systemunit_DATA_busnames =
check_PROGRAMS =
check_DATA =
tests=
manual_tests =
if ENABLE_TESTS
noinst_PROGRAMS = $(manual_tests) $(tests)
TESTS = $(tests)
else
noinst_PROGRAMS =
TESTS =
endif
udevlibexec_PROGRAMS =
.PHONY: $(INSTALL_EXEC_HOOKS) $(UNINSTALL_EXEC_HOOKS) \
$(INSTALL_DATA_HOOKS) $(UNINSTALL_DATA_HOOKS) \
$(DISTCLEAN_LOCAL_HOOKS) $(CLEAN_LOCAL_HOOKS)
AM_CPPFLAGS = \
-include $(top_builddir)/config.h \
-DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
-DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
-DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
-DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
-DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
-DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
-DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
-DCERTIFICATE_ROOT=\"$(CERTIFICATEROOT)\" \
-DCATALOG_DATABASE=\"$(catalogstatedir)/database\" \
-DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
-DSYSTEMD_BINARY_PATH=\"$(rootlibexecdir)/systemd\" \
-DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
-DSYSTEMD_SLEEP_BINARY_PATH=\"$(rootlibexecdir)/systemd-sleep\" \
-DSYSTEMCTL_BINARY_PATH=\"$(rootbindir)/systemctl\" \
-DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH=\"$(rootbindir)/systemd-tty-ask-password-agent\" \
-DSYSTEMD_STDIO_BRIDGE_BINARY_PATH=\"$(bindir)/systemd-stdio-bridge\" \
-DROOTPREFIX=\"$(rootprefix)\" \
-DRANDOM_SEED_DIR=\"$(localstatedir)/lib/systemd/\" \
-DRANDOM_SEED=\"$(localstatedir)/lib/systemd/random-seed\" \
-DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
-DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
-DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
-DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
-DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \
-DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \
-DX_SERVER=\"$(bindir)/X\" \
-DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \
-DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
-DQUOTACHECK=\"$(QUOTACHECK)\" \
-DKEXEC=\"$(KEXEC)\" \
-DLIBDIR=\"$(libdir)\" \
-DROOTLIBDIR=\"$(rootlibdir)\" \
-DTEST_DIR=\"$(abs_top_srcdir)/test\" \
-I $(top_srcdir)/src \
-I $(top_builddir)/src/shared \
-I $(top_srcdir)/src/shared \
-I $(top_srcdir)/src/network \
-I $(top_srcdir)/src/login \
-I $(top_srcdir)/src/journal \
-I $(top_srcdir)/src/timedate \
-I $(top_srcdir)/src/timesync \
-I $(top_srcdir)/src/resolve \
-I $(top_builddir)/src/resolve \
-I $(top_srcdir)/src/systemd \
-I $(top_builddir)/src/core \
-I $(top_srcdir)/src/core \
-I $(top_srcdir)/src/libudev \
-I $(top_srcdir)/src/udev \
-I $(top_srcdir)/src/udev/net \
-I $(top_builddir)/src/udev \
-I $(top_srcdir)/src/libsystemd/sd-bus \
-I $(top_srcdir)/src/libsystemd/sd-event \
-I $(top_srcdir)/src/libsystemd/sd-rtnl \
-I $(top_srcdir)/src/libsystemd/sd-network \
-I $(top_srcdir)/src/libsystemd-network \
-I $(top_srcdir)/src/libsystemd-terminal \
$(OUR_CPPFLAGS)
AM_CFLAGS = $(OUR_CFLAGS)
AM_LDFLAGS = $(OUR_LDFLAGS)
# ------------------------------------------------------------------------------
define move-to-rootlibdir
if test "$(libdir)" != "$(rootlibdir)"; then \
$(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
rm -f $(DESTDIR)$(libdir)/$$libname && \
$(LN_S) --relative -f $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
fi
endef
INSTALL_DIRS =
RUNLEVEL1_TARGET_WANTS =
RUNLEVEL2_TARGET_WANTS =
RUNLEVEL3_TARGET_WANTS =
RUNLEVEL4_TARGET_WANTS =
RUNLEVEL5_TARGET_WANTS =
SHUTDOWN_TARGET_WANTS =
LOCAL_FS_TARGET_WANTS =
MULTI_USER_TARGET_WANTS =
SYSINIT_TARGET_WANTS =
SOCKETS_TARGET_WANTS =
BUSNAMES_TARGET_WANTS =
TIMERS_TARGET_WANTS =
USER_SOCKETS_TARGET_WANTS =
USER_DEFAULT_TARGET_WANTS =
USER_BUSNAMES_TARGET_WANTS =
SYSTEM_UNIT_ALIASES =
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="$(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)
what="$(SLICES_TARGET_WANTS)" && wants=slices.target && dir=$(systemunitdir) && $(add-wants)
what="$(USER_SOCKETS_TARGET_WANTS)" && wants=sockets.target && dir=$(userunitdir) && $(add-wants)
what="$(USER_DEFAULT_TARGET_WANTS)" && wants=default.target && dir=$(userunitdir) && $(add-wants)
install-busnames-target-wants-hook:
what="$(BUSNAMES_TARGET_WANTS)" && wants=busnames.target && dir=$(systemunitdir) && $(add-wants)
what="$(USER_BUSNAMES_TARGET_WANTS)" && wants=busnames.target && dir=$(userunitdir) && $(add-wants)
define add-wants
[ -z "$$what" ] || ( \
dir=$(DESTDIR)$$dir/$$wants.wants && \
$(MKDIR_P) -m 0755 $$dir && \
cd $$dir && \
rm -f $$what && \
for i in $$what; do $(LN_S) ../$$i . || exit $$? ; done )
endef
install-directories-hook:
$(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS))
install-aliases-hook:
set -- $(SYSTEM_UNIT_ALIASES) && \
dir=$(systemunitdir) && $(install-aliases)
set -- $(USER_UNIT_ALIASES) && \
dir=$(userunitdir) && $(install-relative-aliases)
set -- $(GENERAL_ALIASES) && \
dir= && $(install-relative-aliases)
define install-aliases
while [ -n "$$1" ]; do \
$(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
rm -f $(DESTDIR)$$dir/$$2 && \
$(LN_S) $$1 $(DESTDIR)$$dir/$$2 && \
shift 2 || exit $$?; \
done
endef
define install-relative-aliases
while [ -n "$$1" ]; do \
$(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
rm -f $(DESTDIR)$$dir/$$2 && \
$(LN_S) --relative $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \
shift 2 || exit $$?; \
done
endef
install-touch-usr-hook:
touch -c $(DESTDIR)/$(prefix)
INSTALL_EXEC_HOOKS += \
install-target-wants-hook \
install-directories-hook \
install-aliases-hook \
install-touch-usr-hook
if ENABLE_KDBUS
INSTALL_EXEC_HOOKS += \
install-busnames-target-wants-hook
endif
# ------------------------------------------------------------------------------
AM_V_M4 = $(AM_V_M4_$(V))
AM_V_M4_ = $(AM_V_M4_$(AM_DEFAULT_VERBOSITY))
AM_V_M4_0 = @echo " M4 " $@;
AM_V_XSLT = $(AM_V_XSLT_$(V))
AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
AM_V_XSLT_0 = @echo " XSLT " $@;
AM_V_GPERF = $(AM_V_GPERF_$(V))
AM_V_GPERF_ = $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY))
AM_V_GPERF_0 = @echo " GPERF " $@;
AM_V_LN = $(AM_V_LN_$(V))
AM_V_LN_ = $(AM_V_LN_$(AM_DEFAULT_VERBOSITY))
AM_V_LN_0 = @echo " LN " $@;
AM_V_RM = $(AM_V_RM_$(V))
AM_V_RM_ = $(AM_V_RM_$(AM_DEFAULT_VERBOSITY))
AM_V_RM_0 = @echo " RM " $@;
# ------------------------------------------------------------------------------
rootbin_PROGRAMS = \
systemctl \
systemd-notify \
systemd-ask-password \
systemd-tty-ask-password-agent \
systemd-machine-id-setup \
systemd-escape
bin_PROGRAMS = \
systemd-cgls \
systemd-cgtop \
systemd-nspawn \
systemd-detect-virt \
systemd-delta \
systemd-analyze \
systemd-run \
systemd-path
dist_bin_SCRIPTS = \
dist_kernelinstall_SCRIPTS = \
rootlibexec_PROGRAMS = \
systemd \
systemd-cgroups-agent \
systemd-initctl \
systemd-shutdownd \
systemd-shutdown \
systemd-remount-fs \
systemd-reply-password \
systemd-fsck \
systemd-ac-power \
systemd-sysctl \
systemd-sleep \
systemd-bus-proxyd \
systemd-socket-proxyd \
systemd-update-done
if HAVE_UTMP
rootlibexec_PROGRAMS += \
systemd-update-utmp
endif
systemgenerator_PROGRAMS = \
systemd-getty-generator \
systemd-fstab-generator \
systemd-system-update-generator \
systemd-debug-generator
dist_bashcompletion_DATA = \
nodist_bashcompletion_DATA = \
dist_zshcompletion_DATA = \
shell-completion/zsh/_journalctl \
shell-completion/zsh/_udevadm \
shell-completion/zsh/_kernel-install \
shell-completion/zsh/_systemd-nspawn \
shell-completion/zsh/_systemd-analyze \
shell-completion/zsh/_systemd-run \
shell-completion/zsh/_sd_hosts_or_user_at_host \
shell-completion/zsh/_sd_outputmodes \
shell-completion/zsh/_sd_unit_files \
shell-completion/zsh/_systemd-delta \
shell-completion/zsh/_systemd
nodist_zshcompletion_DATA = \
shell-completion/zsh/_systemctl
EXTRA_DIST += \
CLEANFILES += \
$(nodist_bashcompletion_DATA) \
$(nodist_zshcompletion_DATA)
dist_sysctl_DATA = \
dist_systemunit_DATA = \
if ENABLE_KDBUS
dist_systemunit_DATA += \
$(dist_systemunit_DATA_busnames)
endif
dist_systemunit_DATA_busnames += \
nodist_systemunit_DATA = \
units/getty@.service \
units/serial-getty@.service \
units/container-getty@.service \
units/user@.service \
units/systemd-fsck@.service \
units/systemd-nspawn@.service \
if HAVE_UTMP
nodist_systemunit_DATA += \
endif
dist_userunit_DATA = \
nodist_userunit_DATA = \
dist_systempreset_DATA = \
system-preset/90-systemd.preset
EXTRA_DIST += \
CLEANFILES += \
if HAVE_SYSV_COMPAT
nodist_systemunit_DATA += \
systemgenerator_PROGRAMS += \
systemd-sysv-generator \
systemd-rc-local-generator
endif
EXTRA_DIST += \
# automake is broken and can't handle files with a dash in front
units-install-hook:
units-uninstall-hook:
rm -f $(DESTDIR)/$(systemunitdir)/-.slice
INSTALL_DATA_HOOKS += units-install-hook
UNINSTALL_DATA_HOOKS += units-uninstall-hook
dist_doc_DATA = \
README \
NEWS \
DISTRO_PORTING \
@INTLTOOL_POLICY_RULE@
# ------------------------------------------------------------------------------
MANPAGES =
MANPAGES_ALIAS =
include Makefile-man.am
.PHONY: man update-man-list
man: $(MANPAGES) $(MANPAGES_ALIAS) $(HTML_FILES) $(HTML_ALIAS)
XML_FILES = \
${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
HTML_FILES = \
${XML_FILES:.xml=.html}
HTML_ALIAS = \
${patsubst %.1,%.html,${patsubst %.3,%.html,${patsubst %.5,%.html,${patsubst %.7,%.html,${patsubst %.8,%.html,$(MANPAGES_ALIAS)}}}}}
if ENABLE_MANPAGES
man_MANS = \
$(MANPAGES) \
$(MANPAGES_ALIAS)
noinst_DATA += \
$(HTML_FILES) \
$(HTML_ALIAS)
CLEANFILES += \
$(man_MANS) \
$(HTML_FILES) \
$(HTML_ALIAS)
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_LN)$(LN_S) -f ../../man $@
noinst_DATA += \
CLEANFILES += \
if HAVE_PYTHON
$(AM_V_LN)$(LN_S) -f systemd.index.html $@
noinst_DATA += \
CLEANFILES += \
XML_GLOB = $(wildcard $(top_srcdir)/man/*.xml $(top_builddir)/man/*.xml)
NON_INDEX_XML_FILES = $(filter-out man/systemd.index.xml,$(XML_FILES))
SOURCE_XML_FILES = $(filter-out man/systemd.directives.xml,$(NON_INDEX_XML_FILES))
update-man-list: $(top_srcdir)/tools/make-man-rules.py $(XML_GLOB)
$(AM_V_GEN)$(PYTHON) $^ > $(top_srcdir)/Makefile-man.tmp
$(AM_V_at)mv $(top_srcdir)/Makefile-man.tmp $(top_srcdir)/Makefile-man.am
@echo "Makefile-man.am has been regenerated"
man/systemd.index.xml: $(top_srcdir)/tools/make-man-index.py $(NON_INDEX_XML_FILES)
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^)
man/systemd.directives.xml: $(top_srcdir)/tools/make-directive-index.py $(SOURCE_XML_FILES)
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^)
EXTRA_DIST += \
CLEANFILES += \
endif
endif
EXTRA_DIST += \
$(XML_FILES) \
$(HTML_FILES) \
$(HTML_ALIAS) \
$(man_MANS) \
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd_shared_la_SOURCES = \
if HAVE_UTMP
libsystemd_shared_la_SOURCES += \
endif
nodist_libsystemd_shared_la_SOURCES = \
libsystemd_shared_la_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS) \
-pthread
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd_units_la_SOURCES = \
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd_label_la_SOURCES = \
libsystemd_label_la_CFLAGS = \
$(AM_CFLAGS) \
$(SELINUX_CFLAGS)
libsystemd_label_la_LIBADD = \
$(SELINUX_LIBS)
# -----------------------------------------------------------------------------
if ENABLE_LDCONFIG
dist_systemunit_DATA += \
SYSINIT_TARGET_WANTS += \
endif
# ------------------------------------------------------------------------------
if HAVE_SECCOMP
noinst_LTLIBRARIES += \
libsystemd_seccomp_la_SOURCES = \
libsystemd_seccomp_la_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
libsystemd_seccomp_la_LIBADD = \
$(SECCOMP_LIBS)
endif
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd_logs_la_SOURCES = \
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd_capability_la_SOURCES = \
libsystemd_capability_la_CFLAGS = \
$(AM_CFLAGS) \
$(CAP_CFLAGS)
libsystemd_capability_la_LIBADD = \
$(CAP_LIBS)
# ------------------------------------------------------------------------------
if HAVE_ACL
noinst_LTLIBRARIES += \
libsystemd_acl_la_SOURCES = \
libsystemd_acl_la_CFLAGS = \
$(AM_CFLAGS) \
$(ACL_CFLAGS)
libsystemd_acl_la_LIBADD = \
$(ACL_LIBS)
endif
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd_core_la_SOURCES = \
if HAVE_KMOD
libsystemd_core_la_SOURCES += \
endif
nodist_libsystemd_core_la_SOURCES = \
libsystemd_core_la_CFLAGS = \
$(AM_CFLAGS) \
$(PAM_CFLAGS) \
$(AUDIT_CFLAGS) \
$(CAP_CFLAGS) \
$(KMOD_CFLAGS) \
$(APPARMOR_CFLAGS) \
$(SECCOMP_CFLAGS) \
-pthread
libsystemd_core_la_LIBADD = \
$(PAM_LIBS) \
$(AUDIT_LIBS) \
$(CAP_LIBS) \
$(KMOD_LIBS) \
$(APPARMOR_LIBS) \
$(SECCOMP_LIBS)
if HAVE_SECCOMP
libsystemd_core_la_LIBADD += \
endif
$(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 += \
CLEANFILES += \
BUILT_SOURCES += \
$(AM_V_GEN)$(AWK) 'BEGIN{ print "struct $(notdir $*)_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@
$(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_$(notdir $*) -H hash_$(notdir $*)_name -p -C <$< >$@
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - </dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' >$@
$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/socket.h - </dev/null | grep -v AF_UNSPEC | grep -v AF_MAX | $(AWK) '/^#define[ \t]+AF_[^ \t]+[ \t]+PF_[^ \t]/ { print $$2; }' >$@
$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const af_names[] = { "} !/AF_FILE/ && !/AF_ROUTE/ && !/AF_LOCAL/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include net/if_arp.h - </dev/null | $(AWK) '/^#define[ \t]+ARPHRD_[^ \t]+[ \t]+[^ \t]/ { print $$2; }' | sed -e 's/ARPHRD_//' >$@
$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const arphrd_names[] = { "} !/CISCO/ { printf "[ARPHRD_%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
$(AM_V_GEN)$(AWK) 'BEGIN{ print "struct arphrd_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, ARPHRD_%s\n", $$1, $$1 }' <$< >$@
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(SED) -n -r 's/.* DNS_TYPE_(\w+).*/\1/p' <$< >$@
$(AM_V_GEN)$(AWK) 'BEGIN{ print "const char *dns_type_to_string(int type) {\n\tswitch(type) {" } {printf " case DNS_TYPE_%s: return ", $$1; sub(/_/, "-"); printf "\"%s\";\n", $$1 } END{ print "\ndefault: return NULL;\n\t}\n}\n" }' <$< >$@
$(AM_V_GEN)$(AWK) 'BEGIN{ print "struct dns_type_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { s=$$1; sub(/_/, "-", s); printf "%s, ", $$s; printf "DNS_TYPE_%s\n", $$1 }' <$< >$@
# ------------------------------------------------------------------------------
systemd_SOURCES = \
systemd_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
systemd_LDADD = \
$(RT_LIBS)
dist_pkgsysconf_DATA += \
dist_dbuspolicy_DATA += \
dist_dbussystemservice_DATA += \
polkitpolicy_in_in_files += \
pkgconfigdata_DATA = \
nodist_rpmmacros_DATA = \
EXTRA_DIST += \
CLEANFILES += \
# ------------------------------------------------------------------------------
manual_tests += \
test-ns \
test-loopback \
test-hostname \
test-daemon \
test-cgroup \
test-install \
test-watchdog \
test-log \
test-ipcrm
if HAVE_KMOD
manual_tests += \
test-rtnl-manual
endif
tests += \
test-engine \
test-cgroup-mask \
test-job-type \
test-env-replace \
test-strbuf \
test-strv \
test-path \
test-path-util \
test-strxcpyx \
test-unit-name \
test-unit-file \
test-utf8 \
test-ellipsize \
test-util \
test-ring \
test-barrier \
test-pty \
test-tmpfiles \
test-namespace \
test-date \
test-sleep \
test-replace-var \
test-sched-prio \
test-calendarspec \
test-strip-tab-ansi \
test-cgroup-util \
test-prioq \
test-fileio \
test-time \
test-hashmap \
test-set \
test-list \
test-unaligned \
test-tables \
test-device-nodes \
test-xml \
test-architecture \
test-socket-util \
test-fdset \
test-conf-files \
test-capability \
test-async \
test-ratelimit \
test-condition \
test-uid-range \
test-bus-policy \
test-locale-util \
test-copy
EXTRA_DIST += \
EXTRA_DIST += \
test_device_nodes_SOURCES = \
test_device_nodes_LDADD = \
test_engine_SOURCES = \
test_engine_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_engine_LDADD = \
$(RT_LIBS)
test_job_type_SOURCES = \
test_job_type_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_job_type_LDADD = \
$(RT_LIBS)
test_ns_SOURCES = \
test_ns_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_ns_LDADD = \
test_loopback_SOURCES = \
test_loopback_LDADD = \
test_hostname_SOURCES = \
test_hostname_LDADD = \
if ENABLE_EFI
manual_tests += \
test-boot-timestamp
test_boot_timestamp_SOURCES = \
test_boot_timestamp_LDADD = \
endif
test_unit_name_SOURCES = \
test_unit_name_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_unit_name_LDADD = \
$(RT_LIBS)
test_unit_file_SOURCES = \
test_unit_file_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_unit_file_LDADD = \
$(RT_LIBS)
test_utf8_SOURCES = \
test_utf8_LDADD = \
test_capability_SOURCES = \
test_capability_LDADD = \
test_async_SOURCES = \
test_async_LDADD = \
test_locale_util_SOURCES = \
test_locale_util_LDADD = \
test_copy_SOURCES = \
test_copy_LDADD = \
test_condition_SOURCES = \
test_condition_LDADD = \
test_fdset_SOURCES = \
test_fdset_LDADD = \
test_ratelimit_SOURCES = \
test_ratelimit_LDADD = \
test_util_SOURCES = \
test_util_LDADD = \
-lm \
test_uid_range_SOURCES = \
test_uid_range_LDADD = \
test_socket_util_SOURCES = \
test_socket_util_LDADD = \
test_ring_SOURCES = \
test_ring_LDADD = \
test_barrier_SOURCES = \
test_barrier_LDADD = \
test_pty_SOURCES = \
test_pty_LDADD = \
test_tmpfiles_SOURCES = \
test_tmpfiles_LDADD = \
test_namespace_SOURCES = \
test_namespace_LDADD = \
CLEANFILES += \
BUILT_SOURCES += \
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(AWK) 'BEGIN { print "/* GENERATED FILE */\n#define ORDERED" } \
{ if (!match($$0, "^#include")) \
gsub(/hashmap/, "ordered_hashmap"); \
gsub(/HASHMAP/, "ORDERED_HASHMAP"); \
gsub(/Hashmap/, "OrderedHashmap"); \
print }' <$< >$@
nodist_test_hashmap_SOURCES = \
test_hashmap_SOURCES = \
test_hashmap_LDADD = \
test_set_SOURCES = \
test_set_LDADD = \
test_xml_SOURCES = \
test_xml_LDADD = \
test_list_SOURCES = \
test_unaligned_LDADD = \
test_unaligned_SOURCES = \
test_list_LDADD = \
test_tables_SOURCES = \
test_tables_CPPFLAGS = \
$(AM_CPPFLAGS) \
-I$(top_srcdir)/src/bus-proxyd
test_tables_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_tables_LDADD = \
$(RT_LIBS)
test_prioq_SOURCES = \
test_prioq_LDADD = \
test_fileio_SOURCES = \
test_fileio_LDADD = \
test_time_SOURCES = \
test_time_LDADD = \
test_architecture_SOURCES = \
test_architecture_LDADD = \
test_log_SOURCES = \
test_log_LDADD = \
test_ipcrm_SOURCES = \
test_ipcrm_LDADD = \
-lrt
test_rtnl_manual_SOURCES = \
test_rtnl_manual_CFLAGS = \
$(AM_CFLAGS) \
$(KMOD_CFLAGS)
test_rtnl_manual_LDADD = \
$(KMOD_LIBS)
test_ellipsize_SOURCES = \
test_ellipsize_LDADD = \
test_date_SOURCES = \
test_date_LDADD = \
test_sleep_SOURCES = \
test_sleep_LDADD = \
test_replace_var_SOURCES = \
test_replace_var_LDADD = \
test_calendarspec_SOURCES = \
test_calendarspec_LDADD = \
test_strip_tab_ansi_SOURCES = \
test_strip_tab_ansi_LDADD = \
test_daemon_SOURCES = \
test_daemon_LDADD = \
test_cgroup_SOURCES = \
test_cgroup_LDADD = \
test_cgroup_mask_SOURCES = \
test_cgroup_mask_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DTEST_DIR=\"$(abs_top_srcdir)/test\"
test_cgroup_mask_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_cgroup_mask_LDADD = \
$(RT_LIBS)
test_cgroup_util_SOURCES = \
test_cgroup_util_LDADD = \
test_env_replace_SOURCES = \
test_env_replace_LDADD = \
test_strbuf_SOURCES = \
test_strbuf_LDADD = \
test_strv_SOURCES = \
test_strv_LDADD = \
test_path_util_SOURCES = \
test_path_util_LDADD = \
test_path_SOURCES = \
test_path_CFLAGS = \
$(AM_CFLAGS)
test_path_LDADD = \
test_strxcpyx_SOURCES = \
test_strxcpyx_LDADD = \
test_install_SOURCES = \
test_install_LDADD = \
test_watchdog_SOURCES = \
test_watchdog_LDADD = \
test_sched_prio_SOURCES = \
test_sched_prio_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DTEST_DIR=\"$(abs_top_srcdir)/test\"
test_sched_prio_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_sched_prio_LDADD = \
$(RT_LIBS)
test_conf_files_SOURCES = \
test_conf_files_LDADD = \
test_bus_policy_SOURCES = \
test_bus_policy_LDADD = \
# ------------------------------------------------------------------------------
## .PHONY so it always rebuilds it
.PHONY: coverage lcov-run lcov-report coverage-sync
# run lcov from scratch, always
coverage: all
$(MAKE) lcov-run
$(MAKE) lcov-report
coverage_dir = coverage
coverage_opts = --base-directory $(srcdir) --directory $(builddir) --rc 'geninfo_adjust_src_path=$(abspath $(srcdir))=>$(abspath $(builddir))'
if ENABLE_COVERAGE
# reset run coverage tests
lcov-run:
@rm -rf $(coverage_dir)
lcov $(coverage_opts) --zerocounters
-$(MAKE) check
# generate report based on current coverage data
lcov-report:
$(MKDIR_P) $(coverage_dir)
lcov $(coverage_opts) --compat-libtool --capture --no-external \
| sed 's|$(abspath $(builddir))|$(abspath $(srcdir))|' > $(coverage_dir)/.lcov.info
genhtml -t "systemd test coverage" -o $(coverage_dir) $(coverage_dir)/.lcov.info
@echo "Coverage report generated in $(abs_builddir)/$(coverage_dir)/index.html"
# lcov doesn't work properly with vpath builds, make sure that bad
# output is not uploaded by mistake.
coverage-sync: coverage
test "$(builddir)" = "$(srcdir)"
rsync -rlv --delete --omit-dir-times coverage/ $(www_target)/coverage
else
lcov-run lcov-report:
echo "Need to reconfigure with --enable-coverage"
endif
# ------------------------------------------------------------------------------
systemd_analyze_SOURCES = \
systemd_verify_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
systemd_analyze_LDADD = \
$(RT_LIBS)
# ------------------------------------------------------------------------------
systemd_initctl_SOURCES = \
systemd_initctl_LDADD = \
# ------------------------------------------------------------------------------
systemd_update_utmp_SOURCES = \
systemd_update_utmp_CFLAGS = \
$(AM_CFLAGS) \
$(AUDIT_CFLAGS)
systemd_update_utmp_LDADD = \
$(AUDIT_LIBS)
# ------------------------------------------------------------------------------
systemd_update_done_SOURCES = \
systemd_update_done_LDADD = \
# ------------------------------------------------------------------------------
systemd_shutdownd_SOURCES = \
systemd_shutdownd_LDADD = \
dist_doc_DATA += \
# ------------------------------------------------------------------------------
systemd_shutdown_SOURCES = \
systemd_shutdown_LDADD = \
# ------------------------------------------------------------------------------
if HAVE_KMOD
systemd_modules_load_SOURCES = \
systemd_modules_load_CFLAGS = \
$(AM_CFLAGS) \
$(KMOD_CFLAGS)
systemd_modules_load_LDADD = \
$(KMOD_LIBS)
rootlibexec_PROGRAMS += \
systemd-modules-load
nodist_systemunit_DATA += \
SYSINIT_TARGET_WANTS += \
if ENABLE_TMPFILES
nodist_systemunit_DATA += \
SYSINIT_TARGET_WANTS += \
endif
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_TMPFILES
systemd_tmpfiles_SOURCES = \
systemd_tmpfiles_LDADD = \
rootbin_PROGRAMS += \
systemd-tmpfiles
dist_systemunit_DATA += \
nodist_systemunit_DATA += \
nodist_tmpfiles_DATA = \
dist_tmpfiles_DATA = \
if HAVE_SYSV_COMPAT
dist_tmpfiles_DATA += \
endif
SYSINIT_TARGET_WANTS += \
dist_zshcompletion_DATA += \
shell-completion/zsh/_systemd-tmpfiles
TIMERS_TARGET_WANTS += \
INSTALL_DIRS += \
$(tmpfilesdir) \
$(sysconfdir)/tmpfiles.d
endif
EXTRA_DIST += \
CLEANFILES += \
# ------------------------------------------------------------------------------
if ENABLE_SYSUSERS
systemd_sysusers_SOURCES = \
systemd_sysusers_LDADD = \
rootbin_PROGRAMS += \
systemd-sysusers
nodist_systemunit_DATA += \
SYSINIT_TARGET_WANTS += \
dist_sysusers_DATA = \
nodist_sysusers_DATA = \
EXTRA_DIST += \
CLEANFILES += \
INSTALL_DIRS += \
$(sysusersdir)
endif
# ------------------------------------------------------------------------------
dist_factory_etc_DATA = \
if HAVE_PAM
dist_factory_pam_DATA = \
endif
# ------------------------------------------------------------------------------
if ENABLE_FIRSTBOOT
systemd_firstboot_SOURCES = \
systemd_firstboot_LDADD = \
-lcrypt
rootbin_PROGRAMS += \
systemd-firstboot
nodist_systemunit_DATA += \
EXTRA_DIST += \
SYSINIT_TARGET_WANTS += \
endif
# ------------------------------------------------------------------------------
systemd_machine_id_setup_SOURCES = \
systemd_machine_id_setup_LDADD = \
# ------------------------------------------------------------------------------
systemd_sysctl_SOURCES = \
systemd_sysctl_LDADD = \
# ------------------------------------------------------------------------------
systemd_sleep_SOURCES = \
systemd_sleep_LDADD = \
# ------------------------------------------------------------------------------
systemd_fsck_SOURCES = \
systemd_fsck_LDADD = \
# ------------------------------------------------------------------------------
systemd_ac_power_SOURCES = \
systemd_ac_power_LDADD = \
# ------------------------------------------------------------------------------
systemd_detect_virt_SOURCES = \
systemd_detect_virt_LDADD = \
INSTALL_EXEC_HOOKS += \
systemd-detect-virt-install-hook
# ------------------------------------------------------------------------------
systemd_delta_SOURCES = \
systemd_delta_LDADD = \
# ------------------------------------------------------------------------------
systemd_getty_generator_SOURCES = \
systemd_getty_generator_LDADD = \
# ------------------------------------------------------------------------------
systemd_debug_generator_SOURCES = \
systemd_debug_generator_LDADD = \
# ------------------------------------------------------------------------------
systemd_fstab_generator_SOURCES = \
systemd_fstab_generator_LDADD = \
# ------------------------------------------------------------------------------
systemd_system_update_generator_SOURCES = \
systemd_system_update_generator_LDADD = \
# ------------------------------------------------------------------------------
if ENABLE_HIBERNATE
systemgenerator_PROGRAMS += \
systemd-hibernate-resume-generator
rootlibexec_PROGRAMS += \
systemd-hibernate-resume
systemd_hibernate_resume_SOURCES = \
systemd_hibernate_resume_LDADD = \
systemd_hibernate_resume_generator_SOURCES = \
systemd_hibernate_resume_generator_LDADD = \
EXTRA_DIST += \
dist_systemunit_DATA += \
nodist_systemunit_DATA += \
units/systemd-hibernate-resume@.service \
endif
# ------------------------------------------------------------------------------
if ENABLE_EFI
systemgenerator_PROGRAMS += \
systemd-efi-boot-generator
systemd_efi_boot_generator_SOURCES = \
systemd_efi_boot_generator_LDADD = \
# ------------------------------------------------------------------------------
bootctl_SOURCES = \
bootctl_LDADD = \
bin_PROGRAMS += \
bootctl
dist_bashcompletion_DATA += \
dist_zshcompletion_DATA += \
shell-completion/zsh/_bootctl
endif
# ------------------------------------------------------------------------------
if HAVE_BLKID
systemgenerator_PROGRAMS += \
systemd-gpt-auto-generator
systemd_gpt_auto_generator_SOURCES = \
systemd_gpt_auto_generator_LDADD = \
$(BLKID_LIBS)
systemd_gpt_auto_generator_CFLAGS = \
$(AM_CFLAGS) \
$(BLKID_CFLAGS)
endif
# ------------------------------------------------------------------------------
if ENABLE_KDBUS
systemgenerator_PROGRAMS += \
systemd-dbus1-generator
systemd_dbus1_generator_SOURCES = \
systemd_dbus1_generator_LDADD = \
dbus1-generator-install-hook:
$(AM_V_at)$(MKDIR_P) $(DESTDIR)$(usergeneratordir)
$(AM_V_RM)rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
$(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(systemgeneratordir)/systemd-dbus1-generator $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
dbus1-generator-uninstall-hook:
rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
INSTALL_EXEC_HOOKS += dbus1-generator-install-hook
UNINSTALL_EXEC_HOOKS += dbus1-generator-uninstall-hook
endif
# ------------------------------------------------------------------------------
systemd_sysv_generator_SOURCES = \
systemd_sysv_generator_LDADD = \
# ------------------------------------------------------------------------------
systemd_rc_local_generator_SOURCES = \
systemd_rc_local_generator_LDADD = \
# ------------------------------------------------------------------------------
systemd_remount_fs_SOURCES = \
systemd_remount_fs_LDADD = \
# ------------------------------------------------------------------------------
systemd_cgroups_agent_SOURCES = \
systemd_cgroups_agent_LDADD = \
# ------------------------------------------------------------------------------
systemd_escape_SOURCES = \
systemd_escape_LDADD = \
# -----------------------------------------------------------------------------
systemctl_SOURCES = \
systemctl_LDADD = \
# ------------------------------------------------------------------------------
systemd_notify_SOURCES = \
systemd_notify_LDADD = \
# ------------------------------------------------------------------------------
systemd_path_SOURCES = \
systemd_path_LDADD = \
# ------------------------------------------------------------------------------
systemd_ask_password_SOURCES = \
systemd_ask_password_LDADD = \
# ------------------------------------------------------------------------------
systemd_reply_password_SOURCES = \
systemd_reply_password_LDADD = \
# ------------------------------------------------------------------------------
systemd_cgls_SOURCES = \
systemd_cgls_LDADD = \
# ------------------------------------------------------------------------------
systemd_cgtop_SOURCES = \
systemd_cgtop_LDADD = \
# ------------------------------------------------------------------------------
systemd_nspawn_SOURCES = \
systemd_nspawn_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS) \
$(BLKID_CFLAGS)
systemd_nspawn_LDADD = \
$(BLKID_LIBS)
if HAVE_SECCOMP
systemd_nspawn_LDADD += \
$(SECCOMP_LIBS)
endif
# ------------------------------------------------------------------------------
systemd_run_SOURCES = \
systemd_run_LDADD = \
# ------------------------------------------------------------------------------
systemd_bus_proxyd_SOURCES = \
systemd_bus_proxyd_LDADD = \
bus-proxyd-install-hook:
$(AM_V_at)$(MKDIR_P) $(DESTDIR)$(bindir)
$(AM_V_RM)rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge
$(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(rootlibexecdir)/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge
bus-proxyd-uninstall-hook:
rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge
INSTALL_EXEC_HOOKS += bus-proxyd-install-hook
UNINSTALL_EXEC_HOOKS += bus-proxyd-uninstall-hook
if ENABLE_KDBUS
nodist_systemunit_DATA += \
units/systemd-bus-proxyd@.service
dist_systemunit_DATA += \
nodist_userunit_DATA += \
units/user/systemd-bus-proxyd@.service
dist_userunit_DATA += \
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
systemd_tty_ask_password_agent_SOURCES = \
systemd_tty_ask_password_agent_LDADD = \
# ------------------------------------------------------------------------------
libsystemd_internal_la_SOURCES = \
nodist_libsystemd_internal_la_SOURCES = \
libsystemd_internal_la_CFLAGS = \
$(AM_CFLAGS) \
-pthread
libsystemd_internal_la_LIBADD = \
$(RT_LIBS)
libsystemd_resolve_la_SOURCES = \
libsystemd_resolve_la_CFLAGS = \
$(AM_CFLAGS) \
-pthread
libsystemd_resolve_la_LIBADD = \
-lresolv
noinst_LTLIBRARIES += \
libsystemd_dump_la_SOURCES = \
libsystemd_dump_la_CFLAGS = \
$(AM_CFLAGS) \
$(CAP_CFLAGS)
noinst_LTLIBRARIES += \
EXTRA_DIST += \
CLEANFILES += \
BUILT_SOURCES += \
libsystemd_la_SOURCES = \
$(libsystemd_internal_la_SOURCES) \
$(libsystemd_resolve_la_SOURCES) \
$(libsystemd_journal_internal_la_SOURCES)
nodist_libsystemd_la_SOURCES = \
$(nodist_libsystemd_internal_la_SOURCES)
libsystemd_la_CFLAGS = \
$(libsystemd_internal_la_CFLAGS) \
$(libsystemd_resolve_la_CFLAGS) \
$(libsystemd_journal_internal_la_CFLAGS)
libsystemd_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info $(LIBSYSTEMD_CURRENT):$(LIBSYSTEMD_REVISION):$(LIBSYSTEMD_AGE) \
-Wl,--version-script=$(top_builddir)/src/libsystemd/libsystemd.sym
libsystemd_la_LIBADD = \
$(libsystemd_internal_la_LIBADD) \
$(libsystemd_journal_internal_la_LIBADD) \
$(libsystemd_resolve_la_LIBADD)
libsystemd-install-hook:
libname=libsystemd.so && $(move-to-rootlibdir)
libsystemd-uninstall-hook:
rm -f $(DESTDIR)$(rootlibdir)/libsystemd.so*
INSTALL_EXEC_HOOKS += libsystemd-install-hook
UNINSTALL_EXEC_HOOKS += libsystemd-uninstall-hook
pkgconfiglib_DATA += \
pkginclude_HEADERS += \
if ENABLE_KDBUS
pkginclude_HEADERS += \
endif
lib_LTLIBRARIES += \
tests += \
test-bus-marshal \
test-bus-signature \
test-bus-chat \
test-bus-cleanup \
test-bus-server \
test-bus-match \
test-bus-kernel \
test-bus-kernel-bloom \
test-bus-kernel-benchmark \
test-bus-zero-copy \
test-bus-introspect \
test-bus-objects \
test-bus-error \
test-bus-creds \
test-bus-gvariant \
test-event \
test-rtnl \
test-resolve
bin_PROGRAMS += \
busctl
test_bus_marshal_SOURCES = \
test_bus_marshal_LDADD = \
$(GLIB_LIBS) \
$(DBUS_LIBS) \
$(CAP_LIBS)
test_bus_marshal_CFLAGS = \
$(AM_CFLAGS) \
$(GLIB_CFLAGS) \
$(DBUS_CFLAGS) \
$(CAP_CFLAGS)
test_bus_signature_SOURCES = \
test_bus_signature_LDADD = \
test_bus_chat_SOURCES = \
test_bus_chat_CFLAGS = \
$(AM_CFLAGS) \
-pthread
test_bus_chat_LDADD = \
test_bus_cleanup_SOURCES = \
test_bus_cleanup_CFLAGS = \
$(AM_CFLAGS) \
$(SECCOMP_CFLAGS)
test_bus_cleanup_LDADD = \
test_bus_server_SOURCES = \
test_bus_server_CFLAGS = \
$(AM_CFLAGS) \
-pthread
test_bus_server_LDADD = \
test_bus_objects_SOURCES = \
test_bus_objects_CFLAGS = \
$(AM_CFLAGS) \
$(CAP_CFLAGS) \
-pthread
test_bus_objects_LDADD = \
$(CAP_LIBS)
test_bus_error_SOURCES = \
test_bus_error_LDADD = \
test_bus_gvariant_SOURCES = \
test_bus_gvariant_LDADD = \
$(GLIB_LIBS) \
$(CAP_LIBS)
test_bus_gvariant_CFLAGS = \
$(AM_CFLAGS) \
$(GLIB_CFLAGS)
$(CAP_CFLAGS)
test_bus_creds_SOURCES = \
test_bus_creds_LDADD = \
test_bus_match_SOURCES = \
test_bus_match_LDADD = \
test_bus_kernel_SOURCES = \
test_bus_kernel_LDADD = \
$(CAP_LIBS)
test_bus_kernel_CFLAGS = \
$(AM_CFLAGS) \
$(CAP_CFLAGS)
test_bus_kernel_bloom_SOURCES = \
test_bus_kernel_bloom_LDADD = \
test_bus_kernel_benchmark_SOURCES = \
test_bus_kernel_benchmark_LDADD = \
test_bus_zero_copy_SOURCES = \
test_bus_zero_copy_LDADD = \
$(CAP_LIBS)
test_bus_zero_copy_CFLAGS = \
$(AM_CFLAGS) \
$(CAP_CFLAGS)
test_bus_introspect_SOURCES = \
test_bus_introspect_LDADD = \
test_event_SOURCES = \
test_event_LDADD = \
test_rtnl_SOURCES = \
test_rtnl_LDADD = \
test_resolve_SOURCES = \
test_resolve_LDADD = \
test_resolve_CFLAGS = \
$(AM_CFLAGS) \
-pthread
busctl_SOURCES = \
busctl_LDADD = \
$(CAP_LIBS)
busctl_CFLAGS = \
$(AM_CFLAGS) \
$(CAP_CFLAGS)
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd_network_la_CFLAGS = \
$(AM_CFLAGS) \
$(KMOD_CFLAGS)
libsystemd_network_la_SOURCES = \
libsystemd_network_la_LIBADD = \
$(KMOD_LIBS)
test_dhcp_option_SOURCES = \
test_dhcp_option_LDADD = \
test_dhcp_client_SOURCES = \
test_dhcp_client_LDADD = \
test_dhcp_server_SOURCES = \
test_dhcp_server_LDADD = \
test_ipv4ll_SOURCES = \
test_ipv4ll_LDADD = \
test_pppoe_SOURCES = \
test_pppoe_LDADD = \
test_icmp6_rs_SOURCES = \
test_icmp6_rs_LDADD = \
test_dhcp6_client_SOURCES = \
test_dhcp6_client_LDADD = \
tests += \
test-dhcp-option \
test-dhcp-client \
test-dhcp-server \
test-ipv4ll \
test-icmp6-rs \
test-dhcp6-client
manual_tests += \
test-pppoe
# ------------------------------------------------------------------------------
if ENABLE_TERMINAL
noinst_LTLIBRARIES += \
rootlibexec_PROGRAMS += \
systemd-consoled
noinst_PROGRAMS += \
systemd-evcat \
systemd-modeset \
systemd-subterm
dist_pkgdata_DATA += \
nodist_userunit_DATA += \
USER_DEFAULT_TARGET_WANTS += \
EXTRA_DIST += \
tests += \
test-term-page \
test-term-parser \
test-unifont
endif
libsystemd_terminal_la_CFLAGS = \
$(AM_CFLAGS) \
$(TERMINAL_CFLAGS)
libsystemd_terminal_la_SOURCES = \
libsystemd_terminal_la_LIBADD = \
$(TERMINAL_LIBS)
systemd_consoled_CFLAGS = \
$(AM_CFLAGS) \
$(TERMINAL_CFLAGS)
systemd_consoled_SOURCES = \
systemd_consoled_LDADD = \
$(TERMINAL_LIBS)
systemd_evcat_CFLAGS = \
$(AM_CFLAGS) \
$(TERMINAL_CFLAGS)
systemd_evcat_SOURCES = \
systemd_evcat_LDADD = \
$(TERMINAL_LIBS)
systemd_modeset_CFLAGS = \
$(AM_CFLAGS) \
$(TERMINAL_CFLAGS)
systemd_modeset_SOURCES = \
systemd_modeset_LDADD = \
$(TERMINAL_LIBS)
systemd_subterm_SOURCES = \
systemd_subterm_LDADD = \
test_term_page_SOURCES = \
test_term_page_LDADD = \
test_term_parser_SOURCES = \
test_term_parser_LDADD = \
test_unifont_SOURCES = \
test_unifont_LDADD = \
.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"
# ------------------------------------------------------------------------------
if ENABLE_GTK_DOC
SUBDIRS += \
noinst_DATA += \
endif
include_HEADERS += \
lib_LTLIBRARIES += \
libudev_la_SOURCES =\
libudev_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=hidden
libudev_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
-Wl,--version-script=$(top_srcdir)/src/libudev/libudev.sym
libudev_la_LIBADD = \
pkgconfiglib_DATA += \
EXTRA_DIST += \
CLEANFILES += \
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_LN)$(LN_S) -f ../libudev/html $@
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_LN)$(LN_S) -f ../gudev/html $@
# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
libudev-install-hook:
libname=libudev.so && $(move-to-rootlibdir)
libudev-uninstall-hook:
rm -f $(DESTDIR)$(rootlibdir)/libudev.so*
INSTALL_EXEC_HOOKS += libudev-install-hook
UNINSTALL_EXEC_HOOKS += libudev-uninstall-hook
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libudev_internal_la_SOURCES =\
$(libudev_la_SOURCES) \
libudev_internal_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=default
# ------------------------------------------------------------------------------
INSTALL_DIRS += \
$(sysconfdir)/udev/rules.d \
$(sysconfdir)/udev/hwdb.d
dist_network_DATA = \
network/99-default.link \
network/80-container-host0.network \
network/80-container-ve.network
dist_udevrules_DATA += \
rules/42-usb-hid-pm.rules \
rules/50-udev-default.rules \
rules/60-drm.rules \
rules/60-keyboard.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/64-btrfs.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
nodist_udevrules_DATA += \
rules/99-systemd.rules
dist_udevhwdb_DATA = \
hwdb/20-pci-vendor-model.hwdb \
hwdb/20-pci-classes.hwdb \
hwdb/20-usb-vendor-model.hwdb \
hwdb/20-usb-classes.hwdb \
hwdb/20-sdio-vendor-model.hwdb \
hwdb/20-sdio-classes.hwdb \
hwdb/20-acpi-vendor.hwdb \
hwdb/20-OUI.hwdb \
hwdb/20-net-ifname.hwdb \
hwdb/60-keyboard.hwdb
udevconfdir = $(sysconfdir)/udev
dist_udevconf_DATA = \
sharepkgconfigdir = $(datadir)/pkgconfig
sharepkgconfig_DATA = \
EXTRA_DIST += \
rules/99-systemd.rules.in \
CLEANFILES += \
rules/99-systemd.rules \
EXTRA_DIST += \
CLEANFILES += \
SOCKETS_TARGET_WANTS += \
SYSINIT_TARGET_WANTS += \
rootbin_PROGRAMS += \
udevadm
rootlibexec_PROGRAMS += \
systemd-udevd
noinst_LTLIBRARIES += \
$(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/' > $@
$(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@
$(AM_V_GPERF)$(GPERF) -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C < $< > $@
$(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
libudev_core_la_SOURCES = \
nodist_libudev_core_la_SOURCES = \
BUILT_SOURCES += \
$(nodist_libudev_core_la_SOURCES)
CLEANFILES += \
EXTRA_DIST += \
libudev_core_la_CFLAGS = \
$(AM_CFLAGS) \
$(BLKID_CFLAGS) \
$(KMOD_CFLAGS)
libudev_core_la_LIBADD = \
$(BLKID_LIBS) \
$(KMOD_LIBS)
if HAVE_KMOD
libudev_core_la_SOURCES += \
dist_udevrules_DATA += \
rules/80-drivers.rules
endif
if HAVE_BLKID
libudev_core_la_SOURCES += \
endif
if HAVE_ACL
libudev_core_la_SOURCES += \
libudev_core_la_LIBADD += \
endif
systemd_udevd_SOURCES = \
systemd_udevd_LDADD = \
udevadm_SOURCES = \
udevadm_LDADD = \
# Update hwdb on installation. Do not bother if installing
# in DESTDIR, since this is likely for packaging purposes.
hwdb-update-hook:
-test -n "$(DESTDIR)" || $(rootbindir)/udevadm hwdb --update
INSTALL_DATA_HOOKS += \
hwdb-update-hook
hwdb-remove-hook:
-test -n "$(DESTDIR)" || rm -f /etc/udev/hwdb.bin
# ------------------------------------------------------------------------------
TESTS += \
manual_tests += \
test-libudev \
test-udev
test_libudev_SOURCES = \
test_libudev_LDADD = \
test_udev_SOURCES = \
test_udev_LDADD = \
$(BLKID_LIBS) \
$(KMOD_LIBS) \
$(SELINUX_LIBS)
if HAVE_ACL
test_udev_LDADD += \
endif
check_DATA += \
# packed sysfs test tree
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)tar -C test/ -xJf $(top_srcdir)/test/sys.tar.xz
test-sys-distclean:
-rm -rf test/sys
DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
EXTRA_DIST += \
# ------------------------------------------------------------------------------
ata_id_SOURCES = \
ata_id_LDADD = \
udevlibexec_PROGRAMS += \
ata_id
# ------------------------------------------------------------------------------
cdrom_id_SOURCES = \
cdrom_id_LDADD = \
udevlibexec_PROGRAMS += \
cdrom_id
dist_udevrules_DATA += \
rules/60-cdrom_id.rules
# ------------------------------------------------------------------------------
collect_SOURCES = \
collect_LDADD = \
udevlibexec_PROGRAMS += \
collect
# ------------------------------------------------------------------------------
scsi_id_SOURCES =\
scsi_id_LDADD = \
udevlibexec_PROGRAMS += \
scsi_id
EXTRA_DIST += \
# ------------------------------------------------------------------------------
v4l_id_SOURCES = \
v4l_id_LDADD = \
udevlibexec_PROGRAMS += \
v4l_id
dist_udevrules_DATA += \
rules/60-persistent-v4l.rules
# ------------------------------------------------------------------------------
accelerometer_SOURCES = \
accelerometer_LDADD = \
libudev-internal.la -lm \
udevlibexec_PROGRAMS += \
accelerometer
dist_udevrules_DATA += \
rules/61-accelerometer.rules
# ------------------------------------------------------------------------------
if ENABLE_GUDEV
if ENABLE_GTK_DOC
SUBDIRS += \
endif
libgudev_includedir = \
$(includedir)/gudev-1.0/gudev
libgudev_include_HEADERS = \
lib_LTLIBRARIES += libgudev-1.0.la
pkgconfiglib_DATA += \
CLEANFILES += \
libgudev_1_0_la_SOURCES = \
nodist_libgudev_1_0_la_SOURCES = \
BUILT_SOURCES += \
$(nodist_libgudev_1_0_la_SOURCES)
libgudev_1_0_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
-I$(top_builddir)/src\
-I$(top_srcdir)/src\
-I$(top_builddir)/src/gudev \
-I$(top_srcdir)/src/gudev \
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
-D_GUDEV_COMPILATION \
-DG_LOG_DOMAIN=\"GUdev\"
libgudev_1_0_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=default \
$(GLIB_CFLAGS)
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 \
-Wl,--version-script=$(top_srcdir)/src/gudev/libgudev-1.0.sym
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)echo '#include "gudevmarshal.h"' > $@ && \
glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)glib-mkenums --template $^ > $@
if HAVE_INTROSPECTION
-include $(INTROSPECTION_MAKEFILE)
src_gudev_GUdev_1_0_gir_INCLUDES = GObject-2.0
src_gudev_GUdev_1_0_gir_CFLAGS = \
$(AM_CFLAGS) \
$(INCLUDES) \
-D_GUDEV_COMPILATION \
-D_GUDEV_WORK_AROUND_DEV_T_BUG \
-I$(top_srcdir)/src \
-I$(top_builddir)/src \
-I$(top_srcdir)/src/gudev \
-I$(top_builddir)/src/gudev
src_gudev_GUdev_1_0_gir_LIBS = libgudev-1.0.la
src_gudev_GUdev_1_0_gir_SCANNERFLAGS = \
--pkg-export=gudev-1.0 \
--warn-all
src_gudev_GUdev_1_0_gir_FILES = \
INTROSPECTION_GIRS = src/gudev/GUdev-1.0.gir
INTROSPECTION_SCANNER_ARGS = --c-include=gudev/gudev.h
girdir = $(datadir)/gir-1.0
gir_DATA = \
typelibsdir = $(libdir)/girepository-1.0
typelibs_DATA = \
CLEANFILES += $(gir_DATA) $(typelibs_DATA)
endif # HAVE_INTROSPECTION
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
mtd_probe_SOURCES = \
dist_udevrules_DATA += \
rules/75-probe_mtd.rules
udevlibexec_PROGRAMS += \
mtd_probe
# ------------------------------------------------------------------------------
test_id128_SOURCES = \
test_id128_LDADD = \
tests += \
test-id128
# ------------------------------------------------------------------------------
rootlibexec_PROGRAMS += \
systemd-activate
systemd_activate_SOURCES = \
systemd_activate_LDADD = \
# ------------------------------------------------------------------------------
systemd_journald_SOURCES = \
systemd_journald_LDADD = \
systemd_cat_SOURCES = \
systemd_cat_LDADD = \
if HAVE_MICROHTTPD
rootlibexec_PROGRAMS += \
systemd-journal-remote
systemd_journal_remote_SOURCES = \
systemd_journal_remote_LDADD = \
systemd_journal_remote_SOURCES += \
systemd_journal_remote_CFLAGS = \
$(AM_CFLAGS) \
$(MICROHTTPD_CFLAGS)
systemd_journal_remote_LDADD += \
$(MICROHTTPD_LIBS)
if HAVE_GNUTLS
systemd_journal_remote_LDADD += \
$(GNUTLS_LIBS)
# systemd-journal-remote make sense mostly with full crypto stack
dist_systemunit_DATA += \
nodist_systemunit_DATA += \
EXTRA_DIST += \
journal-remote-install-hook: journal-install-hook
-$(MKDIR_P) $(DESTDIR)/var/log/journal/remote
-chown 0:0 $(DESTDIR)/var/log/journal/remote
-chmod 755 $(DESTDIR)/var/log/journal/remote
INSTALL_EXEC_HOOKS += journal-remote-install-hook
endif
nodist_pkgsysconf_DATA += \
EXTRA_DIST += \
CLEANFILES += \
endif
if HAVE_LIBCURL
rootlibexec_PROGRAMS += \
systemd-journal-upload
systemd_journal_upload_SOURCES = \
systemd_journal_upload_CFLAGS = \
$(AM_CFLAGS) \
$(LIBCURL_CFLAGS)
systemd_journal_upload_LDADD = \
$(LIBCURL_LIBS)
nodist_systemunit_DATA += \
EXTRA_DIST += \
nodist_pkgsysconf_DATA += \
EXTRA_DIST += \
CLEANFILES += \
endif
# using _CFLAGS = in the conditional below would suppress AM_CFLAGS
journalctl_CFLAGS = \
$(AM_CFLAGS)
journalctl_SOURCES = \
journalctl_LDADD = \
if HAVE_ACL
journalctl_LDADD += \
endif
if HAVE_QRENCODE
journalctl_SOURCES += \
journalctl_CFLAGS += \
$(QRENCODE_CFLAGS)
journalctl_LDADD += \
$(QRENCODE_LIBS)
endif
test_journal_SOURCES = \
test_journal_LDADD = \
test_journal_send_SOURCES = \
test_journal_send_LDADD = \
test_journal_syslog_SOURCES = \
test_journal_syslog_LDADD = \
test_journal_match_SOURCES = \
test_journal_match_LDADD = \
test_journal_enum_SOURCES = \
test_journal_enum_LDADD = \
test_journal_stream_SOURCES = \
test_journal_stream_LDADD = \
test_journal_flush_SOURCES = \
test_journal_flush_LDADD = \
test_journal_init_SOURCES = \
test_journal_init_LDADD = \
test_journal_verify_SOURCES = \
test_journal_verify_LDADD = \
test_journal_interleaving_SOURCES = \
test_journal_interleaving_LDADD = \
test_mmap_cache_SOURCES = \
test_mmap_cache_LDADD = \
test_catalog_SOURCES = \
test_catalog_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DCATALOG_DIR=\"$(abs_top_srcdir)/catalog\"
test_catalog_LDADD = \
test_compress_SOURCES = \
test_compress_LDADD = \
test_compress_benchmark_SOURCES = \
test_compress_benchmark_LDADD = \
libsystemd_journal_core_la_SOURCES = \
nodist_libsystemd_journal_core_la_SOURCES = \
libsystemd_journal_core_la_LIBADD = \
if HAVE_ACL
libsystemd_journal_core_la_LIBADD += \
endif
noinst_LTLIBRARIES += \
journal-install-hook:
-$(MKDIR_P) $(DESTDIR)/var/log/journal
-chown 0:0 $(DESTDIR)/var/log/journal
-chmod 755 $(DESTDIR)/var/log/journal
-setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
-setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
journal-uninstall-hook:
-rmdir $(DESTDIR)/var/log/journal/remote
-rmdir $(DESTDIR)/var/log/journal/
INSTALL_EXEC_HOOKS += journal-install-hook
UNINSTALL_EXEC_HOOKS += journal-uninstall-hook
# ------------------------------------------------------------------------------
# Update catalog on installation. Do not bother if installing
# in DESTDIR, since this is likely for packaging purposes.
catalog-update-hook:
-test -n "$(DESTDIR)" || $(rootbindir)/journalctl --update-catalog
INSTALL_DATA_HOOKS += \
catalog-update-hook
catalog-remove-hook:
-test -n "$(DESTDIR)" || rm -f $(catalogstatedir)/database
UNINSTALL_DATA_HOOKS += \
catalog-remove-hook
manual_tests += \
test-journal-enum
tests += \
test-journal \
test-journal-send \
test-journal-syslog \
test-journal-match \
test-journal-stream \
test-journal-init \
test-journal-verify \
test-journal-interleaving \
test-journal-flush \
test-mmap-cache \
test-catalog
if HAVE_COMPRESSION
tests += \
test-compress \
test-compress-benchmark
endif
pkginclude_HEADERS += \
libsystemd_journal_internal_la_SOURCES = \
# using _CFLAGS = in the conditional below would suppress AM_CFLAGS
libsystemd_journal_internal_la_CFLAGS = \
$(AM_CFLAGS)
libsystemd_journal_internal_la_LIBADD =
libsystemd_journal_internal_la_SOURCES += \
if HAVE_XZ
libsystemd_journal_internal_la_CFLAGS += \
$(XZ_CFLAGS)
libsystemd_journal_internal_la_LIBADD += \
$(XZ_LIBS)
endif
if HAVE_LZ4
libsystemd_journal_internal_la_LIBADD += \
-llz4
endif
if HAVE_GCRYPT
libsystemd_journal_internal_la_SOURCES += \
libsystemd_journal_internal_la_LIBADD += \
$(GCRYPT_LIBS)
# fsprg.c is a drop-in file using void pointer arithmetic
libsystemd_journal_internal_la_CFLAGS += \
$(GCRYPT_CFLAGS) \
-Wno-pointer-arith
endif
noinst_LTLIBRARIES += \
rootlibexec_PROGRAMS += \
systemd-journald
rootbin_PROGRAMS += \
journalctl
bin_PROGRAMS += \
systemd-cat
dist_systemunit_DATA += \
nodist_systemunit_DATA += \
dist_pkgsysconf_DATA += \
dist_catalog_DATA = \
SOCKETS_TARGET_WANTS += \
SYSINIT_TARGET_WANTS += \
EXTRA_DIST += \
CLEANFILES += \
# ------------------------------------------------------------------------------
if HAVE_MICROHTTPD
gatewayddocumentrootdir=$(pkgdatadir)/gatewayd
rootlibexec_PROGRAMS += \
systemd-journal-gatewayd
systemd_journal_gatewayd_SOURCES = \
systemd_journal_gatewayd_LDADD = \
$(MICROHTTPD_LIBS)
if HAVE_GNUTLS
systemd_journal_gatewayd_LDADD += \
$(GNUTLS_LIBS)
endif
systemd_journal_gatewayd_CFLAGS = \
$(AM_CFLAGS) \
$(MICROHTTPD_CFLAGS)
systemd_journal_gatewayd_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DDOCUMENT_ROOT=\"$(gatewayddocumentrootdir)\"
dist_systemunit_DATA += \
nodist_systemunit_DATA += \
dist_gatewayddocumentroot_DATA = \
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
systemd_socket_proxyd_SOURCES = \
systemd_socket_proxyd_LDADD = \
# ------------------------------------------------------------------------------
if ENABLE_COREDUMP
systemd_coredump_SOURCES = \
systemd_coredump_LDADD = \
if HAVE_ELFUTILS
systemd_coredump_SOURCES += \
systemd_coredump_LDADD += \
$(ELFUTILS_LIBS)
endif
rootlibexec_PROGRAMS += \
systemd-coredump
dist_pkgsysconf_DATA += \
if HAVE_ACL
systemd_coredump_LDADD += \
endif
coredumpctl_SOURCES = \
coredumpctl_LDADD = \
bin_PROGRAMS += \
coredumpctl
manual_tests += \
test-coredump-vacuum
test_coredump_vacuum_SOURCES = \
test_coredump_vacuum_LDADD = \
dist_bashcompletion_DATA += \
dist_zshcompletion_DATA += \
shell-completion/zsh/_coredumpctl
sysctl_DATA = \
CLEANFILES += \
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_BINFMT
systemd_binfmt_SOURCES = \
systemd_binfmt_LDADD = \
rootlibexec_PROGRAMS += \
systemd-binfmt
dist_systemunit_DATA += \
nodist_systemunit_DATA += \
INSTALL_DIRS += \
$(prefix)/lib/binfmt.d \
$(sysconfdir)/binfmt.d
SYSINIT_TARGET_WANTS += \
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_VCONSOLE
systemd_vconsole_setup_SOURCES = \
systemd_vconsole_setup_LDADD = \
rootlibexec_PROGRAMS += \
systemd-vconsole-setup
nodist_systemunit_DATA += \
dist_udevrules_DATA += \
SYSINIT_TARGET_WANTS += \
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_BOOTCHART
systemd_bootchart_SOURCES = \
systemd_bootchart_LDADD = \
rootlibexec_PROGRAMS += \
systemd-bootchart
dist_pkgsysconf_DATA += \
endif
# ------------------------------------------------------------------------------
if ENABLE_QUOTACHECK
rootlibexec_PROGRAMS += \
systemd-quotacheck
nodist_systemunit_DATA += \
systemd_quotacheck_SOURCES = \
systemd_quotacheck_LDADD = \
endif
EXTRA_DIST += \
nodist_systemunit_DATA += \
# ------------------------------------------------------------------------------
if ENABLE_RANDOMSEED
rootlibexec_PROGRAMS += \
systemd-random-seed
nodist_systemunit_DATA += \
systemd_random_seed_SOURCES = \
systemd_random_seed_LDADD = \
SYSINIT_TARGET_WANTS += \
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_BACKLIGHT
rootlibexec_PROGRAMS += \
systemd-backlight
nodist_systemunit_DATA += \
units/systemd-backlight@.service
systemd_backlight_SOURCES = \
systemd_backlight_LDADD = \
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_RFKILL
rootlibexec_PROGRAMS += \
systemd-rfkill
nodist_systemunit_DATA += \
units/systemd-rfkill@.service
systemd_rfkill_SOURCES = \
systemd_rfkill_LDADD = \
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if HAVE_LIBCRYPTSETUP
rootlibexec_PROGRAMS += \
systemd-cryptsetup
systemgenerator_PROGRAMS += \
systemd-cryptsetup-generator
dist_systemunit_DATA += \
systemd_cryptsetup_SOURCES = \
systemd_cryptsetup_CFLAGS = \
$(AM_CFLAGS) \
$(LIBCRYPTSETUP_CFLAGS)
systemd_cryptsetup_LDADD = \
$(LIBCRYPTSETUP_LIBS)
systemd_cryptsetup_generator_SOURCES = \
systemd_cryptsetup_generator_LDADD = \
SYSINIT_TARGET_WANTS += \
endif
# ------------------------------------------------------------------------------
if ENABLE_HOSTNAMED
systemd_hostnamed_SOURCES = \
systemd_hostnamed_LDADD = \
rootlibexec_PROGRAMS += \
systemd-hostnamed
nodist_systemunit_DATA += \
dist_systemunit_DATA_busnames += \
dist_dbuspolicy_DATA += \
dist_dbussystemservice_DATA += \
polkitpolicy_files += \
SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
hostnamectl_SOURCES = \
hostnamectl_LDADD = \
bin_PROGRAMS += \
hostnamectl
dist_bashcompletion_DATA += \
dist_zshcompletion_DATA += \
shell-completion/zsh/_hostnamectl
endif
polkitpolicy_in_files += \
EXTRA_DIST += \
# ------------------------------------------------------------------------------
dist_systemunit_DATA_busnames += \
BUSNAMES_TARGET_WANTS += \
# ------------------------------------------------------------------------------
if ENABLE_LOCALED
systemd_localed_SOURCES = \
systemd_localed_LDADD = \
nodist_systemunit_DATA += \
dist_systemunit_DATA_busnames += \
rootlibexec_PROGRAMS += \
systemd-localed
dist_dbuspolicy_DATA += \
dist_dbussystemservice_DATA += \
polkitpolicy_files += \
SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
dist_pkgdata_DATA += \
dist_noinst_SCRIPT = \
localectl_SOURCES = \
localectl_LDADD = \
bin_PROGRAMS += \
localectl
dist_bashcompletion_DATA += \
dist_zshcompletion_DATA += \
shell-completion/zsh/_localectl
endif
.PHONY: update-kbd-model-map
polkitpolicy_in_files += \
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_TIMEDATED
systemd_timedated_SOURCES = \
systemd_timedated_LDADD = \
rootlibexec_PROGRAMS += \
systemd-timedated
dist_dbussystemservice_DATA += \
dist_dbuspolicy_DATA += \
nodist_systemunit_DATA += \
dist_systemunit_DATA_busnames += \
polkitpolicy_files += \
SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
timedatectl_SOURCES = \
timedatectl_LDADD = \
bin_PROGRAMS += \
timedatectl
dist_bashcompletion_DATA += \
dist_zshcompletion_DATA += \
shell-completion/zsh/_timedatectl
endif
polkitpolicy_in_files += \
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_TIMESYNCD
systemd_timesyncd_SOURCES = \
nodist_systemd_timesyncd_SOURCES = \
EXTRA_DIST += \
CLEANFILES += \
systemd_timesyncd_LDADD = \
-lm
rootlibexec_PROGRAMS += \
systemd-timesyncd
nodist_systemunit_DATA += \
GENERAL_ALIASES += \
$(systemunitdir)/systemd-timesyncd.service $(pkgsysconfdir)/system/sysinit.target.wants/systemd-timesyncd.service
EXTRA_DIST += \
nodist_pkgsysconf_DATA += \
EXTRA_DIST += \
CLEANFILES += \
endif
# ------------------------------------------------------------------------------
if HAVE_MYHOSTNAME
libnss_myhostname_la_SOURCES = \
libnss_myhostname_la_LDFLAGS = \
$(AM_LDFLAGS) \
-module \
-export-dynamic \
-avoid-version \
-shared \
-shrext .so.2 \
-Wl,--version-script=$(top_srcdir)/src/nss-myhostname/nss-myhostname.sym
libnss_myhostname_la_LIBADD = \
lib_LTLIBRARIES += \
endif
# ------------------------------------------------------------------------------
if ENABLE_MACHINED
systemd_machined_SOURCES = \
systemd_machined_LDADD = \
rootlibexec_PROGRAMS += \
systemd-machined
libsystemd_machine_core_la_SOURCES = \
libsystemd_machine_core_la_LIBADD = \
noinst_LTLIBRARIES += \
machinectl_SOURCES = \
machinectl_LDADD = \
rootbin_PROGRAMS += \
machinectl
dist_bashcompletion_DATA += \
test_machine_tables_SOURCES = \
test_machine_tables_LDADD = \
tests += \
test-machine-tables
nodist_systemunit_DATA += \
dist_systemunit_DATA += \
dist_systemunit_DATA_busnames += \
dist_dbussystemservice_DATA += \
dist_dbuspolicy_DATA += \
dist_zshcompletion_DATA += \
shell-completion/zsh/_machinectl \
shell-completion/zsh/_sd_machines
SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
EXTRA_DIST += \
libnss_mymachines_la_SOURCES = \
libnss_mymachines_la_LDFLAGS = \
$(AM_LDFLAGS) \
-module \
-export-dynamic \
-avoid-version \
-shared \
-shrext .so.2 \
-Wl,--version-script=$(top_srcdir)/src/nss-mymachines/nss-mymachines.sym
libnss_mymachines_la_LIBADD = \
lib_LTLIBRARIES += \
endif
# ------------------------------------------------------------------------------
if ENABLE_RESOLVED
systemd_resolved_SOURCES = \
nodist_systemd_resolved_SOURCES = \
EXTRA_DIST += \
CLEANFILES += \
systemd_resolved_LDADD = \
-lm \
$(LIBIDN_LIBS)
rootlibexec_PROGRAMS += \
systemd-resolved
nodist_systemunit_DATA += \
dist_systemunit_DATA_busnames += \
dist_dbuspolicy_DATA += \
dist_dbussystemservice_DATA += \
EXTRA_DIST += \
SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
GENERAL_ALIASES += \
$(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-resolved.service
nodist_pkgsysconf_DATA += \
EXTRA_DIST += \
CLEANFILES += \
tests += \
test-dns-domain
test_dns_domain_SOURCES = \
test_dns_domain_LDADD = \
$(LIBIDN_LIBS)
libnss_resolve_la_SOURCES = \
libnss_resolve_la_LDFLAGS = \
$(AM_LDFLAGS) \
-module \
-export-dynamic \
-avoid-version \
-shared \
-shrext .so.2 \
-Wl,--version-script=$(top_srcdir)/src/nss-resolve/nss-resolve.sym
libnss_resolve_la_LIBADD = \
lib_LTLIBRARIES += \
systemd_resolve_host_SOURCES = \
systemd_resolve_host_LDADD = \
-lm \
$(LIBIDN_LIBS)
rootlibexec_PROGRAMS += \
systemd-resolve-host
endif
# ------------------------------------------------------------------------------
if ENABLE_NETWORKD
rootlibexec_PROGRAMS += \
systemd-networkd
systemd_networkd_SOURCES = \
systemd_networkd_LDADD = \
noinst_LTLIBRARIES += \
libsystemd_networkd_core_la_CFLAGS = \
$(AM_CFLAGS)
libsystemd_networkd_core_la_SOURCES = \
nodist_libsystemd_networkd_core_la_SOURCES = \
libsystemd_networkd_core_la_LIBADD = \
rootlibexec_PROGRAMS += \
systemd-networkd-wait-online
systemd_networkd_wait_online_CFLAGS = \
$(AM_CFLAGS)
systemd_networkd_wait_online_SOURCES = \
systemd_networkd_wait_online_LDADD = \
rootbin_PROGRAMS += \
networkctl
networkctl_SOURCES = \
networkctl_LDADD = \
test_network_SOURCES = \
test_network_LDADD = \
test_network_tables_SOURCES = \
test_network_tables_LDADD = \
tests += \
test-network \
test-network-tables
nodist_systemunit_DATA += \
GENERAL_ALIASES += \
$(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 += \
CLEANFILES += \
endif
# ------------------------------------------------------------------------------
if ENABLE_LOGIND
systemd_logind_SOURCES = \
nodist_systemd_logind_SOURCES = \
systemd_logind_LDADD = \
libsystemd_logind_core_la_SOURCES = \
libsystemd_logind_core_la_LIBADD = \
if HAVE_ACL
libsystemd_logind_core_la_SOURCES += \
libsystemd_logind_core_la_LIBADD += \
endif
noinst_LTLIBRARIES += \
systemd_user_sessions_SOURCES = \
systemd_user_sessions_LDADD = \
rootlibexec_PROGRAMS += \
systemd-logind \
systemd-user-sessions
loginctl_SOURCES = \
loginctl_LDADD = \
rootbin_PROGRAMS += \
loginctl
dist_bashcompletion_DATA += \
dist_zshcompletion_DATA += \
shell-completion/zsh/_loginctl \
shell-completion/zsh/_systemd-inhibit
systemd_inhibit_SOURCES = \
systemd_inhibit_LDADD = \
rootbin_PROGRAMS += \
systemd-inhibit
test_login_SOURCES = \
test_login_LDADD = \
test_login_shared_SOURCES = \
test_login_shared_LDADD = \
test_inhibit_SOURCES = \
test_inhibit_LDADD = \
test_login_tables_SOURCES = \
test_login_tables_LDADD = \
manual_tests += \
test-login \
test-inhibit
tests += \
test-login-tables \
test-login-shared
if HAVE_PAM
pam_systemd_la_SOURCES = \
pam_systemd_la_CFLAGS = \
$(AM_CFLAGS) \
$(PAM_CFLAGS) \
-fvisibility=hidden
pam_systemd_la_LDFLAGS = \
$(AM_LDFLAGS) \
-module \
-export-dynamic \
-avoid-version \
-shared \
-Wl,--version-script=$(top_srcdir)/src/login/pam_systemd.sym
pam_systemd_la_LIBADD = \
$(PAM_LIBS)
pamlib_LTLIBRARIES = \
dist_pamconf_DATA = \
endif
nodist_systemunit_DATA += \
dist_systemunit_DATA += \
dist_systemunit_DATA_busnames += \
dist_dbussystemservice_DATA += \
dist_dbuspolicy_DATA += \
dist_pkgsysconf_DATA += \
polkitpolicy_files += \
INSTALL_DIRS += \
$(systemdstatedir)
MULTI_USER_TARGET_WANTS += \
SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
dist_udevrules_DATA += \
nodist_udevrules_DATA += \
CLEANFILES += \
endif
polkitpolicy_in_files += \
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if HAVE_PYTHON_DEVEL
pkgpyexec_LTLIBRARIES = \
id128.la \
_journal_la_SOURCES = \
_journal_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=default \
$(PYTHON_DEVEL_CFLAGS)
_journal_la_LDFLAGS = \
$(AM_LDFLAGS) \
-shared \
-module \
-avoid-version
_journal_la_LIBADD = \
$(PYTHON_DEVEL_LIBS) \
id128_la_SOURCES = \
nodist_id128_la_SOURCES = \
id128_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=default \
$(PYTHON_DEVEL_CFLAGS) \
-I$(top_builddir)/src/python-systemd
id128_la_LDFLAGS = \
$(AM_LDFLAGS) \
-shared \
-module \
-avoid-version
id128_la_LIBADD = \
$(PYTHON_DEVEL_LIBS) \
_daemon_la_SOURCES = \
_daemon_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=default \
$(PYTHON_DEVEL_CFLAGS) \
-I$(top_builddir)/src/python-systemd
_daemon_la_LDFLAGS = \
$(AM_LDFLAGS) \
-shared \
-module \
-avoid-version
_daemon_la_LIBADD = \
$(PYTHON_DEVEL_LIBS) \
_reader_la_SOURCES = \
_reader_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=default \
$(PYTHON_DEVEL_CFLAGS)
_reader_la_LDFLAGS = \
$(AM_LDFLAGS) \
-shared \
-module \
-avoid-version
_reader_la_LIBADD = \
$(PYTHON_DEVEL_LIBS) \
login_la_SOURCES = \
login_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=default \
$(PYTHON_DEVEL_CFLAGS)
login_la_LDFLAGS = \
$(AM_LDFLAGS) \
-shared \
-module \
-avoid-version
login_la_LIBADD = \
$(PYTHON_DEVEL_LIBS) \
dist_pkgpyexec_PYTHON = \
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(SED) -n -r 's/,//g; s/#define (SD_MESSAGE_[A-Z0-9_]+)\s.*/add_id(m, "\1", \1) JOINER/p' <$< >$@
BUILT_SOURCES += \
SPHINXOPTS = -D version=$(VERSION) -D release=$(VERSION)
sphinx-%:
$(AM_V_at)test -n "$(SPHINX_BUILD)" || { echo " *** sphinx-build is not available"; exit 1; }
$(AM_V_GEN)PYTHONPATH=$(DESTDIR)$(pyexecdir) LD_LIBRARY_PATH=$(DESTDIR)$(libdir) $(SPHINX_BUILD) -b $* $(SPHINXOPTS) $(top_srcdir)/src/python-systemd/docs $(top_builddir)/docs/html/python-systemd/
$(AM_V_at)echo Output has been generated in $(abs_top_builddir)/docs/html/python-systemd/
python-shell:
$(AM_V_at)echo "Starting python with $(DESTDIR)$(pyexecdir)"
$(AM_V_at)PYTHONPATH=$(DESTDIR)$(pyexecdir) LD_LIBRARY_PATH=$(DESTDIR)$(libdir) $(PYTHON)
destdir-sphinx: all
dir="$$(mktemp -d /tmp/systemd-install.XXXXXX)" && \
$(MAKE) DESTDIR="$$dir" install && \
$(MAKE) DESTDIR="$$dir" sphinx-html && \
rm -rf "$$dir"
endif
CLEAN_LOCAL_HOOKS += clean-sphinx
.PHONY: python-shell destdir-sphinx clean-sphinx clean-python
clean-sphinx:
-rm -rf docs/html/python-systemd/
# Remove Python stuff, e.g. to force rebuilding for a different Python version.
clean-python:
-rm -rf src/python-systemd/.libs src/python-systemd/*.l[ao]
# ------------------------------------------------------------------------------
if ENABLE_COMPAT_LIBS
EXTRA_DIST += \
libsystemd-%.c: src/compat-libs/libsystemd-%.sym
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)sed -r -n 's/^ +(sd_.*);/obsolete_lib(\1,$(notdir $(basename $<)));/p' <$< >$@
BUILT_SOURCES += \
libsystemd_journal_la_SOURCES = \
libsystemd_journal_la_CPPFLAGS = \
$(AM_CFLAGS) \
-imacros$(top_srcdir)/src/compat-libs/linkwarning.h
libsystemd_journal_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info $(LIBSYSTEMD_JOURNAL_CURRENT):$(LIBSYSTEMD_JOURNAL_REVISION):$(LIBSYSTEMD_JOURNAL_AGE) \
-Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-journal.sym
libsystemd_journal_la_LIBADD = \
libsystemd_login_la_SOURCES = \
libsystemd_login_la_CPPFLAGS = \
$(AM_CFLAGS) \
-imacros$(top_srcdir)/src/compat-libs/linkwarning.h
libsystemd_login_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
-Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-login.sym
libsystemd_login_la_LIBADD = \
libsystemd_id128_la_SOURCES = \
libsystemd_id128_la_CPPFLAGS = \
$(AM_CFLAGS) \
-imacros$(top_srcdir)/src/compat-libs/linkwarning.h
libsystemd_id128_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info $(LIBSYSTEMD_ID128_CURRENT):$(LIBSYSTEMD_ID128_REVISION):$(LIBSYSTEMD_ID128_AGE) \
-Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-id128.sym
libsystemd_id128_la_LIBADD = \
libsystemd_daemon_la_SOURCES = \
libsystemd_daemon_la_CPPFLAGS = \
$(AM_CFLAGS) \
-imacros$(top_srcdir)/src/compat-libs/linkwarning.h
libsystemd_daemon_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE) \
-Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-daemon.sym
libsystemd_daemon_la_LIBADD = \
lib_LTLIBRARIES += \
pkgconfiglib_DATA += \
# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
compat-lib-install-hook:
libname=libsystemd-login.so && $(move-to-rootlibdir)
libname=libsystemd-journal.so && $(move-to-rootlibdir)
libname=libsystemd-id128.so && $(move-to-rootlibdir)
libname=libsystemd-daemon.so && $(move-to-rootlibdir)
compat-lib-uninstall-hook:
rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so*
rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
rm -f $(DESTDIR)$(rootlibdir)/libsystemd-id128.so*
rm -f $(DESTDIR)$(rootlibdir)/libsystemd-daemon.so*
INSTALL_EXEC_HOOKS += compat-lib-install-hook
UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
substitutions = \
'|rootlibexecdir=$(rootlibexecdir)|' \
'|rootbindir=$(rootbindir)|' \
'|bindir=$(bindir)|' \
'|SYSTEMCTL=$(rootbindir)/systemctl|' \
'|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \
'|pkgsysconfdir=$(pkgsysconfdir)|' \
'|SYSTEM_CONFIG_UNIT_PATH=$(pkgsysconfdir)/system|' \
'|USER_CONFIG_UNIT_PATH=$(pkgsysconfdir)/user|' \
'|pkgdatadir=$(pkgdatadir)|' \
'|systemunitdir=$(systemunitdir)|' \
'|userunitdir=$(userunitdir)|' \
'|systempresetdir=$(systempresetdir)|' \
'|userpresetdir=$(userpresetdir)|' \
'|udevhwdbdir=$(udevhwdbdir)|' \
'|udevrulesdir=$(udevrulesdir)|' \
'|catalogdir=$(catalogdir)|' \
'|tmpfilesdir=$(tmpfilesdir)|' \
'|sysusersdir=$(sysusersdir)|' \
'|sysctldir=$(sysctldir)|' \
'|systemgeneratordir=$(systemgeneratordir)|' \
'|usergeneratordir=$(usergeneratordir)|' \
'|CERTIFICATEROOT=$(CERTIFICATEROOT)|' \
'|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
'|PACKAGE_NAME=$(PACKAGE_NAME)|' \
'|PACKAGE_URL=$(PACKAGE_URL)|' \
'|RANDOM_SEED_DIR=$(localstatedir)/lib/systemd/|' \
'|RANDOM_SEED=$(localstatedir)/lib/systemd/random-seed|' \
'|prefix=$(prefix)|' \
'|exec_prefix=$(exec_prefix)|' \
'|libdir=$(libdir)|' \
'|includedir=$(includedir)|' \
'|VERSION=$(VERSION)|' \
'|rootprefix=$(rootprefix)|' \
'|udevlibexecdir=$(udevlibexecdir)|' \
'|SUSHELL=$(SUSHELL)|' \
'|DEBUGTTY=$(DEBUGTTY)|' \
'|KILL=$(KILL)|' \
'|KMOD=$(KMOD)|' \
'|MKDIR_P=$(MKDIR_P)|' \
'|QUOTAON=$(QUOTAON)|' \
'|QUOTACHECK=$(QUOTACHECK)|' \
'|SYSTEM_SYSVINIT_PATH=$(sysvinitdir)|' \
'|VARLOGDIR=$(varlogdir)|' \
'|RC_LOCAL_SCRIPT_PATH_START=$(RC_LOCAL_SCRIPT_PATH_START)|' \
'|RC_LOCAL_SCRIPT_PATH_STOP=$(RC_LOCAL_SCRIPT_PATH_STOP)|' \
'|PYTHON=$(PYTHON)|' \
'|PYTHON_BINARY=$(PYTHON_BINARY)|' \
'|NTP_SERVERS=$(NTP_SERVERS)|' \
'|DNS_SERVERS=$(DNS_SERVERS)|' \
'|systemuidmax=$(SYSTEM_UID_MAX)|' \
'|systemgidmax=$(SYSTEM_GID_MAX)|' \
'|TTY_GID=$(TTY_GID)|' \
'|systemsleepdir=$(systemsleepdir)|' \
'|systemshutdowndir=$(systemshutdowndir)|' \
'|binfmtdir=$(binfmtdir)|' \
'|modulesloaddir=$(modulesloaddir)|'
SED_PROCESS = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
< $< > $@
units/%: units/%.in
$(SED_PROCESS)
man/%: man/%.in
$(SED_PROCESS)
$(SED_PROCESS)
%.pc: %.pc.in
$(SED_PROCESS)
%.conf: %.conf.in
$(SED_PROCESS)
src/core/macros.%: src/core/macros.%.in
$(SED_PROCESS)
src/%.policy.in: src/%.policy.in.in
$(SED_PROCESS)
shell-completion/%: shell-completion/%.in
$(SED_PROCESS)
%.rules: %.rules.in
$(SED_PROCESS)
%.conf: %.conf.in
$(SED_PROCESS)
%.sh: %.sh.in
$(SED_PROCESS)
$(AM_V_GEN)chmod +x $@
src/%.c: src/%.gperf
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GPERF)$(GPERF) < $< > $@
src/%: src/%.m4
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@
tmpfiles.d/%: tmpfiles.d/%.m4
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@
units/%: units/%.m4
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@
units/user/%: units/%.m4
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@
if ENABLE_POLKIT
nodist_polkitpolicy_DATA = \
$(polkitpolicy_files) \
$(polkitpolicy_in_in_files:.policy.in.in=.policy)
endif
EXTRA_DIST += \
$(polkitpolicy_in_files) \
$(polkitpolicy_in_in_files)
CLEANFILES += \
$(nodist_systemunit_DATA) \
$(nodist_userunit_DATA) \
$(pkgconfigdata_DATA) \
$(pkgconfiglib_DATA) \
$(nodist_polkitpolicy_DATA)
# ------------------------------------------------------------------------------
if ENABLE_MANPAGES
$(AM_V_GEN)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)(echo '<?xml version="1.0" encoding="utf-8" ?>' && \
printf '$(subst '|,<!ENTITY ,$(subst =, ",$(subst |',">\n,$(substitutions))))') \
> $@ # '
DISTCLEANFILES += \
XSLTPROC_FLAGS = \
--nonet \
--xinclude \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0 \
--stringparam systemd.version $(VERSION) \
--path '$(builddir)/man:$(srcdir)/man'
XSLTPROC_PROCESS_MAN = \
$(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-man.xsl $<
XSLTPROC_PROCESS_HTML = \
$(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
man/%.1: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
man/%.3: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
man/%.5: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
man/%.7: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
man/%.8: man/%.xml man/custom-man.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_MAN)
man/%.html: man/%.xml man/custom-html.xsl man/custom-entities.ent
$(XSLTPROC_PROCESS_HTML)
define html-alias
$(AM_V_LN)$(LN_S) -f $(notdir $<) $@
endef
endif
EXTRA_DIST += \
# ------------------------------------------------------------------------------
if HAVE_SYSV_COMPAT
sysvinit_DATA = \
varlog_DATA = \
$(SED_PROCESS)
$(SED_PROCESS)
CLEANFILES += \
endif
EXTRA_DIST += \
SOCKETS_TARGET_WANTS += \
if HAVE_UTMP
if HAVE_SYSV_COMPAT
RUNLEVEL1_TARGET_WANTS += \
RUNLEVEL2_TARGET_WANTS += \
RUNLEVEL3_TARGET_WANTS += \
RUNLEVEL4_TARGET_WANTS += \
RUNLEVEL5_TARGET_WANTS += \
endif
SYSINIT_TARGET_WANTS += \
endif
SYSINIT_TARGET_WANTS += \
LOCAL_FS_TARGET_WANTS += \
MULTI_USER_TARGET_WANTS += \
SYSINIT_TARGET_WANTS += \
if HAVE_SYSV_COMPAT
SYSTEM_UNIT_ALIASES += \
endif
SYSTEM_UNIT_ALIASES += \
getty@.service autovt@.service
USER_UNIT_ALIASES += \
$(systemunitdir)/shutdown.target shutdown.target \
$(systemunitdir)/sockets.target sockets.target \
$(systemunitdir)/timers.target timers.target \
$(systemunitdir)/paths.target paths.target \
$(systemunitdir)/bluetooth.target bluetooth.target \
$(systemunitdir)/printer.target printer.target \
$(systemunitdir)/sound.target sound.target \
$(systemunitdir)/smartcard.target smartcard.target
if ENABLE_KDBUS
USER_UNIT_ALIASES += \
$(systemunitdir)/busnames.target busnames.target
endif
GENERAL_ALIASES += \
$(systemunitdir)/remote-fs.target $(pkgsysconfdir)/system/multi-user.target.wants/remote-fs.target \
$(systemunitdir)/getty@.service $(pkgsysconfdir)/system/getty.target.wants/getty@tty1.service \
$(pkgsysconfdir)/user $(sysconfdir)/xdg/systemd/user \
$(dbussystemservicedir)/org.freedesktop.systemd1.service $(dbussessionservicedir)/org.freedesktop.systemd1.service
if HAVE_SYSV_COMPAT
INSTALL_DIRS += \
$(systemunitdir)/runlevel1.target.wants \
$(systemunitdir)/runlevel2.target.wants \
$(systemunitdir)/runlevel3.target.wants \
$(systemunitdir)/runlevel4.target.wants \
$(systemunitdir)/runlevel5.target.wants
endif
INSTALL_DIRS += \
$(prefix)/lib/modules-load.d \
$(sysconfdir)/modules-load.d \
$(prefix)/lib/systemd/network \
$(sysconfdir)/systemd/network \
$(prefix)/lib/sysctl.d \
$(sysconfdir)/sysctl.d \
$(prefix)/lib/kernel/install.d \
$(sysconfdir)/kernel/install.d \
$(systemshutdowndir) \
$(systemsleepdir) \
$(systemgeneratordir) \
$(usergeneratordir) \
\
$(userunitdir) \
$(pkgsysconfdir)/system \
$(pkgsysconfdir)/system/multi-user.target.wants \
$(pkgsysconfdir)/system/getty.target.wants \
$(pkgsysconfdir)/user \
$(dbussessionservicedir) \
$(sysconfdir)/xdg/systemd
install-exec-hook: $(INSTALL_EXEC_HOOKS)
uninstall-hook: $(UNINSTALL_DATA_HOOKS) $(UNINSTALL_EXEC_HOOKS)
install-data-hook: $(INSTALL_DATA_HOOKS)
distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
clean-local: $(CLEAN_LOCAL_HOOKS)
rm -rf $(abs_srcdir)/install-tree
$(abs_srcdir)/hwdb/iab.txt
DISTCHECK_CONFIGURE_FLAGS = \
--with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
--with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \
--with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
--with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) \
--with-zshcompletiondir=$$dc_install_base/$(zshcompletiondir) \
--with-pamlibdir=$$dc_install_base/$(pamlibdir) \
--with-pamconfdir=$$dc_install_base/$(pamconfdir) \
--with-rootprefix=$$dc_install_base \
--disable-split-usr \
--enable-kdbus \
--enable-compat-libs
if HAVE_SYSV_COMPAT
DISTCHECK_CONFIGURE_FLAGS += \
--with-sysvinit-path=$$dc_install_base/$(sysvinitdir) \
--with-sysvrcnd-path=$$dc_install_base/$(sysvrcnddir)
else
DISTCHECK_CONFIGURE_FLAGS += \
--with-sysvinit-path= \
--with-sysvrcnd-path=
endif
if HAVE_PYTHON
DISTCHECK_CONFIGURE_FLAGS += \
--with-python
endif
if ENABLE_GTK_DOC
DISTCHECK_CONFIGURE_FLAGS += \
--enable-gtk-doc
endif
#
# Require python when making dist
#
.PHONY: dist-check-python
dist-check-python:
if !HAVE_PYTHON
@echo "*** python and python-lxml module must be installed and enabled in order to make dist"
@false
endif
dist-check-compat-libs:
if !ENABLE_COMPAT_LIBS
@echo "*** compat-libs must be enabled in order to make dist"
@false
endif
dist: dist-check-python dist-check-compat-libs
# check "broken" platforms limited toolchains for link breakage before we release
.PHONY: linkcheck
linkcheck:
$(MAKE) CFLAGS='-fno-lto' LDFLAGS='-Wl,-fuse-ld=gold -Wl,--as-needed -Wl,--no-gc-sections' distcheck
.PHONY: hwdb-update
hwdb-update:
( cd $(top_srcdir)/hwdb && \
wget -N http://www.linux-usb.org/usb.ids \
./ids-update.pl )
.PHONY: kdbus-update
kdbus-update:
( cd $(top_srcdir)/src/libsystemd/sd-bus/ && \
wget -N https://d-bus.googlecode.com/git/kdbus.h )
.PHONY: git-tag
git-tag:
git tag -s "v$(VERSION)" -m "systemd $(VERSION)"
.PHONY: upload
upload: all check dist
scp systemd-$(VERSION).tar.xz $(www_target)
.PHONY: doc-sync
doc-sync: all destdir-sphinx
gtkdoc-rebase --html-dir=docs/libudev/html --online
rsync -rlv --delete docs/libudev/html/ --omit-dir-times $(www_target)/libudev/
gtkdoc-rebase --html-dir=docs/gudev/html --online
rsync -rlv --delete docs/gudev/html/ --omit-dir-times $(www_target)/gudev/
rsync -rlv --delete-excluded --include="*.html" --exclude="*" --omit-dir-times man/ $(www_target)/man/
rsync -rlv --delete --omit-dir-times docs/html/python-systemd/ $(www_target)/python-systemd/
.PHONY: tango
tango: upload
cp -v systemd-$(VERSION).tar.xz /home/lennart/git.fedora/systemd/
scp man/*.html tango:public/systemd-man/
.PHONY: install-tree
install-tree: all
rm -rf $(abs_srcdir)/install-tree
$(MAKE) install DESTDIR=$(abs_srcdir)/install-tree
tree $(abs_srcdir)/install-tree
# Let's run all tests of the test suite, but under valgrind. Let's
# exclude the one perl script we have in there
.PHONY: valgrind-tests
valgrind-tests: $(TESTS)
$(AM_V_GEN)for f in $(filter-out %.pl, $^); do \
if file $$f | grep -q shell; then \
echo -e "$${x}Skipping non-binary $$f"; else \
echo -e "$${x}Running $$f"; \
libtool --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \
x="\n\n"; \
done
exported-%: %
$(AM_V_GEN)$(NM) -g --defined-only $(builddir)/.libs/$(<:.la=.so) 2>&1 /dev/null | grep " T " | cut -d" " -f3 > $@
exported: $(addprefix exported-, $(lib_LTLIBRARIES))
$(AM_V_GEN)cat $^ > $@
.PHONY: check-api-docs
check-api-docs: exported man
$(AM_V_GEN)for symbol in `cat exported` ; do \
if test -f $(builddir)/man/$$symbol.html ; then \
echo " Symbol $$symbol() is documented." ; \
else \
echo "‣ Symbol $$symbol() lacks documentation." ; \
fi ; \
done
OBJECT_VARIABLES:=$(filter %_OBJECTS,$(.VARIABLES))
ALL_OBJECTS:=$(foreach v,$(OBJECT_VARIABLES),$($(v)))
undefined defined: $(ALL_OBJECTS)
$(AM_V_GEN)for f in $(ALL_OBJECTS) ; do \
$(NM) -g --$@-only `echo $(builddir)/"$$f" | sed -e 's,\([^/]*\).lo$$,.libs/\1.o,'` ; \
done | cut -c 20- | cut -d @ -f 1 | sort -u > $@
CLEANFILES += \
defined \
undefined
.PHONY: check-api-unused
check-api-unused: defined undefined exported
( cat exported undefined ) | sort -u | diff -u - defined | grep ^+ | grep -v ^+++ | cut -c2-
.PHONY: check-includes
check-includes: $(top_srcdir)/tools/check-includes.pl
$(AM_V_GEN) find * -name '*.[hcS]' -type f -print | sort -u \
| xargs $(top_srcdir)/tools/check-includes.pl
EXTRA_DIST += \
$(top_srcdir)/tools/check-includes.pl
# Stupid test that everything purported to be exported really is
define generate-sym-test
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_at)printf '#include <stdio.h>\n' > $@
$(AM_V_at)printf '#include "%s"\n' $(notdir $(filter %.h, $^)) >> $@
$(AM_V_at)printf 'void* functions[] = {\n' >> $@
$(AM_V_GEN)sed -r -n 's/^ +([a-zA-Z0-9_]+);/\1,/p' $< >> $@
$(AM_V_at)printf '};\nint main(void) {\n' >> $@
$(AM_V_at)printf 'unsigned i; for (i=0;i<sizeof(functions)/sizeof(void*);i++) printf("%%p\\n", functions[i]);\n' >> $@
$(AM_V_at)printf 'return 0; }\n' >> $@
endef
$(top_builddir)/src/libsystemd/libsystemd.sym \
$(generate-sym-test)
$(generate-sym-test)
test_libsystemd_sym_SOURCES = \
test_libsystemd_sym_LDADD = \
test_libudev_sym_SOURCES = \
test_libudev_sym_CFLAGS = \
$(AM_CFLAGS) \
-Wno-deprecated-declarations
test_libudev_sym_LDADD = \
BUILT_SOURCES += \
$(test_libsystemd_sym_SOURCES) \
$(test_libudev_sym_SOURCES)
tests += \
test-libsystemd-sym \
test-libudev-sym
.PHONY: cppcheck
cppcheck:
cppcheck --enable=all -q $(top_srcdir)
# Used to extract compile flags for YCM.
print-%:
@echo $($*)
git-contrib:
@git shortlog -s `git describe --abbrev=0`.. | cut -c8- | awk '{ print $$0 "," }' | sort -u
EXTRA_DIST += \