38N/Aextra_distcheck_flags =
38N/A extra_distcheck_flags += --with-syslog=journald
38N/ADISTCHECK_CONFIGURE_FLAGS = --with-ldb-lib-dir="$$dc_install_base"
/lib/ldb \
38N/A --enable-all-experimental-features \
38N/A $(extra_distcheck_flags)
38N/A# Some old versions of automake don't define builddir
38N/ADISTSETUPOPTS += --install-layout=deb
38N/Asssdlibexecdir = $(libexecdir)/sssd
38N/Asssdlibdir = $(libdir)/sssd
38N/Aldblibdir = @ldblibdir@
49N/Aif BUILD_KRB5_LOCATOR_PLUGIN
49N/Akrb5plugindir = @krb5pluginpath@
38N/Aif BUILD_PAC_RESPONDER
38N/Akrb5authdata_plugindir = @krb5authdatapluginpath@
38N/Aif BUILD_CIFS_IDMAP_PLUGIN
38N/Acifsplugindir = @cifspluginpath@
38N/Asssdconfdir = $(sysconfdir)/sssd
38N/Asssddatadir = $(datadir)/sssd
49N/Alocaledir = @localedir@
49N/Ansslibdir = @nsslibdir@
49N/Apamlibdir = @pammoddir@
49N/Aautofslibdir = @appmodpath@
49N/Apluginpath = @pluginpath@
49N/Apipepath = @pipepath@
49N/Asystemdunitdir = @systemdunitdir@
38N/Apubconfpath = @pubconfpath@
38N/Apkgconfigdir = $(libdir)/pkgconfig
38N/Akrb5rcachedir = @krb5rcachedir@
38N/Asudolibdir = @sudolibpath@
UNICODE_LIBS=@UNICODE_LIBS@
AM_CFLAGS += -aux-info $@.X
AM_CFLAGS += -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith \
-Wcast-qual -Wcast-align -Wwrite-strings -Wundef \
-Werror-implicit-function-declaration -Winit-self \
ACLOCAL_AMFLAGS = -I m4 -I .
sssdlibexec_PROGRAMS += sssd_sudo
sssdlibexec_PROGRAMS += sssd_autofs
sssdlibexec_PROGRAMS += sssd_ssh
sssdlibexec_PROGRAMS += sssd_ifp
sssdlibexec_PROGRAMS += sssd_pac
non_interactive_check_based_tests = \
responder_socket_access-tests \
non_interactive_check_based_tests += sysdb_ssh-tests
non_interactive_cmocka_based_tests = \
$(non_interactive_cmocka_based_tests) \
$(non_interactive_check_based_tests)
$(non_interactive_cmocka_based_tests) \
$(non_interactive_check_based_tests)
if BUILD_KRB5_LOCATOR_PLUGIN
krb5plugin_LTLIBRARIES = \
krb5authdata_plugin_LTLIBRARIES = \
if BUILD_CIFS_IDMAP_PLUGIN
cifsplugin_LTLIBRARIES = \
SSS_CRYPT_CFLAGS = $(NSS_CFLAGS)
SSS_CRYPT_LIBS = $(NSS_LIBS)
SSS_CRYPT_CFLAGS = $(CRYPTO_CFLAGS)
SSS_CRYPT_LIBS = $(CRYPTO_LIBS)
libsss_crypt_la_SOURCES = \
libsss_crypt_la_CFLAGS = \
libsss_crypt_la_LIBADD = \
libsss_crypt_la_LDFLAGS = \
###############################
# Global compilation settings #
###############################
-DVARDIR=\"$(localstatedir)\" \
-DSHLIBEXT=\"$(SHLIBEXT)\" \
-DSSSD_LIBEXEC_PATH=\"$(sssdlibexecdir)\" \
-DSSSD_INTROSPECT_PATH=\"$(dbusintrospectdir)\" \
-DSSSD_CONF_DIR=\"$(sssdconfdir)\" \
-DSSS_NSS_MCACHE_DIR=\"$(mcpath)\" \
-DSSS_NSS_SOCKET_NAME=\"$(pipepath)/nss\" \
-DSSS_PAM_SOCKET_NAME=\"$(pipepath)/pam\" \
-DSSS_PAC_SOCKET_NAME=\"$(pipepath)/pac\" \
-DSSS_SUDO_SOCKET_NAME=\"$(pipepath)/sudo\" \
-DSSS_AUTOFS_SOCKET_NAME=\"$(pipepath)/autofs\" \
-DSSS_SSH_SOCKET_NAME=\"$(pipepath)/ssh\" \
-DLOCALEDIR=\"$(localedir)\"
PYTHON_BINDINGS_LIBS += $(SELINUX_LIBS)
TOOLS_LIBS += $(SELINUX_LIBS)
PYTHON_BINDINGS_LIBS += $(SEMANAGE_LIBS)
TOOLS_LIBS += $(SEMANAGE_LIBS)
SSSD_DOCS += libsss_sudo_doc
CLIENT_LIBS = $(LTLIBINTL)
SYSLOG_LIBS = $(JOURNALD_LIBS)
libsss_debug_la_SOURCES = \
libsss_debug_la_LIBADD = \
libsss_debug_la_LDFLAGS = \
libsss_child_la_LDFLAGS = -avoid-version
libsss_util_la_SOURCES = \
libsss_util_la_CFLAGS = \
libsss_util_la_LIBADD = \
libsss_util_la_SOURCES += \
libsss_util_la_LDFLAGS = -avoid-version
libipa_hbac_la_SOURCES = \
libipa_hbac_la_LIBADD = \
libipa_hbac_la_LDFLAGS = \
libsss_idmap_la_SOURCES = \
libsss_idmap_la_LDFLAGS = \
libsss_nss_idmap_la_SOURCES = \
libsss_nss_idmap_la_LIBADD = \
libsss_nss_idmap_la_LDFLAGS = \
# Yes, the goal here is that the generated files end up in $(srcdir)
# not $(builddir). Always use $(srcdir) here.
$(srcdir)/$(SBUS_CODEGEN) --mode=header --output=$@ $<
$(srcdir)/$(SBUS_CODEGEN) --mode=source --include=$(@:.c=.h) --output=$@ $<
# Regenerate when codegen changes
$(CODEGEN_CODE): $(SBUS_CODEGEN)
BUILT_SOURCES = $(CODEGEN_CODE)
sss_obfuscate_pythondir = $(sbindir)
dist_sss_obfuscate_python_SCRIPTS = \
$(SSSD_INTERNAL_LTLIBS) \
$(SSSD_INTERNAL_LTLIBS) \
sss_groupdel_CFLAGS = $(AM_CFLAGS)
$(SSSD_INTERNAL_LTLIBS) \
sss_usermod_CFLAGS = $(AM_CFLAGS)
$(SSSD_INTERNAL_LTLIBS) \
sss_groupmod_CFLAGS = $(AM_CFLAGS)
sss_groupshow_SOURCES = \
$(SSSD_INTERNAL_LTLIBS) \
sss_cache_CFLAGS = $(AM_CFLAGS)
sss_debuglevel_SOURCES = \
sss_sudo_cli_CFLAGS = $(AM_CFLAGS)
sss_sudo_cli_LDADD = $(CLIENT_LIBS)
sss_ssh_authorizedkeys_SOURCES = \
sss_ssh_authorizedkeys_CFLAGS = $(AM_CFLAGS)
sss_ssh_authorizedkeys_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
$(CLIENT_LIBS) $(TALLOC_LIBS) $(POPT_LIBS)
sss_ssh_knownhostsproxy_SOURCES = \
sss_ssh_knownhostsproxy_CFLAGS = $(AM_CFLAGS)
sss_ssh_knownhostsproxy_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
$(CLIENT_LIBS) $(TALLOC_LIBS) $(POPT_LIBS)
TESTS_ENVIRONMENT = LDB_MODULES_PATH=$(abs_top_builddir)/ldb_mod_test_dir
mkdir -p $(builddir)/ldb_mod_test_dir
cp $(builddir)/.libs/
memberof.so $(builddir)/ldb_mod_test_dir
libsss_test_common_la_SOURCES = \
libsss_test_common_la_LIBADD = \
libsss_test_common_la_SOURCES += \
libdlopen_test_providers_la_SOURCES = \
libdlopen_test_providers_la_CFLAGS = \
libdlopen_test_providers_la_LIBADD = \
libdlopen_test_providers_la_LDFLAGS = \
-rpath $(abs_top_builddir) \
EXTRA_sysdb_tests_DEPENDENCIES = \
$(SSSD_INTERNAL_LTLIBS) \
EXTRA_sysdb_ssh_tests_DEPENDENCIES = \
sysdb_ssh_tests_SOURCES = \
sysdb_ssh_tests_CFLAGS = \
sysdb_ssh_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
strtonum_tests_SOURCES = \
strtonum_tests_CFLAGS = \
krb5_utils_tests_SOURCES = \
krb5_utils_tests_CFLAGS = \
krb5_utils_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
check_and_open_tests_SOURCES = \
check_and_open_tests_CFLAGS = \
check_and_open_tests_LDADD = \
FILES_TESTS_LIBS += $(SELINUX_LIBS)
FILES_TESTS_LIBS += $(SEMANAGE_LIBS)
SSSD_RESOLV_TESTS_OBJ = \
SSSD_RESOLV_TESTS_OBJ += \
refcount_tests_SOURCES = \
refcount_tests_CFLAGS = \
$(SSSD_INTERNAL_LTLIBS) \
fail_over_tests_SOURCES = \
fail_over_tests_CFLAGS = \
fail_over_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
find_uid_tests_SOURCES = \
find_uid_tests_CFLAGS = \
$(SSSD_INTERNAL_LTLIBS) \
ipa_ldap_opt_tests_SOURCES = \
ipa_ldap_opt_tests_CFLAGS = \
ipa_ldap_opt_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
ad_ldap_opt_tests_SOURCES = \
ad_ldap_opt_tests_CFLAGS = \
ad_ldap_opt_tests_LDADD = \
simple_access_tests_SOURCES = \
simple_access_tests_CFLAGS = \
simple_access_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
$(SSSD_INTERNAL_LTLIBS) \
safe_format_tests_SOURCES = \
safe_format_tests_CFLAGS = \
safe_format_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
ipa_hbac_tests_SOURCES = \
ipa_hbac_tests_CFLAGS = \
sss_idmap_tests_SOURCES = \
sss_idmap_tests_CFLAGS = \
sss_idmap_tests_LDADD = \
responder_socket_access_tests_SOURCES = \
responder_socket_access_tests_CFLAGS = \
responder_socket_access_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
krb5_child_test_SOURCES = \
krb5_child_test_CFLAGS = \
-DKRB5_CHILD_DIR=\"$(builddir)\" \
krb5_child_test_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
$(SSSD_INTERNAL_LTLIBS) \
sbus_codegen_tests_SOURCES = \
sbus_codegen_tests_CFLAGS = \
sbus_codegen_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
TEST_MOCK_PROVIDER_OBJ = \
EXTRA_nss_srv_tests_DEPENDENCIES = \
nss_srv_tests_SOURCES = \
nss_srv_tests_LDFLAGS = \
-Wl,-wrap,sss_ncache_check_user \
-Wl,-wrap,sss_ncache_check_uid \
-Wl,-wrap,sss_packet_get_body \
-Wl,-wrap,sss_packet_get_cmd \
-Wl,-wrap,sss_cmd_send_empty \
$(SSSD_INTERNAL_LTLIBS) \
test_find_uid_SOURCES = \
EXTRA_test_negcache_DEPENDENCIES = \
test_negcache_SOURCES = \
$(SSSD_INTERNAL_LTLIBS) \
sss_nss_idmap_tests_SOURCES = \
sss_nss_idmap_tests_CFLAGS = \
sss_nss_idmap_tests_LDADD = \
EXTRA_dyndns_tests_DEPENDENCIES = \
$(SSSD_INTERNAL_LTLIBS) \
fqnames_tests_SOURCES = \
$(SSSD_INTERNAL_LTLIBS) \
nestedgroups_tests_SOURCES = \
$(TEST_MOCK_PROVIDER_OBJ) \
nestedgroups_tests_CFLAGS = \
nestedgroups_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
test_sss_idmap_SOURCES = \
test_sss_idmap_CFLAGS = \
$(SSSD_INTERNAL_LTLIBS) \
test_ipa_idmap_SOURCES = \
test_ipa_idmap_CFLAGS = \
test_ipa_idmap_LDFLAGS = \
-Wl,-wrap,sysdb_get_ranges
$(SSSD_INTERNAL_LTLIBS) \
$(SSSD_INTERNAL_LTLIBS) \
test_search_bases_SOURCES = \
test_search_bases_CFLAGS = \
test_search_bases_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
ad_access_filter_tests_SOURCES = \
ad_access_filter_tests_CFLAGS = \
ad_access_filter_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
ad_common_tests_SOURCES = \
ad_common_tests_CFLAGS = \
ad_common_tests_LDFLAGS = \
-Wl,-wrap,sdap_set_sasl_options
ad_common_tests_LDADD = \
$(SSSD_INTERNAL_LTLIBS) \
$(SSSD_INTERNAL_LTLIBS) \
noinst_PROGRAMS = pam_test_client
noinst_PROGRAMS += sss_sudo_cli
noinst_PROGRAMS += autofs_test_client
pam_test_client_LDADD = -lpam -lpam_misc
autofs_test_client_SOURCES = \
autofs_test_client_CFLAGS = $(AM_CFLAGS)
autofs_test_client_LDADD = -lpopt $(CLIENT_LIBS)
libnss_sss_la_SOURCES = \
libnss_sss_la_LDFLAGS = \
libsss_sudo_la_SOURCES = \
libsss_sudo_la_LIBADD = \
libsss_sudo_la_LDFLAGS = \
libsss_autofs_la_SOURCES = \
libsss_autofs_la_LIBADD = \
libsss_autofs_la_LDFLAGS = \
# libsss_krb5_common must be installed before libsss_ldap_common
# because libtool tries to relink libsss_ldap_common when installing
# libsss_ldap_common and therefore make distcheck fails
libsss_ldap_common_la_SOURCES = \
libsss_ldap_common_la_CFLAGS = \
libsss_ldap_common_la_LIBADD = \
libsss_ldap_common_la_LDFLAGS = \
libsss_ldap_common_la_SOURCES += \
libsss_ldap_common_la_SOURCES += \
libsss_krb5_common_la_SOURCES = \
libsss_krb5_common_la_CFLAGS = \
libsss_krb5_common_la_LIBADD = \
libsss_krb5_common_la_LDFLAGS = \
libsss_ldap_la_SOURCES = \
libsss_ldap_la_CFLAGS = \
libsss_ldap_la_LIBADD = \
$(SSSD_INTERNAL_LTLIBS) \
libsss_ldap_la_LDFLAGS = \
libsss_proxy_la_SOURCES = \
libsss_proxy_la_CFLAGS = \
libsss_proxy_la_LIBADD = \
libsss_proxy_la_LDFLAGS = \
libsss_simple_la_SOURCES = \
libsss_simple_la_CFLAGS = \
libsss_simple_la_LIBADD = \
libsss_simple_la_LDFLAGS = \
libsss_krb5_la_SOURCES = \
libsss_krb5_la_CFLAGS = \
libsss_krb5_la_LIBADD = \
$(SSSD_INTERNAL_LTLIBS) \
libsss_krb5_la_LDFLAGS = \
libsss_ipa_la_SOURCES = \
$(SSSD_INTERNAL_LTLIBS) \
libsss_ipa_la_LDFLAGS = \
libsss_ipa_la_SOURCES += \
libsss_ipa_la_SOURCES += \
libsss_ad_la_SOURCES += \
$(SSSD_INTERNAL_LTLIBS) \
if BUILD_KRB5_LOCATOR_PLUGIN
sssd_krb5_locator_plugin_la_SOURCES = \
sssd_krb5_locator_plugin_la_CFLAGS = \
sssd_krb5_locator_plugin_la_LDFLAGS = \
sssd_pac_plugin_la_SOURCES = \
sssd_pac_plugin_la_CFLAGS = \
sssd_pac_plugin_la_LIBADD = \
sssd_pac_plugin_la_LDFLAGS = \
$(SSSD_INTERNAL_LTLIBS) \
$(PYTHON_BINDINGS_LIBS) \
pysss_murmur_la_SOURCES = \
pysss_murmur_la_CFLAGS = \
pysss_murmur_la_LIBADD = \
pysss_murmur_la_LDFLAGS = \
pysss_nss_idmap_la_SOURCES = \
pysss_nss_idmap_la_CFLAGS = \
pysss_nss_idmap_la_LIBADD = \
pysss_nss_idmap_la_LDFLAGS = \
if BUILD_CIFS_IDMAP_PLUGIN
cifs_idmap_sss_la_SOURCES = \
cifs_idmap_sss_la_LIBADD = \
cifs_idmap_sss_la_CFLAGS = \
cifs_idmap_sss_la_LDFLAGS = \
dist_sssdapiplugin_DATA = \
-e 's|@sbindir[@]|$(sbindir)|g' \
-e 's|@environment_file[@]|$(environment_file)|g' \
-e 's|@localstatedir[@]|$(localstatedir)|g' \
-e 's|@prefix[@]|$(prefix)|g'
test -f ./$@.in || srcdir=$(srcdir)/; \
$(edit_cmd) $${srcdir}$@.in >$@.tmp; \
$(DESTDIR)$(includedir) \
$(DESTDIR)$(pluginpath) \
$(DESTDIR)$(libdir)/ldb \
$(DESTDIR)$(dbusintrospectdir) \
$(DESTDIR)$(dbuspolicydir) \
$(DESTDIR)$(pipepath)/private \
$(DESTDIR)$(sssdlibdir) \
$(DESTDIR)$(sssdconfdir) \
$(DESTDIR)$(sssddatadir) \
$(DESTDIR)$(pubconfpath) \
$(DESTDIR)$(sudolibdir) \
$(DESTDIR)$(autofslibdir)
@echo "Doxygen not installed, cannot generate documentation"
all-local: ldb_mod_test_dir $(SSSDCONFIG_MODULES)
install-exec-hook: installsssddirs
if [ "$(DESTDIR)" = "" ]; then \
cd $(builddir)
/src/config; $(PYTHON)
setup.py build --build-base $(abs_builddir)
/src/config install $(DISTSETUPOPTS) --prefix=$(PYTHON_PREFIX) --root=$(DESTDIR) --record=$(abs_builddir)
/src/config/.files; \
for doc in $(SSSD_DOCS); do \
mkdir -p $$doc $(DESTDIR)/$(docdir); \
cp -a $$doc $(DESTDIR)/$(docdir)/; \
mkdir -p $(DESTDIR)$(systemdunitdir)
mkdir -p $(DESTDIR)$(systemdconfdir)
mkdir -p $(DESTDIR)$(initdir)
if [ ! $(krb5rcachedir) = "__LIBKRB5_DEFAULTS__" ]; then \
mkdir -p $(DESTDIR)/$(krb5rcachedir) ; \
cat $(abs_builddir)
/src/config/.files | xargs -iq rm -f $(DESTDIR)/q; \
for doc in $(SSSD_DOCS); do \
rm -Rf $(DESTDIR)/$(docdir)/$$doc; \
for doc in $(SSSD_DOCS); do \
CLEANFILES = *.X */*.X */*/*.X
tests: all $(check_PROGRAMS)
RPMBUILD ?= $(PWD)/rpmbuild
mkdir -p $(RPMBUILD)/BUILD
mkdir -p $(RPMBUILD)/RPMS
mkdir -p $(RPMBUILD)/SOURCES
mkdir -p $(RPMBUILD)/SPECS
mkdir -p $(RPMBUILD)/SRPMS
rpmbrprep: dist-gzip rpmroot
# When we're building RPMs from a git checkout,
# we don't want to be bothered with translation
cp $(distdir)
.tar.gz $(RPMBUILD)/SOURCES
sed -e "
s/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.*\])/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.`date +%Y%m%d.%H%M`.git`git log -1 --pretty=format:%h`\])/" < $(srcdir)/
version.m4.orig > $(srcdir)/
version.m4# make srpms will use the old digest algorithm to be compatible
rpmbuild --define "_topdir $(RPMBUILD)" \
sed -e "
s/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.*\])/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.`date +%Y%m%d.%H%M`.git`git log -1 --pretty=format:%h`\])/" < $(srcdir)/
version.m4.orig > $(srcdir)/
version.m4