1 # Makefile.am for the SASL plugins
4 # $Id: Makefile.am,v 1.78.2.1 2009/04/27 17:58:26 murch Exp $
6 ################################################################
7 # Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
9 # Redistribution and use in source and binary forms, with or without
10 # modification, are permitted provided that the following conditions
13 # 1. Redistributions of source code must retain the above copyright
14 # notice, this list of conditions and the following disclaimer.
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
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
28 # Pittsburgh, PA 15213-3890
29 # (412) 268-4387, fax: (412) 268-7395
30 # tech-transfer@andrew.cmu.edu
32 # 4. Redistributions of any form whatsoever must retain the following
34 # "This product includes software developed by Computing Services
35 # at Carnegie Mellon University (http://www.cmu.edu/computing/)."
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.
45 ################################################################
47 # Library version info - here at the top, for sanity
48 # CURRENT:REVISION:AGE
49 anonymous_version = 2:23:0
50 digestmd5_version = 2:23:0
51 kerberos4_version = 2:23:0
53 gssapiv2_version = 2:23:0
54 crammd5_version = 2:23:0
55 passdss_version = 2:23:0
56 sasldb_version = 2:23:0
57 login_version = 2:23:0
58 plain_version = 2:23:0
62 ldapdb_version = 2:23:0
65 INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include
66 AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir)
68 COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@
70 EXTRA_DIST = makeinit.sh NTMakefile
71 noinst_SCRIPTS = makeinit.sh
73 LIB_MYSQL = @LIB_MYSQL@
75 plugindir = @plugindir@
77 common_sources = plugin_common.c plugin_common.h
79 sasldir = $(prefix)/lib/sasl2
80 sasl_LTLIBRARIES = @SASL_MECHS@
81 EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la libcrammd5.la \
82 libgs2.la libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la libotp.la \
83 libntlm.la libpassdss.la libsasldb.la libsql.la libldapdb.la
85 libplain_la_SOURCES = plain.c plain_init.c $(common_sources)
86 libplain_la_LDFLAGS = -version-info $(plain_version) $(AM_LDFLAGS)
87 libplain_la_DEPENDENCIES = $(COMPAT_OBJS)
88 libplain_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
90 libanonymous_la_SOURCES = anonymous.c anonymous_init.c $(common_sources)
91 libanonymous_la_LDFLAGS = -version-info $(anonymous_version) $(AM_LDFLAGS)
92 libanonymous_la_DEPENDENCIES = $(COMPAT_OBJS)
93 libanonymous_la_LIBADD = $(COMPAT_OBJS)
95 libkerberos4_la_SOURCES = kerberos4.c kerberos4_init.c $(common_sources)
96 libkerberos4_la_LDFLAGS = -version-info $(kerberos4_version) $(AM_LDFLAGS)
97 libkerberos4_la_DEPENDENCIES = $(COMPAT_OBJS)
98 libkerberos4_la_LIBADD = $(SASL_KRB_LIB) $(LIB_SOCKET) $(COMPAT_OBJS)
100 libgs2_la_SOURCES = gs2.c gs2_init.c gs2_token.c $(common_sources)
101 libgs2_la_LDFLAGS = -version-info $(gs2_version) $(AM_LDFLAGS)
102 libgs2_la_DEPENDENCIES = $(COMPAT_OBJS)
103 libgs2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS)
105 libgssapiv2_la_SOURCES = gssapi.c gssapiv2_init.c $(common_sources)
106 libgssapiv2_la_LDFLAGS = -version-info $(gssapiv2_version) $(AM_LDFLAGS)
107 libgssapiv2_la_DEPENDENCIES = $(COMPAT_OBJS)
108 libgssapiv2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS)
110 libcrammd5_la_SOURCES = cram.c crammd5_init.c $(common_sources)
111 libcrammd5_la_LDFLAGS = -version-info $(crammd5_version) $(AM_LDFLAGS)
112 libcrammd5_la_DEPENDENCIES = $(COMPAT_OBJS)
113 libcrammd5_la_LIBADD = $(COMPAT_OBJS)
115 libdigestmd5_la_SOURCES = digestmd5.c digestmd5_init.c $(common_sources)
116 libdigestmd5_la_LDFLAGS = -version-info $(digestmd5_version) $(AM_LDFLAGS)
117 libdigestmd5_la_DEPENDENCIES = $(COMPAT_OBJS)
118 libdigestmd5_la_LIBADD = $(LIB_DES) $(LIB_SOCKET) $(COMPAT_OBJS)
120 liblogin_la_SOURCES = login.c login_init.c $(common_sources)
121 liblogin_la_LDFLAGS = -version-info $(login_version) $(AM_LDFLAGS)
122 liblogin_la_DEPENDENCIES = $(COMPAT_OBJS)
123 liblogin_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
125 libsrp_la_SOURCES = srp.c srp_init.c $(common_sources)
126 libsrp_la_LDFLAGS = -version-info $(srp_version) $(AM_LDFLAGS)
127 libsrp_la_DEPENDENCIES = $(COMPAT_OBJS)
128 libsrp_la_LIBADD = $(SRP_LIBS) $(COMPAT_OBJS)
130 libotp_la_SOURCES = otp.c otp_init.c otp.h $(common_sources)
131 libotp_la_LDFLAGS = -version-info $(otp_version) $(AM_LDFLAGS)
132 libotp_la_DEPENDENCIES = $(COMPAT_OBJS)
133 libotp_la_LIBADD = $(OTP_LIBS) $(COMPAT_OBJS)
135 libntlm_la_SOURCES = ntlm.c ntlm_init.c $(common_sources)
136 libntlm_la_LDFLAGS = -version-info $(ntlm_version) $(AM_LDFLAGS)
137 libntlm_la_DEPENDENCIES = $(COMPAT_OBJS)
138 libntlm_la_LIBADD = $(NTLM_LIBS) $(COMPAT_OBJS)
140 libpassdss_la_SOURCES = passdss.c passdss_init.c $(common_sources)
141 libpassdss_la_LDFLAGS = -version-info $(passdss_version) $(AM_LDFLAGS)
142 libpassdss_la_DEPENDENCIES = $(COMPAT_OBJS)
143 libpassdss_la_LIBADD = $(PASSDSS_LIBS) $(COMPAT_OBJS)
146 libsasldb_la_SOURCES = sasldb.c sasldb_init.c $(common_sources)
147 libsasldb_la_LDFLAGS = -version-info $(sasldb_version) $(AM_LDFLAGS)
148 libsasldb_la_DEPENDENCIES = $(COMPAT_OBJS)
149 libsasldb_la_LIBADD = ../sasldb/libsasldb.la $(SASL_DB_LIB) $(COMPAT_OBJS)
151 libldapdb_la_SOURCES = ldapdb.c ldapdb_init.c $(common_sources)
152 libldapdb_la_LDFLAGS = $(LIB_LDAP) -version-info $(ldapdb_version) $(AM_LDFLAGS)
153 libldapdb_la_DEPENDENCIES = $(COMPAT_OBJS)
154 libldapdb_la_LIBADD = $(COMPAT_OBJS)
156 libsql_la_SOURCES = sql.c sql_init.c $(common_sources)
157 libsql_la_LDFLAGS = $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_ $(AM_LDFLAGS)version)
158 libsql_la_DEPENDENCIES = $(COMPAT_OBJS)
159 libsql_la_LIBADD = $(COMPAT_OBJS)
162 # Instructions for making the _init files
164 init_src=anonymous_init.c crammd5_init.c digestmd5_init.c gssapiv2_init.c \
165 kerberos4_init.c login_init.c plain_init.c srp_init.c otp_init.c ntlm_init.c \
166 passdss_init.c sasldb_init.c sql_init.c ldapdb_init.c
169 CLEANFILES=$(init_src)
171 ${init_src}: $(srcdir)/makeinit.sh
172 $(SHELL) $(srcdir)/makeinit.sh
174 # Compatibility function build rules (they build in lib/)
177 cd ../lib; $(MAKE) $(COMPAT_OBJS)
178 for file in $(COMPAT_OBJS); do ln -s ../lib/$$file .; done