SUBDIRS =
#SUBDIRS += po
if HAVE_MANPAGES
SUBDIRS += man
endif
if HAVE_NLS
SUBDIRS += po
endif
# Some old versions of automake don't define builddir
builddir ?= .
DOXYGEN = @DOXYGEN@
DISTSETUPOPTS =
if HAVE_DEBIAN
DISTSETUPOPTS += --install-layout=deb
endif
gssconfdir = $(sysconfdir)/gss
gssntlmsspdir = $(libdir)/gssntlmssp
localedir = @localedir@
pkgconfigdir = $(libdir)/pkgconfig
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 \
-fno-strict-aliasing
endif
if HAVE_NLS
AM_CFLAGS += -DLOCALEDIR="\"$(localedir)\""
endif
dist_pkgconfig_DATA =
ACLOCAL_AMFLAGS = -I m4 -I .
check_PROGRAMS = \
ntlmssptest
gssntlmssp_LTLIBRARIES = \
gssntlmssp.la
dist_noinst_SCRIPTS = tests/scripts/dlopen.sh
dist_noinst_DATA =
###############################
# Global compilation settings #
###############################
AM_CPPFLAGS = \
-Wall \
-Iinclude \
-I.. \
-I$(srcdir)/include \
-I$(srcdir) \
-Iinclude \
-I. \
-DLIBDIR=\"$(libdir)\" \
-DVARDIR=\"$(localstatedir)\" \
-DSHLIBEXT=\"$(SHLIBEXT)\" \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DLOCALEDIR=\"$(localedir)\"
#EXTRA_DIST = build/config.rpath
GN_MECHGLUE_LIBS = $(GSSAPI_LIBS) $(CRYPTO_LIBS) $(WBC_LIBS)
GN_MECHGLUE_OBJ = \
src/crypto.c \
src/ntlm_crypto.c \
src/ntlm.c \
src/debug.c \
src/gss_err.c \
src/gss_spi.c \
src/gss_names.c \
src/gss_creds.c \
src/gss_sec_ctx.c \
src/gss_signseal.c \
src/gss_serialize.c \
src/external.c \
src/gss_auth.c \
src/gss_ntlmssp.c
if BUILD_WBCLIENT
GN_MECHGLUE_OBJ += src/winbind.c
endif
dist_noinst_HEADERS = \
src/crypto.h \
src/ntlm_common.h \
src/ntlm.h \
src/debug.h \
src/gss_ntlmssp.h \
src/gss_ntlmssp_winbind.h
gssapidir = $(includedir)/gssapi
dist_gssapi_HEADERS = \
src/gssapi_ntlmssp.h
POTFILES = src/gss_err.c
####################
# Program Binaries #
####################
gssntlmssp_la_SOURCES = \
$(GN_MECHGLUE_OBJ)
gssntlmssp_la_CFLAGS = \
$(WBC_CFLAGS) \
$(AM_CFLAGS)
gssntlmssp_la_LDFLAGS = \
$(GN_MECHGLUE_LIBS) \
-export-symbols-regex '^gss(spi|)_' \
-avoid-version \
-module
ntlmssptest_SOURCES = \
$(GN_MECHGLUE_OBJ) \
tests/ntlmssptest.c
ntlmssptest_CFLAGS = \
$(WBC_CFLAGS) \
$(AM_CFLAGS)
ntlmssptest_LDADD = \
$(WBC_LIBS) \
$(GSSAPI_LIBS) \
$(CRYPTO_LIBS)
dist_noinst_DATA += \
m4
noinst_PROGRAMS = ntlmssptest
################
# TRANSLATIONS #
################
update-po:
if HAVE_MANPAGES
$(MAKE) -C man update-po
endif
# $(MAKE) -C po update-po
#######################
# Installation Extras #
#######################
installgssntlmsspdirs::
mkdir -p \
$(DESTDIR)$(libdir)/gssntlmssp \
$(DESTDIR)$(mandir)
if HAVE_DOXYGEN
docs:
$(DOXYGEN) doxy.config
else
docs:
@echo "Doxygen not installed, cannot generate documentation"
@exit 1
endif
install-exec-hook: installgssntlmsspdirs
mkdir -p doc $(DESTDIR)/$(docdir); cp -a doc $(DESTDIR)/$(docdir)/
clean-local:
rm -Rf doc
CLEANFILES = *.X */*.X */*/*.X
tests: all $(check_PROGRAMS)
# RPM-related tasks
RPMBUILD ?= $(PWD)/rpmbuild
dist_noinst_DATA += \
m4 \
contrib/gssntlmssp.spec.in \
BUILD.txt \
COPYING
rpmroot:
mkdir -p $(RPMBUILD)/BUILD
mkdir -p $(RPMBUILD)/RPMS
mkdir -p $(RPMBUILD)/SOURCES
mkdir -p $(RPMBUILD)/SPECS
mkdir -p $(RPMBUILD)/SRPMS
po/$(PACKAGE).pot: $(POTFILES)
@echo "Regenerating $@" ; rm -f $@ && \
xgettext --directory=$(top_srcdir) --from-code=UTF-8 \
--sort-by-file --add-comments --keyword=_ --keyword=N_ \
--package-name="@PACKAGE@" --package-version="@VERSION@" \
--msgid-bugs-address="simo@samba.org" \
-o $@ $(POTFILES)
rpms: dist-gzip rpmroot
cp $(builddir)/contrib/gssntlmssp.spec $(RPMBUILD)/SPECS
cp $(distdir).tar.gz $(RPMBUILD)/SOURCES
cd $(RPMBUILD); \
rpmbuild --define "_topdir $(RPMBUILD)" -ba SPECS/gssntlmssp.spec
if GIT_CHECKOUT
prerelease-rpms:
cp $(srcdir)/version.m4 $(srcdir)/version.m4.orig
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) rpms
mv $(srcdir)/version.m4.orig $(srcdir)/version.m4
endif
# make srpms will use the old digest algorithm to be compatible
# with RHEL5
srpm: dist-gzip rpmroot
cp $(builddir)/contrib/gssntlmssp.spec $(RPMBUILD)/SPECS
cp $(distdir).tar.gz $(RPMBUILD)/SOURCES
cd $(RPMBUILD); \
rpmbuild --define "_topdir $(RPMBUILD)" \
--define _source_filedigest_algorithm=1 \
-bs SPECS/gssntlmssp.spec
if GIT_CHECKOUT
prerelease-srpm:
cp $(srcdir)/version.m4 $(srcdir)/version.m4.orig
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) srpm
mv $(srcdir)/version.m4.orig $(srcdir)/version.m4
endif
####################
# Testing #
####################
test_gssntlmssp:
TMPDIR=tests/scripts/ ./tests/scripts/dlopen.sh ./.libs/gssntlmssp.so || exit 1