1# Makefile.am for the SASL plugins 2# Rob Siemborski 3# Rob Earhart 4# $Id: Makefile.am,v 1.86 2011/09/05 14:18:10 murch Exp $ 5# 6################################################################ 7# Copyright (c) 2000 Carnegie Mellon University. All rights reserved. 8# 9# Redistribution and use in source and binary forms, with or without 10# modification, are permitted provided that the following conditions 11# are met: 12# 13# 1. Redistributions of source code must retain the above copyright 14# notice, this list of conditions and the following disclaimer. 15# 16# 2. Redistributions in binary form must reproduce the above copyright 17# notice, this list of conditions and the following disclaimer in 18# the documentation and/or other materials provided with the 19# distribution. 20# 21# 3. The name "Carnegie Mellon University" must not be used to 22# endorse or promote products derived from this software without 23# prior written permission. For permission or any other legal 24# details, please contact 25# Office of Technology Transfer 26# Carnegie Mellon University 27# 5000 Forbes Avenue 28# Pittsburgh, PA 15213-3890 29# (412) 268-4387, fax: (412) 268-7395 30# tech-transfer@andrew.cmu.edu 31# 32# 4. Redistributions of any form whatsoever must retain the following 33# acknowledgment: 34# "This product includes software developed by Computing Services 35# at Carnegie Mellon University (http://www.cmu.edu/computing/)." 36# 37# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO 38# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 39# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE 40# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 41# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN 42# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 43# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 44# 45################################################################ 46 47# Library version info - here at the top, for sanity 48# See <http://www.gnu.org/software/libtool/manual/libtool.html#Versioning> 49# CURRENT:REVISION:AGE 50plugin_version = 3:0:0 51 52INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include 53AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir) -version-info $(plugin_version) 54 55COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@ 56 57EXTRA_DIST = makeinit.sh NTMakefile 58noinst_SCRIPTS = makeinit.sh 59 60LIB_MYSQL = @LIB_MYSQL@ 61 62plugindir = @plugindir@ 63 64common_sources = plugin_common.c plugin_common.h 65 66sasldir = $(prefix)/lib/sasl2 67sasl_LTLIBRARIES = @SASL_MECHS@ 68EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la libcrammd5.la \ 69 libgs2.la libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la libotp.la \ 70 libscram.la libntlm.la libpassdss.la libsasldb.la libsql.la libldapdb.la 71 72libplain_la_SOURCES = plain.c plain_init.c $(common_sources) 73libplain_la_DEPENDENCIES = $(COMPAT_OBJS) 74libplain_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS) 75 76libanonymous_la_SOURCES = anonymous.c anonymous_init.c $(common_sources) 77libanonymous_la_DEPENDENCIES = $(COMPAT_OBJS) 78libanonymous_la_LIBADD = $(COMPAT_OBJS) 79 80libkerberos4_la_SOURCES = kerberos4.c kerberos4_init.c $(common_sources) 81libkerberos4_la_DEPENDENCIES = $(COMPAT_OBJS) 82libkerberos4_la_LIBADD = $(SASL_KRB_LIB) $(LIB_SOCKET) $(COMPAT_OBJS) 83 84libgs2_la_SOURCES = gs2.c gs2_init.c gs2_token.c gs2_token.h $(common_sources) 85libgs2_la_DEPENDENCIES = $(COMPAT_OBJS) 86libgs2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS) 87 88libgssapiv2_la_SOURCES = gssapi.c gssapiv2_init.c $(common_sources) 89libgssapiv2_la_DEPENDENCIES = $(COMPAT_OBJS) 90libgssapiv2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS) 91 92libcrammd5_la_SOURCES = cram.c crammd5_init.c $(common_sources) 93libcrammd5_la_DEPENDENCIES = $(COMPAT_OBJS) 94libcrammd5_la_LIBADD = $(COMPAT_OBJS) 95 96libdigestmd5_la_SOURCES = digestmd5.c digestmd5_init.c $(common_sources) 97libdigestmd5_la_DEPENDENCIES = $(COMPAT_OBJS) 98libdigestmd5_la_LIBADD = $(LIB_DES) $(LIB_SOCKET) $(COMPAT_OBJS) 99 100libscram_la_SOURCES = scram.c scram_init.c $(common_sources) 101libscram_la_DEPENDENCIES = $(COMPAT_OBJS) 102libscram_la_LIBADD = $(SCRAM_LIBS) $(COMPAT_OBJS) 103 104liblogin_la_SOURCES = login.c login_init.c $(common_sources) 105liblogin_la_DEPENDENCIES = $(COMPAT_OBJS) 106liblogin_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS) 107 108libsrp_la_SOURCES = srp.c srp_init.c $(common_sources) 109libsrp_la_DEPENDENCIES = $(COMPAT_OBJS) 110libsrp_la_LIBADD = $(SRP_LIBS) $(COMPAT_OBJS) 111 112libotp_la_SOURCES = otp.c otp_init.c otp.h $(common_sources) 113libotp_la_DEPENDENCIES = $(COMPAT_OBJS) 114libotp_la_LIBADD = $(OTP_LIBS) $(COMPAT_OBJS) 115 116libntlm_la_SOURCES = ntlm.c ntlm_init.c $(common_sources) 117libntlm_la_DEPENDENCIES = $(COMPAT_OBJS) 118libntlm_la_LIBADD = $(NTLM_LIBS) $(COMPAT_OBJS) 119 120libpassdss_la_SOURCES = passdss.c passdss_init.c $(common_sources) 121libpassdss_la_DEPENDENCIES = $(COMPAT_OBJS) 122libpassdss_la_LIBADD = $(PASSDSS_LIBS) $(COMPAT_OBJS) 123 124# Auxprop Plugins 125libsasldb_la_SOURCES = sasldb.c sasldb_init.c $(common_sources) 126libsasldb_la_DEPENDENCIES = $(COMPAT_OBJS) 127libsasldb_la_LIBADD = ../sasldb/libsasldb.la $(SASL_DB_LIB) $(COMPAT_OBJS) 128 129libldapdb_la_SOURCES = ldapdb.c ldapdb_init.c $(common_sources) 130libldapdb_la_DEPENDENCIES = $(COMPAT_OBJS) 131libldapdb_la_LIBADD = $(LIB_LDAP) $(COMPAT_OBJS) 132 133libsql_la_SOURCES = sql.c sql_init.c $(common_sources) 134libsql_la_LDFLAGS = $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) $(LIB_SQLITE3) \ 135 $(AM_LDFLAGS) 136libsql_la_DEPENDENCIES = $(COMPAT_OBJS) 137libsql_la_LIBADD = $(COMPAT_OBJS) 138 139 140# Instructions for making the _init files 141 142init_src=anonymous_init.c crammd5_init.c digestmd5_init.c scram_init.c gs2_init.c gssapiv2_init.c \ 143kerberos4_init.c login_init.c plain_init.c srp_init.c otp_init.c ntlm_init.c \ 144passdss_init.c sasldb_init.c sql_init.c ldapdb_init.c 145 146 147CLEANFILES=$(init_src) 148 149${init_src}: $(srcdir)/makeinit.sh 150 $(SHELL) $(srcdir)/makeinit.sh 151 152# Compatibility function build rules (they build in lib/) 153$(COMPAT_OBJS): 154 rm -f $(COMPAT_OBJS) 155 cd ../lib; $(MAKE) $(COMPAT_OBJS) 156 for file in $(COMPAT_OBJS); do ln -s ../lib/$$file .; done 157 158 159