import cyrus-sasl-2.1.23
[cyrus-sasl.git] / plugins / Makefile.am
1 # Makefile.am for the SASL plugins
2 # Rob Siemborski
3 # Rob Earhart
4 # $Id: Makefile.am,v 1.78.2.1 2009/04/27 17:58:26 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 # CURRENT:REVISION:AGE
49 anonymous_version = 2:23:0
50 digestmd5_version = 2:23:0
51 kerberos4_version = 2:23:0
52 gssapiv2_version = 2:23:0
53 crammd5_version = 2:23:0
54 passdss_version = 2:23:0
55 sasldb_version = 2:23:0
56 login_version = 2:23:0
57 plain_version = 2:23:0
58 ntlm_version = 2:23:0
59 otp_version = 2:23:0
60 sql_version = 2:23:0
61 ldapdb_version = 2:23:0
62 srp_version = 2:23:0
63
64 INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include
65 AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir)
66
67 COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@
68
69 EXTRA_DIST = makeinit.sh NTMakefile
70 noinst_SCRIPTS = makeinit.sh
71
72 LIB_MYSQL = @LIB_MYSQL@
73
74 plugindir = @plugindir@
75
76 common_sources = plugin_common.c plugin_common.h
77
78 sasldir = $(prefix)/lib/sasl2
79 sasl_LTLIBRARIES = @SASL_MECHS@
80 EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la libcrammd5.la \
81         libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la libotp.la \
82         libntlm.la libpassdss.la libsasldb.la libsql.la libldapdb.la
83
84 libplain_la_SOURCES = plain.c plain_init.c $(common_sources)
85 libplain_la_LDFLAGS = -version-info $(plain_version)
86 libplain_la_DEPENDENCIES = $(COMPAT_OBJS)
87 libplain_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
88
89 libanonymous_la_SOURCES = anonymous.c anonymous_init.c $(common_sources)
90 libanonymous_la_LDFLAGS = -version-info $(anonymous_version)
91 libanonymous_la_DEPENDENCIES = $(COMPAT_OBJS)
92 libanonymous_la_LIBADD = $(COMPAT_OBJS)
93
94 libkerberos4_la_SOURCES = kerberos4.c kerberos4_init.c $(common_sources)
95 libkerberos4_la_LDFLAGS = -version-info $(kerberos4_version)
96 libkerberos4_la_DEPENDENCIES = $(COMPAT_OBJS)
97 libkerberos4_la_LIBADD = $(SASL_KRB_LIB) $(LIB_SOCKET) $(COMPAT_OBJS)
98
99 libgssapiv2_la_SOURCES = gssapi.c gssapiv2_init.c $(common_sources)
100 libgssapiv2_la_LDFLAGS = -version-info $(gssapiv2_version)
101 libgssapiv2_la_DEPENDENCIES = $(COMPAT_OBJS)
102 libgssapiv2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS)
103
104 libcrammd5_la_SOURCES = cram.c crammd5_init.c $(common_sources)
105 libcrammd5_la_LDFLAGS = -version-info $(crammd5_version)
106 libcrammd5_la_DEPENDENCIES = $(COMPAT_OBJS)
107 libcrammd5_la_LIBADD = $(COMPAT_OBJS)
108
109 libdigestmd5_la_SOURCES = digestmd5.c digestmd5_init.c $(common_sources)
110 libdigestmd5_la_LDFLAGS = -version-info $(digestmd5_version)
111 libdigestmd5_la_DEPENDENCIES = $(COMPAT_OBJS)
112 libdigestmd5_la_LIBADD = $(LIB_DES) $(LIB_SOCKET) $(COMPAT_OBJS)
113
114 liblogin_la_SOURCES = login.c login_init.c $(common_sources)
115 liblogin_la_LDFLAGS = -version-info $(login_version)
116 liblogin_la_DEPENDENCIES = $(COMPAT_OBJS)
117 liblogin_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
118
119 libsrp_la_SOURCES = srp.c srp_init.c $(common_sources)
120 libsrp_la_LDFLAGS = -version-info $(srp_version)
121 libsrp_la_DEPENDENCIES = $(COMPAT_OBJS)
122 libsrp_la_LIBADD = $(SRP_LIBS) $(COMPAT_OBJS)
123
124 libotp_la_SOURCES = otp.c otp_init.c otp.h $(common_sources)
125 libotp_la_LDFLAGS = -version-info $(otp_version)
126 libotp_la_DEPENDENCIES = $(COMPAT_OBJS)
127 libotp_la_LIBADD = $(OTP_LIBS) $(COMPAT_OBJS)
128
129 libntlm_la_SOURCES = ntlm.c ntlm_init.c $(common_sources)
130 libntlm_la_LDFLAGS = -version-info $(ntlm_version)
131 libntlm_la_DEPENDENCIES = $(COMPAT_OBJS)
132 libntlm_la_LIBADD = $(NTLM_LIBS) $(COMPAT_OBJS)
133
134 libpassdss_la_SOURCES = passdss.c passdss_init.c $(common_sources)
135 libpassdss_la_LDFLAGS = -version-info $(passdss_version)
136 libpassdss_la_DEPENDENCIES = $(COMPAT_OBJS)
137 libpassdss_la_LIBADD = $(PASSDSS_LIBS) $(COMPAT_OBJS)
138
139 # Auxprop Plugins
140 libsasldb_la_SOURCES = sasldb.c sasldb_init.c $(common_sources)
141 libsasldb_la_LDFLAGS = -version-info $(sasldb_version)
142 libsasldb_la_DEPENDENCIES = $(COMPAT_OBJS)
143 libsasldb_la_LIBADD = ../sasldb/libsasldb.la $(SASL_DB_LIB) $(COMPAT_OBJS)
144
145 libldapdb_la_SOURCES = ldapdb.c ldapdb_init.c $(common_sources)
146 libldapdb_la_LDFLAGS = $(LIB_LDAP) -version-info $(ldapdb_version)
147 libldapdb_la_DEPENDENCIES = $(COMPAT_OBJS)
148 libldapdb_la_LIBADD = $(COMPAT_OBJS)
149
150 libsql_la_SOURCES = sql.c sql_init.c $(common_sources)
151 libsql_la_LDFLAGS = $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version)
152 libsql_la_DEPENDENCIES = $(COMPAT_OBJS)
153 libsql_la_LIBADD = $(COMPAT_OBJS)
154
155
156 # Instructions for making the _init files
157
158 init_src=anonymous_init.c crammd5_init.c digestmd5_init.c gssapiv2_init.c \
159 kerberos4_init.c login_init.c plain_init.c srp_init.c otp_init.c ntlm_init.c \
160 passdss_init.c sasldb_init.c sql_init.c ldapdb_init.c
161
162
163 CLEANFILES=$(init_src)
164
165 ${init_src}: $(srcdir)/makeinit.sh
166         $(SHELL) $(srcdir)/makeinit.sh
167
168 # Compatibility function build rules (they build in lib/)
169 $(COMPAT_OBJS):
170         rm -f $(COMPAT_OBJS)
171         cd ../lib; $(MAKE) $(COMPAT_OBJS)
172         for file in $(COMPAT_OBJS); do ln -s ../lib/$$file .; done
173
174