]> arthur.barton.de Git - netatalk.git/blobdiff - etc/uams/Makefile.am
DHX2 and liggcrypt from HEAD
[netatalk.git] / etc / uams / Makefile.am
index f344064372d585ec387adec214dd3d8cad438b4f..7db37dbcb46cd748cf78ea1c1fbac5b311cf7787 100644 (file)
 # 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
-DHX_UAMS = uams_dhx_pam.so uams_dhx_passwd.so uams_dhx.so uams_pgp.so
+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
 
-uamsdir = $(CONFIG_DIR)/uams
-uams_DATA = $(DHX_UAMS) uams_guest.so \
-       uams_pam.so uams_passwd.so \
-       uams_randnum.so uams_clrtxt.so
+endif
+endif
 
-EXTRA_DIST = uams_dhx_pam.c uams_dhx_passwd.c uams_pgp.c \
-       uams_guest.c uams_pam.c uams_passwd.c uams_randnum.c
+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
 
-#
-# standard library compilation:
-#
+# these are simple, though some the last three depend on OpenSSL
 
-SUFFIXES = .c .so
-.c.so:
-       $(COMPILE) -DHAVE_CONFIG_H -fPIC -DPIC \
-         -I$(top_srcdir) -fomit-frame-pointer -c $< ; \
-       $(LD) -shared -o $@ $*.o $(LIBS)
+if BUILD_PAM
+UAMS_PAM = uams_pam.la
+endif
 
-#
-# create symbolic links (conditionally, depending on when PAM is used):
-#
+if USE_RANDNUM
+UAMS_RANDNUM = uams_randnum.la
+endif
 
-if USE_PAM
+if USE_PGP
+UAMS_PGP = uams_pgp.la
+endif
 
-uams_clrtxt.so:
-       $(LN_S) uams_pam.so uams_clrtxt.so
+if USE_GSSAPI
+UAMS_GSSAPI = uams_gss.la
+endif
 
-uams_dhx.so:
-       $(LN_S) uams_dhx_pam.so uams_dhx.so
+# links
 
+if USE_PAM_SO
+UAMS_CLRTXT_LINK = uams_pam.so
 else
+UAMS_CLRTXT_LINK = uams_passwd.so
+endif
 
-uams_clrtxt.so:
-       $(LN_S) uams_passwd.so uams_clrtxt.so
-
-uams_dhx.so:
-       $(LN_S) uams_dhx_passwd.so uams_dhx.so
+#
+# source files
+#
 
-endif
+uams_guest_la_SOURCES      = uams_guest.c
+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
+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
 
 #
-# install/install-strip:
+# flags
 #
 
-install:
-       mkdir -p $(DESTDIR)$(UAMS_PATH); \
-       rm -f $(DESTDIR)$(UAMS_PATH)/uams_{clrtxt,dhx}.so; \
-       cp -dpf $(uams_DATA) $(DESTDIR)$(UAMS_PATH)/
+# do that on behalf of the brokeness of automake 1.4
+CFLAGS = @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@ @PAM_CFLAGS@
+uams_pgp_la_CFLAGS        = @CFLAGS@ @SSL_CFLAGS@
+uams_dhx_passwd_la_CFLAGS = @CFLAGS@ @SSL_CFLAGS@
+uams_dhx_pam_la_CFLAGS    = @CFLAGS@ @SSL_CFLAGS@ @PAM_CFLAGS@
+uams_dhx2_passwd_la_CFLAGS     = @CFLAGS@ @LIBGCRYPT_CFLAGS@
+uams_dhx2_pam_la_CFLAGS                = @CFLAGS@ @LIBGCRYPT_CFLAGS@ @PAM_CFLAGS@
+uams_gss_la_CFLAGS       = @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 @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
+#
 
-install-strip:
-       strip $(uams_DATA); \
-       $(MAKE) $(AM_MAKEFLAGS) install
+uamsdir = @UAMS_PATH@
+uams_LTLIBRARIES =             \
+       $(UAMS_GENERIC)         \
+       $(UAMS_PGP)             \
+       $(UAMS_PAM)             \
+       $(UAMS_RANDNUM)         \
+       $(UAMS_DHX)             \
+       $(UAMS_DHX_PAM)         \
+       $(UAMS_DHX2)            \
+       $(UAMS_DHX2_PAM)        \
+       $(UAMS_GSSAPI)
 
 #
-# cleanup
+# link creation
 #
 
-clean distclean clean-recursive distclean-recursive:
-       $(RM) $(uams_DATA) *.o core
+install-exec-hook:
+       (cd $(DESTDIR)$(uamsdir)                                        && \
+               rm -f $(uams_LINKS)                                     && \
+               $(LN_S) $(UAMS_CLRTXT_LINK) uams_clrtxt.so              && \
+               $(dhx_exec_hook)                                        && \
+               $(dhx2_exec_hook)                                       \
+       )
+
+
+
+uninstall-hook:
+       (cd $(DESTDIR)$(uamsdir)                                        && \
+               rm -f $(uams_LINKS)                                     \
+       )