# Makefile.am for etc/uams/
-SUBDIRS = uams_krb4
-
#
# conditionally build some modules
#
UAMS_GENERIC = uams_guest.la uams_passwd.la
+uams_LINKS = uams_clrtxt.so
+dhx_exec_hook = echo
+dhx2_exec_hook = echo
+
+# these are complex: check if DHX and DHX2 module should be build
if USE_DHX
-UAMS_DHX_GENERIC = uams_randnum.la uams_pgp.la uams_dhx_passwd.la
+if HAVE_OPENSSL
+uams_LINKS += uams_dhx.so
+UAMS_DHX = uams_dhx_passwd.la
+if BUILD_PAM
+UAMS_DHX_PAM = uams_dhx_pam.la
+endif
+if USE_PAM_SO
+dhx_exec_hook += && $(LN_S) uams_dhx_pam.so uams_dhx.so
+else
+dhx_exec_hook += && $(LN_S) uams_dhx_passwd.so uams_dhx.so
+endif
+
+endif
endif
+if USE_DHX2
+if HAVE_LIBGCRYPT
+uams_LINKS += uams_dhx2.so
+UAMS_DHX2 = uams_dhx2_passwd.la
+if BUILD_PAM
+UAMS_DHX2_PAM = uams_dhx2_pam.la
+endif
+if USE_PAM_SO
+dhx2_exec_hook += && $(LN_S) uams_dhx2_pam.so uams_dhx2.so
+else
+dhx2_exec_hook += && $(LN_S) uams_dhx2_passwd.so uams_dhx2.so
+endif
+endif
+endif
+
+# these are simple, though some the last three depend on OpenSSL
+
if BUILD_PAM
UAMS_PAM = uams_pam.la
-if USE_DHX
-UAMS_DHX_PAM = uams_dhx_pam.la
endif
+
+if USE_RANDNUM
+UAMS_RANDNUM = uams_randnum.la
+endif
+
+if USE_PGP
+UAMS_PGP = uams_pgp.la
+endif
+
+if USE_GSSAPI
+UAMS_GSSAPI = uams_gss.la
endif
# links
+
if USE_PAM_SO
UAMS_CLRTXT_LINK = uams_pam.so
-UAMS_DHX_LINK = uams_dhx_pam.so
else
UAMS_CLRTXT_LINK = uams_passwd.so
-UAMS_DHX_LINK = uams_dhx_passwd.so
-endif
-
-#
-# SSL and crypto flag setup
-#
-
-if HAVE_GCRYPT
-CRYPT_CFLAGS = $(GCRYPT_CFLAGS)
-CRYPT_LIBS = $(GCRYPT_LIBS)
-else
-CRYPT_CFLAGS = $(SSL_CFLAGS)
-CRYPT_LIBS = $(SSL_LIBS)
endif
#
#
uams_guest_la_SOURCES = uams_guest.c
-uams_randnum_la_SOURCES = uams_randnum.c crypt.c crypt.h
+uams_randnum_la_SOURCES = uams_randnum.c
uams_passwd_la_SOURCES = uams_passwd.c
uams_pam_la_SOURCES = uams_pam.c
uams_pgp_la_SOURCES = uams_pgp.c
-uams_dhx_passwd_la_SOURCES = uams_dhx_passwd.c crypt.c crypt.h
-uams_dhx_pam_la_SOURCES = uams_dhx_pam.c crypt.c crypt.h
+uams_dhx_passwd_la_SOURCES = uams_dhx_passwd.c
+uams_dhx_pam_la_SOURCES = uams_dhx_pam.c
+uams_dhx2_passwd_la_SOURCES = uams_dhx2_passwd.c
+uams_dhx2_pam_la_SOURCES = uams_dhx2_pam.c
+uams_gss_la_SOURCES = uams_gss.c
#
# flags
#
-INCLUDES = @SSL_CFLAGS@
+# these should be sorted out, applying both to AM_CFLAGS is senseless
+AM_CFLAGS = @SSL_CFLAGS@ @LIBGCRYPT_CFLAGS@
-uams_guest_la_CFLAGS = @CFLAGS@
-uams_randnum_la_CFLAGS = @CFLAGS@ @SSL_CFLAGS@
-uams_passwd_la_CFLAGS = @CFLAGS@
-uams_pam_la_CFLAGS = @CFLAGS@
-uams_pgp_la_CFLAGS = @CFLAGS@ $(CRYPT_CFLAGS)
-uams_dhx_passwd_la_CFLAGS = @CFLAGS@ @SSL_CFLAGS@
-uams_dhx_pam_la_CFLAGS = @CFLAGS@ @SSL_CFLAGS@
+uams_pam_la_CFLAGS = @PAM_CFLAGS@
+uams_dhx_pam_la_CFLAGS = @SSL_CFLAGS@ @PAM_CFLAGS@
+uams_dhx2_pam_la_CFLAGS = @LIBGCRYPT_CFLAGS@ @PAM_CFLAGS@
+uams_gss_la_CFLAGS = @GSSAPI_CFLAGS@
uams_guest_la_LDFLAGS = -module -avoid-version
uams_randnum_la_LDFLAGS = -module -avoid-version @SSL_LIBS@
-uams_passwd_la_LDFLAGS = -module -avoid-version
-uams_pam_la_LDFLAGS = -module -avoid-version -lpam
-uams_pgp_la_LDFLAGS = -module -avoid-version $(CRYPT_LIBS)
-uams_dhx_passwd_la_LDFLAGS = -module -avoid-version @SSL_LIBS@
-uams_dhx_pam_la_LDFLAGS = -module -avoid-version @SSL_LIBS@ -lpam
+uams_passwd_la_LDFLAGS = -module -avoid-version @CRYPT_LIBS@
+uams_pam_la_LDFLAGS = -module -avoid-version @PAM_LIBS@
+uams_pgp_la_LDFLAGS = -module -avoid-version @SSL_LIBS@
+uams_dhx_passwd_la_LDFLAGS = -module -avoid-version @CRYPT_LIBS@ @SSL_LIBS@
+uams_dhx_pam_la_LDFLAGS = -module -avoid-version @CRYPT_LIBS@ @SSL_LIBS@ @PAM_LIBS@
+uams_dhx2_passwd_la_LDFLAGS = -module -avoid-version @CRYPT_LIBS@ @LIBGCRYPT_LIBS@
+uams_dhx2_pam_la_LDFLAGS = -module -avoid-version @LIBGCRYPT_LIBS@ @PAM_LIBS@
+uams_gss_la_LDFLAGS = -module -avoid-version @GSSAPI_LIBS@
#
# module compilation
uamsdir = @UAMS_PATH@
uams_LTLIBRARIES = \
$(UAMS_GENERIC) \
+ $(UAMS_PGP) \
$(UAMS_PAM) \
- $(UAMS_DHX_GENERIC) \
- $(UAMS_DHX_PAM)
+ $(UAMS_RANDNUM) \
+ $(UAMS_DHX) \
+ $(UAMS_DHX_PAM) \
+ $(UAMS_DHX2) \
+ $(UAMS_DHX2_PAM) \
+ $(UAMS_GSSAPI)
#
# link creation
#
-uams_LINKS =
-
-if USE_DHX
-install-exec-hook:
- (cd $(DESTDIR)$(uamsdir) && \
- rm -f uams_clrtxt.so uams_dhx.so && \
+install-data-hook:
+ (if [ -d $(DESTDIR)$(uamsdir) ] ; then \
+ cd $(DESTDIR)$(uamsdir) && \
+ rm -f $(uams_LINKS) && \
$(LN_S) $(UAMS_CLRTXT_LINK) uams_clrtxt.so && \
- $(LN_S) $(UAMS_DHX_LINK) uams_dhx.so \
- )
-else
-install-exec-hook:
- (cd $(DESTDIR)$(uamsdir) && \
- rm -f uams_clrtxt.so && \
- $(LN_S) $(UAMS_CLRTXT_LINK) uams_clrtxt.so \
- )
-endif
+ $(dhx_exec_hook) && \
+ $(dhx2_exec_hook) ; \
+ fi)
+
+
+
+uninstall-hook:
+ (if [ -d $(DESTDIR)$(uamsdir) ] ; then \
+ cd $(DESTDIR)$(uamsdir) && \
+ rm -f $(uams_LINKS) ; \
+ fi)