Makefile.am revision 48a038d077ed2de18a5211e010c18ab680107293
SUBDIRS = po
topdir=.
# Some old versions of automake don't define builddir
builddir ?= .
DOXYGEN = @DOXYGEN@
sssdlibexecdir = $(libexecdir)/sssd
sssdlibdir = $(libdir)/sssd
ldblibdir = @ldblibdir@
if BUILD_KRB5_LOCATOR_PLUGIN
krb5plugindir = @krb5pluginpath@
endif
sssdconfdir = $(sysconfdir)/sssd
sssdapiplugindir = $(sssdconfdir)/sssd.api.d
dbusintrospectdir = $(datarootdir)/sssd/introspect
dbuspolicydir = $(sysconfdir)/dbus-1/system.d
localedir = @localedir@
nsslibdir = @nsslibdir@
pamlibdir = $(nsslibdir)/security
dbpath = @dbpath@
pluginpath = @pluginpath@
pidpath = @pidpath@
pipepath = @pipepath@
initdir = @initdir@
logpath = @logpath@
pubconfpath = @pubconfpath@
AM_CFLAGS =
if WANT_AUX_INFO
AM_CFLAGS += -aux-info $@.X
endif
if HAVE_GCC
AM_CFLAGS += -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith \
-Wcast-qual -Wcast-align -Wwrite-strings \
-Werror-implicit-function-declaration
endif
ACLOCAL_AMFLAGS = -I m4 -I .
sbin_PROGRAMS = \
sssd \
sss_useradd \
sss_userdel \
sss_groupadd \
sss_groupdel \
sss_usermod \
sss_groupmod \
sss_groupshow
sssdlibexec_PROGRAMS = \
sssd_nss \
sssd_pam \
sssd_be \
krb5_child \
ldap_child \
$(sssd_pk) \
$(sssd_info)
dist_sssdlibexec_SCRIPTS = \
if HAVE_CHECK
non_interactive_check_based_tests = \
sysdb-tests \
strtonum-tests \
resolv-tests \
krb5-utils-tests \
check_and_open-tests \
ipa_timerules-tests \
files-tests \
refcount-tests \
fail_over-tests \
find_uid-tests \
auth-tests \
ipa_ldap_opt-tests \
simple_access-tests
endif
check_PROGRAMS = \
stress-tests \
$(non_interactive_check_based_tests)
TESTS = \
$(srcdir)/config/SSSDConfigTest.py \
$(non_interactive_check_based_tests)
sssdlib_LTLIBRARIES = \
ldblib_LTLIBRARIES = \
if BUILD_KRB5_LOCATOR_PLUGIN
krb5plugin_LTLIBRARIES = \
endif
noinst_LTLIBRARIES = \
if HAVE_NSS
SSS_CRYPT_SOURCES = util/nss_sha512crypt.c
SSS_CRYPT_CFLAGS = $(NSS_CFLAGS)
SSS_CRYPT_LIBS = $(NSS_LIBS)
else
SSS_CRYPT_SOURCES = util/crypto_sha512crypt.c
SSS_CRYPT_CFLAGS = $(CRYPTO_CFLAGS)
SSS_CRYPT_LIBS = $(CRYPTO_LIBS)
endif
libsss_crypt_la_SOURCES = \
$(SSS_CRYPT_SOURCES)
libsss_crypt_la_CPPFLAGS = \
$(SSS_CRYPT_CFLAGS)
libsss_crypt_la_LIBADD = \
$(SSS_CRYPT_LIBS)
if BUILD_PYTHON_BINDINGS
pyexec_LTLIBRARIES = \
endif
dist_noinst_SCRIPTS = \
$(EXTRA_SCRIPTS) \
dist_noinst_DATA = \
###############################
# Global compilation settings #
###############################
if HAVE_SYSTEM_COLLECTION
COLLECTION_CFLAGS = $(SYSTEM_COLLECTION_CFLAGS)
COLLECTION_LIBS = $(SYSTEM_COLLECTION_LIBS)
else
COLLECTION_CFLAGS = \
-I$(srcdir)/../common/collection
COLLECTION_LIBS = \
-L$(builddir)/../common/collection \
-lcollection
endif
if HAVE_SYSTEM_INI_CONFIG
INI_CFG_CFLAGS = $(SYSTEM_INI_CONFIG_CFLAGS)
INI_CFG_LIBS = $(SYSTEM_INI_CONFIG_LIBS)
else
INI_CFG_CFLAGS = \
-I$(srcdir)/../common/ini
INI_CFG_LIBS = \
-L$(builddir)/../common/ini/ \
-lini_config
endif
if HAVE_SYSTEM_DHASH
DHASH_CFLAGS = $(SYSTEM_DHASH_CFLAGS)
DHASH_LIBS = $(SYSTEM_DHASH_LIBS)
else
DHASH_CFLAGS = \
-I$(srcdir)/../common/dhash
DHASH_LIBS = \
-L$(builddir)/../common/dhash/ \
-ldhash
endif
AM_CPPFLAGS = -Wall \
-Iinclude \
-I.. \
-I$(srcdir)/include \
-I$(srcdir)/sss_client \
-Iinclude \
-I. \
$(POPT_CFLAGS) \
$(TALLOC_CFLAGS) \
$(TDB_CFLAGS) \
$(TEVENT_CFLAGS) \
$(LDB_CFLAGS) \
$(DBUS_CFLAGS) \
$(PCRE_CFLAGS) \
$(COLLECTION_CFLAGS) \
$(INI_CFG_CFLAGS) \
$(DHASH_CFLAGS) \
-DLIBDIR=\"$(libdir)\" \
-DVARDIR=\"$(localstatedir)\" \
-DSHLIBEXT=\"$(SHLIBEXT)\" \
-DSSSD_LIBEXEC_PATH=\"$(sssdlibexecdir)\" \
-DSSSD_INTROSPECT_PATH=\"$(dbusinstropectdir)\" \
-DSSSD_CONF_DIR=\"$(sssdconfdir)\" \
-DSSS_NSS_SOCKET_NAME=\"$(pipepath)/nss\" \
-DSSS_PAM_SOCKET_NAME=\"$(pipepath)/pam\" \
-DSSS_PAM_PRIV_SOCKET_NAME=\"$(pipepath)/private/pam\" \
-DUSE_MMAP=1 \
-DTEVENT_DEPRECATED=1\
-DLOCALEDIR=\"$(localedir)\"
EXTRA_DIST = build/config.rpath
SSSD_DEBUG_OBJ = \
SSSD_UTIL_OBJ = \
$(SSSD_DEBUG_OBJ)
SSSD_RESPONDER_OBJ = \
SSSD_TOOLS_OBJ = \
SSSD_RESOLV_OBJ = \
if BUILD_ARES_DATA
SSSD_RESOLV_OBJ += \
endif
SSSD_FAILOVER_OBJ = \
$(SSSD_RESOLV_OBJ)
SSSD_LIBS = \
$(TALLOC_LIBS) \
$(TEVENT_LIBS) \
$(POPT_LIBS) \
$(LDB_LIBS) \
$(DBUS_LIBS) \
$(PCRE_LIBS) \
$(INI_CFG_LIBS) \
$(COLLECTION_LIBS) \
$(DHASH_LIBS) \
$(SSS_CRYPT_LIBS) \
PYTHON_BINDINGS_LIBS = \
$(TALLOC_LIBS) \
$(TEVENT_LIBS) \
$(POPT_LIBS) \
$(LDB_LIBS) \
$(DBUS_LIBS) \
$(PCRE_LIBS) \
$(SSS_CRYPT_LIBS) \
TOOLS_LIBS = \
$(TALLOC_LIBS) \
$(TEVENT_LIBS) \
$(POPT_LIBS) \
$(LDB_LIBS) \
$(DBUS_LIBS) \
$(PCRE_LIBS) \
$(INI_CFG_LIBS) \
$(COLLECTION_LIBS) \
$(DHASH_LIBS) \
if BUILD_SELINUX
TOOLS_LIBS += $(SELINUX_LIBS)
endif
if BUILD_SEMANAGE
TOOLS_LIBS += $(SEMANAGE_LIBS)
endif
dist_noinst_HEADERS = \
config.h \
####################
# Program Binaries #
####################
sssd_SOURCES = \
$(SSSD_UTIL_OBJ)
sssd_LDADD = \
$(SSSD_LIBS)
sssd_nss_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_RESPONDER_OBJ)
sssd_nss_LDADD = \
$(TDB_LIBS) \
$(SSSD_LIBS)
sssd_pam_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_RESPONDER_OBJ)
sssd_pam_LDADD = \
$(SSSD_LIBS)
sssd_be_SOURCES = \
$(SSSD_FAILOVER_OBJ) \
$(SSSD_UTIL_OBJ)
sssd_be_LDADD = $(SSSD_LIBS) $(CARES_LIBS)
sssd_be_LDFLAGS = \
-Wl,--version-script,$(srcdir)/providers/sssd_be.exports \
-export-dynamic
dist_noinst_DATA += \
m4
######################
# Command-line Tools #
######################
sss_useradd_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_TOOLS_OBJ)
sss_useradd_LDADD = \
$(TOOLS_LIBS)
sss_userdel_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_TOOLS_OBJ)
sss_userdel_LDADD = \
$(TOOLS_LIBS)
sss_groupadd_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_TOOLS_OBJ)
sss_groupadd_LDADD = \
$(TOOLS_LIBS)
sss_groupdel_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_TOOLS_OBJ)
sss_groupdel_LDADD = \
$(TOOLS_LIBS)
sss_usermod_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_TOOLS_OBJ)
sss_usermod_LDADD = \
$(TOOLS_LIBS)
sss_groupmod_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_TOOLS_OBJ)
sss_groupmod_LDADD = \
$(TOOLS_LIBS)
sss_groupshow_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_TOOLS_OBJ)
sss_groupshow_LDADD = \
$(TOOLS_LIBS)
#################
# Feature Tests #
#################
noinst_LTLIBRARIES += \
libsss_test_common_la_SOURCES = \
if HAVE_CHECK
libsss_test_common_la_SOURCES += \
sysdb_tests_DEPENDENCIES = \
$(ldblib_LTLIBRARIES)
sysdb_tests_SOURCES = \
$(SSSD_UTIL_OBJ)
sysdb_tests_CFLAGS = \
-DSYSDB_TEST \
$(AM_CFLAGS) \
$(CHECK_CFLAGS)
sysdb_tests_LDADD = \
$(SSSD_LIBS) \
$(CHECK_LIBS) \
strtonum_tests_SOURCES = \
strtonum_tests_CFLAGS = \
$(AM_CFLAGS) \
$(CHECK_CFLAGS)
strtonum_tests_LDADD = \
$(SSSD_LIBS) \
$(CHECK_LIBS) \
krb5_utils_tests_SOURCES = \
$(SSSD_FAILOVER_OBJ) \
$(SSSD_UTIL_OBJ)
krb5_utils_tests_CFLAGS = \
$(AM_CFLAGS) \
$(CHECK_CFLAGS)
krb5_utils_tests_LDADD = \
$(SSSD_LIBS)\
$(CARES_LIBS) \
$(CHECK_LIBS) \
check_and_open_tests_SOURCES = \
$(SSSD_DEBUG_OBJ) \
check_and_open_tests_CFLAGS = \
$(AM_CFLAGS) \
$(CHECK_CFLAGS)
check_and_open_tests_LDADD = \
$(CHECK_LIBS) \
FILES_TESTS_LIBS = \
$(CHECK_LIBS) \
$(POPT_LIBS) \
$(TALLOC_LIBS) \
if BUILD_SELINUX
FILES_TESTS_LIBS += $(SELINUX_LIBS)
endif
if BUILD_SEMANAGE
FILES_TESTS_LIBS += $(SEMANAGE_LIBS)
endif
files_tests_SOURCES = \
$(SSSD_DEBUG_OBJ) \
files_tests_CFLAGS = \
$(AM_CFLAGS) \
$(CHECK_CFLAGS)
files_tests_LDADD = \
$(FILES_TESTS_LIBS) \
SSSD_RESOLV_TESTS_OBJ = \
$(SSSD_RESOLV_OBJ)
if BUILD_ARES_DATA
SSSD_RESOLV_TESTS_OBJ += \
endif
resolv_tests_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_RESOLV_TESTS_OBJ)
resolv_tests_CFLAGS = \
$(AM_CFLAGS) \
$(CHECK_CFLAGS) \
-DBUILD_TXT
resolv_tests_LDADD = \
$(SSSD_LIBS) \
$(CHECK_LIBS) \
$(CARES_LIBS) \
refcount_tests_SOURCES = \
$(CHECK_OBJ) \
$(SSSD_UTIL_OBJ)
refcount_tests_CFLAGS = \
$(CHECK_CFLAGS)
refcount_tests_LDADD = \
$(SSSD_LIBS) \
$(CHECK_LIBS) \
fail_over_tests_SOURCES = \
$(SSSD_FAILOVER_OBJ) \
$(CHECK_OBJ) \
$(SSSD_UTIL_OBJ)
fail_over_tests_CFLAGS = \
$(CHECK_CFLAGS)
fail_over_tests_LDADD = \
$(SSSD_LIBS) \
$(CHECK_LIBS) \
$(CARES_LIBS) \
ipa_timerules_tests_SOURCES = \
$(SSSD_DEBUG_OBJ)
ipa_timerules_tests_CFLAGS = \
$(AM_CFLAGS) \
$(POPT_CFLAGS) \
$(TALLOC_CFLAGS) \
$(PCRE_CFLAGS) \
$(CHECK_CFLAGS)
ipa_timerules_tests_LDADD = \
$(POPT_LIBS) \
$(PCRE_LIBS) \
$(TALLOC_LIBS) \
$(CHECK_LIBS) \
find_uid_tests_SOURCES = \
$(SSSD_DEBUG_OBJ)
find_uid_tests_CFLAGS = \
$(AM_CFLAGS) \
$(TALLOC_CFLAGS) \
$(DHASH_CFLAGS) \
$(CHECK_CFLAGS)
find_uid_tests_LDADD = \
$(TALLOC_LIBS) \
$(DHASH_LIBS) \
$(CHECK_LIBS) \
auth_tests_SOURCES = \
$(SSSD_UTIL_OBJ)
auth_tests_CFLAGS = \
$(AM_CFLAGS) \
$(CHECK_CFLAGS)
auth_tests_LDADD = \
$(SSSD_LIBS) \
$(CHECK_LIBS) \
ipa_ldap_opt_tests_SOURCES = \
ipa_ldap_opt_tests_CFLAGS = \
$(AM_CFLAGS) \
$(CHECK_CFLAGS)
ipa_ldap_opt_tests_LDADD = \
$(CHECK_LIBS) \
$(TALLOC_LIBS) \
simple_access_tests_SOURCES = \
$(SSSD_UTIL_OBJ)
simple_access_tests_CFLAGS = \
$(AM_CFLAGS) \
$(CHECK_CFLAGS)
simple_access_tests_LDADD = \
$(SSSD_LIBS) \
$(CHECK_LIBS)
endif
stress_tests_SOURCES = \
$(SSSD_UTIL_OBJ)
stress_tests_LDADD = \
$(SSSD_LIBS) \
noinst_PROGRAMS = pam_test_client
pam_test_client_SOURCES = sss_client/pam_test_client.c
pam_test_client_LDFLAGS = -lpam -lpam_misc
####################
# Client Libraries #
####################
nsslib_LTLIBRARIES = libnss_sss.la
libnss_sss_la_SOURCES = \
libnss_sss_la_LDFLAGS = \
-module \
-version-info 2:0:0 \
-Wl,--version-script,$(srcdir)/sss_client/sss_nss.exports
pamlib_LTLIBRARIES = pam_sss.la
pam_sss_la_SOURCES = \
pam_sss_la_LDFLAGS = \
-lpam \
-module \
-avoid-version \
-Wl,--version-script,$(srcdir)/sss_client/sss_pam.exports
dist_noinst_DATA += \
####################
# Plugin Libraries #
####################
libsss_ldap_la_SOURCES = \
libsss_ldap_la_CFLAGS = \
$(AM_CFLAGS) \
$(LDAP_CFLAGS) \
$(KRB5_CFLAGS)
libsss_ldap_la_LIBADD = \
$(OPENLDAP_LIBS) \
$(KRB5_LIBS)
libsss_ldap_la_LDFLAGS = \
-version-info 1:0:0 \
-module
libsss_proxy_la_SOURCES = \
libsss_proxy_la_CFLAGS = \
$(AM_CFLAGS)
libsss_proxy_la_LIBADD = \
$(PAM_LIBS)
libsss_proxy_la_LDFLAGS = \
-version-info 1:0:0 \
-module
libsss_simple_la_SOURCES = \
libsss_simple_la_CFLAGS = \
$(AM_CFLAGS)
libsss_simple_la_LIBADD = \
$(PAM_LIBS)
libsss_simple_la_LDFLAGS = \
-version-info 1:0:0 \
-module
libsss_krb5_la_SOURCES = \
libsss_krb5_la_CFLAGS = \
$(AM_CFLAGS) \
$(DHASH_CFLAGS)
libsss_krb5_la_LIBADD = \
$(DHASH_LIBS) \
$(KRB5_LIBS)
libsss_krb5_la_LDFLAGS = \
-version-info 1:0:0 \
-module
libsss_ipa_la_SOURCES = \
libsss_ipa_la_CFLAGS = \
$(AM_CFLAGS) \
$(LDAP_CFLAGS) \
$(DHASH_CFLAGS) \
$(KRB5_CFLAGS)
libsss_ipa_la_LIBADD = \
$(OPENLDAP_LIBS) \
$(DHASH_LIBS) \
$(KRB5_LIBS)
libsss_ipa_la_LDFLAGS = \
-version-info 1:0:0 \
-module
krb5_child_SOURCES = \
$(SSSD_DEBUG_OBJ) \
krb5_child_CFLAGS = \
$(AM_CFLAGS) \
$(POPT_CFLAGS) \
$(KRB5_CFLAGS)
krb5_child_LDADD = \
$(TALLOC_LIBS) \
$(TEVENT_LIBS) \
$(POPT_LIBS) \
$(KRB5_LIBS)
ldap_child_SOURCES = \
$(SSSD_DEBUG_OBJ) \
ldap_child_CFLAGS = \
$(AM_CFLAGS) \
$(POPT_CFLAGS) \
$(KRB5_CFLAGS)
ldap_child_LDADD = \
$(TALLOC_LIBS) \
$(TEVENT_LIBS) \
$(POPT_LIBS) \
$(OPENLDAP_LIBS) \
$(KRB5_LIBS)
memberof_la_SOURCES = \
memberof_la_CFLAGS = \
$(AM_CFLAGS)
memberof_la_LIBADD = $(LDB_LIBS) $(DHASH_LIBS)
memberof_la_LDFLAGS = \
-avoid-version \
-module
if BUILD_KRB5_LOCATOR_PLUGIN
sssd_krb5_locator_plugin_la_SOURCES = \
sssd_krb5_locator_plugin_la_CFLAGS = \
$(AM_CFLAGS) \
$(KRB5_CFLAGS)
sssd_krb5_locator_plugin_la_LDFLAGS = \
-avoid-version \
-module
endif
if BUILD_PYTHON_BINDINGS
pysss_la_SOURCES = \
$(SSSD_UTIL_OBJ) \
$(SSSD_TOOLS_OBJ) \
pysss_la_CFLAGS = \
$(AM_CFLAGS) \
$(PYTHON_CFLAGS)
pysss_la_LIBADD = \
$(PYTHON_BINDINGS_LIBS) \
$(PYTHON_LIBS)
pysss_la_LDFLAGS = \
-avoid-version \
-module
endif
############
# MANPAGES #
############
#Special Rules:
export SGML_CATALOG_FILES
XMLLINT_FLAGS = --catalogs --postvalid --nonet --xinclude --noout
XSLTPROC_FLAGS = --catalogs --xinclude --nonet
$(XMLLINT) $(XMLLINT_FLAGS) $<
$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
$(XMLLINT) $(XMLLINT_FLAGS) $<
$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
$(XMLLINT) $(XMLLINT_FLAGS) $<
$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
$(XMLLINT) $(XMLLINT_FLAGS) $<
$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
#######################
# Installation Extras #
#######################
dist_init_SCRIPTS =
if HAVE_SUSE
dist_init_SCRIPTS += \
else
dist_init_SCRIPTS += \
endif
dist_sssdconf_DATA = \
dist_sssdapiplugin_DATA = \
installsssddirs::
mkdir -p \
$(DESTDIR)$(includedir) \
$(DESTDIR)$(libdir) \
$(DESTDIR)$(sbindir) \
$(DESTDIR)$(initdir) \
$(DESTDIR)$(mandir) \
$(DESTDIR)$(pluginpath) \
$(DESTDIR)$(libdir)/ldb \
$(DESTDIR)$(dbuspolicydir) \
$(DESTDIR)$(infpintrospectdir) \
$(DESTDIR)$(dbusintrospectdir) \
$(DESTDIR)$(pipepath)/private \
$(DESTDIR)$(sssdlibdir) \
$(DESTDIR)$(sssdconfdir) \
$(DESTDIR)$(dbpath) \
$(DESTDIR)$(pidpath) \
$(DESTDIR)$(initdir) \
$(DESTDIR)$(logpath) \
$(DESTDIR)$(pubconfpath)
if HAVE_DOXYGEN
docs:
$(DOXYGEN) doxy.config
else
docs:
@echo "Doxygen not installed, cannot generate documentation"
@exit 1
endif
all-local:
cd $(srcdir)/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/config
install-exec-hook: installsssddirs
if [ "$(DESTDIR)" = "" ]; then \
cd $(srcdir)/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/config install --prefix=$(PYTHON_PREFIX) --record=$(abs_builddir)/config/.files; \
else \
cd $(srcdir)/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/config install --prefix=$(PYTHON_PREFIX) --root=$(DESTDIR) --record=$(abs_builddir)/config/.files; \
fi
mkdir -p doc $(DESTDIR)/$(docdir); cp -a doc $(DESTDIR)/$(docdir)/
install-data-hook:
rm $(DESTDIR)/$(nsslibdir)/libnss_sss.so.2 \
$(DESTDIR)/$(nsslibdir)/libnss_sss.so
mv $(DESTDIR)/$(nsslibdir)/libnss_sss.so.2.0.0 $(DESTDIR)/$(nsslibdir)/libnss_sss.so.2
uninstall-hook:
if [ -f $(abs_builddir)/config/.files ]; then \
cat $(abs_builddir)/config/.files | xargs -iq rm -f $(DESTDIR)/q; \
rm $(abs_builddir)/config/.files ; \
fi
rm -Rf $(DESTDIR)/$(docdir)/doc
clean-local:
cd $(srcdir)/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/config clean --all
rm -Rf doc
CLEANFILES = *.X */*.X */*/*.X
tests: all $(check_PROGRAMS)