MIT SPI compat
[metze/heimdal/wip.git] / lib / gssapi / Makefile.am
1 # $Id$
2
3 include $(top_srcdir)/Makefile.am.common
4
5 AUTOMAKE_OPTIONS = subdir-objects
6
7 AM_CPPFLAGS += \
8         -I$(srcdir)/../krb5 \
9         -I$(srcdir) \
10         -I$(srcdir)/gssapi \
11         -I$(srcdir)/mech \
12         -I$(srcdir)/ntlm \
13         -I$(srcdir)/krb5 \
14         -I$(srcdir)/spnego \
15         $(INCLUDE_libintl) \
16         $(INCLUDE_hcrypto) \
17         $(INCLUDE_krb4)
18
19 lib_LTLIBRARIES = libgssapi.la
20
21 krb5src = \
22         krb5/8003.c \
23         krb5/accept_sec_context.c \
24         krb5/acquire_cred.c \
25         krb5/add_cred.c \
26         krb5/address_to_krb5addr.c \
27         krb5/aeap.c \
28         krb5/arcfour.c \
29         krb5/canonicalize_name.c \
30         krb5/creds.c \
31         krb5/ccache_name.c \
32         krb5/cfx.c \
33         krb5/cfx.h \
34         krb5/compare_name.c \
35         krb5/compat.c \
36         krb5/context_time.c \
37         krb5/copy_ccache.c \
38         krb5/decapsulate.c \
39         krb5/delete_sec_context.c \
40         krb5/display_name.c \
41         krb5/display_status.c \
42         krb5/duplicate_name.c \
43         krb5/encapsulate.c \
44         krb5/export_name.c \
45         krb5/export_sec_context.c \
46         krb5/external.c \
47         krb5/get_mic.c \
48         krb5/gsskrb5_locl.h \
49         krb5/gsskrb5-private.h \
50         krb5/import_name.c \
51         krb5/import_sec_context.c \
52         krb5/indicate_mechs.c \
53         krb5/init.c \
54         krb5/init_sec_context.c \
55         krb5/inquire_context.c \
56         krb5/inquire_cred.c \
57         krb5/inquire_cred_by_mech.c \
58         krb5/inquire_cred_by_oid.c \
59         krb5/inquire_mechs_for_name.c \
60         krb5/inquire_names_for_mech.c \
61         krb5/inquire_sec_context_by_oid.c \
62         krb5/process_context_token.c \
63         krb5/prf.c \
64         krb5/release_buffer.c \
65         krb5/release_cred.c \
66         krb5/release_name.c \
67         krb5/sequence.c \
68         krb5/store_cred.c \
69         krb5/set_cred_option.c \
70         krb5/set_sec_context_option.c \
71         krb5/ticket_flags.c \
72         krb5/unwrap.c \
73         krb5/verify_mic.c \
74         krb5/wrap.c
75
76 mechsrc = \
77         mech/context.h \
78         mech/context.c \
79         mech/cred.h \
80         mech/doxygen.c \
81         mech/gss_accept_sec_context.c \
82         mech/gss_acquire_cred.c \
83         mech/gss_acquire_cred_with_password.c \
84         mech/gss_add_cred.c \
85         mech/gss_add_cred_with_password.c \
86         mech/gss_add_oid_set_member.c \
87         mech/gss_aeap.c \
88         mech/gss_buffer_set.c \
89         mech/gss_canonicalize_name.c \
90         mech/gss_compare_name.c \
91         mech/gss_context_time.c \
92         mech/gss_create_empty_oid_set.c \
93         mech/gss_cred.c \
94         mech/gss_decapsulate_token.c \
95         mech/gss_delete_sec_context.c \
96         mech/gss_display_name.c \
97         mech/gss_display_status.c \
98         mech/gss_duplicate_name.c \
99         mech/gss_duplicate_oid.c \
100         mech/gss_encapsulate_token.c \
101         mech/gss_export_name.c \
102         mech/gss_export_sec_context.c \
103         mech/gss_get_mic.c \
104         mech/gss_import_name.c \
105         mech/gss_import_sec_context.c \
106         mech/gss_indicate_mechs.c \
107         mech/gss_init_sec_context.c \
108         mech/gss_inquire_context.c \
109         mech/gss_inquire_cred.c \
110         mech/gss_inquire_cred_by_mech.c \
111         mech/gss_inquire_cred_by_oid.c \
112         mech/gss_inquire_mechs_for_name.c \
113         mech/gss_inquire_names_for_mech.c \
114         mech/gss_krb5.c \
115         mech/gss_mech_switch.c \
116         mech/gss_mo.c \
117         mech/gss_names.c \
118         mech/gss_oid.c \
119         mech/gss_oid_equal.c \
120         mech/gss_oid_to_str.c \
121         mech/gss_process_context_token.c \
122         mech/gss_pseudo_random.c \
123         mech/gss_release_buffer.c \
124         mech/gss_release_cred.c \
125         mech/gss_release_name.c \
126         mech/gss_release_oid.c \
127         mech/gss_release_oid_set.c \
128         mech/gss_seal.c \
129         mech/gss_set_cred_option.c \
130         mech/gss_set_sec_context_option.c \
131         mech/gss_sign.c \
132         mech/gss_store_cred.c \
133         mech/gss_test_oid_set_member.c \
134         mech/gss_unseal.c \
135         mech/gss_unwrap.c \
136         mech/gss_utils.c \
137         mech/gss_verify.c \
138         mech/gss_verify_mic.c \
139         mech/gss_wrap.c \
140         mech/gss_wrap_size_limit.c \
141         mech/gss_inquire_sec_context_by_oid.c \
142         mech/mech_switch.h \
143         mech/mechqueue.h \
144         mech/mech_locl.h \
145         mech/name.h \
146         mech/utils.h
147
148 spnegosrc = \
149         spnego/accept_sec_context.c \
150         spnego/compat.c \
151         spnego/context_stubs.c \
152         spnego/cred_stubs.c \
153         spnego/external.c \
154         spnego/init_sec_context.c \
155         spnego/spnego_locl.h \
156         spnego/spnego-private.h
157
158 ntlmsrc = \
159         ntlm/accept_sec_context.c \
160         ntlm/acquire_cred.c \
161         ntlm/add_cred.c \
162         ntlm/canonicalize_name.c \
163         ntlm/compare_name.c \
164         ntlm/context_time.c \
165         ntlm/crypto.c \
166         ntlm/delete_sec_context.c \
167         ntlm/display_name.c \
168         ntlm/display_status.c \
169         ntlm/duplicate_name.c \
170         ntlm/export_name.c \
171         ntlm/export_sec_context.c \
172         ntlm/external.c \
173         ntlm/ntlm.h \
174         ntlm/ntlm-private.h \
175         ntlm/import_name.c \
176         ntlm/import_sec_context.c \
177         ntlm/indicate_mechs.c \
178         ntlm/init_sec_context.c \
179         ntlm/inquire_context.c \
180         ntlm/inquire_cred.c \
181         ntlm/inquire_cred_by_mech.c \
182         ntlm/inquire_mechs_for_name.c \
183         ntlm/inquire_names_for_mech.c \
184         ntlm/process_context_token.c \
185         ntlm/release_cred.c \
186         ntlm/release_name.c \
187         ntlm/kdc.c
188
189 $(srcdir)/ntlm/ntlm-private.h:
190         cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p ntlm/ntlm-private.h $(ntlmsrc) || rm -f ntlm/ntlm-private.h
191
192 dist_libgssapi_la_SOURCES  = \
193         $(krb5src) \
194         $(mechsrc) \
195         $(ntlmsrc) \
196         $(spnegosrc)
197
198 nodist_libgssapi_la_SOURCES  = \
199         gkrb5_err.c \
200         gkrb5_err.h \
201         $(BUILT_SOURCES)
202
203 libgssapi_la_LDFLAGS = -version-info 2:0:0
204
205 if versionscript
206 libgssapi_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map
207 endif
208
209 libgssapi_la_LIBADD = \
210         $(top_builddir)/lib/ntlm/libheimntlm.la \
211         $(top_builddir)/lib/krb5/libkrb5.la \
212         $(top_builddir)/lib/asn1/libasn1.la \
213         $(LIB_com_err) \
214         $(LIB_hcrypto) \
215         $(LIBADD_roken)
216
217 man_MANS = gssapi.3 gss_acquire_cred.3 mech/mech.5
218
219 include_HEADERS = gssapi.h
220 noinst_HEADERS = \
221         gssapi_mech.h \
222         ntlm/ntlm-private.h \
223         spnego/spnego-private.h \
224         krb5/gsskrb5-private.h
225
226 nobase_include_HEADERS = \
227         gssapi/gssapi.h \
228         gssapi/gssapi_krb5.h \
229         gssapi/gssapi_ntlm.h \
230         gssapi/gssapi_oid.h \
231         gssapi/gssapi_spnego.h
232
233 gssapidir = $(includedir)/gssapi
234 nodist_gssapi_HEADERS = gkrb5_err.h
235
236 gssapi_files = asn1_GSSAPIContextToken.x
237
238 spnego_files =                                  \
239         asn1_ContextFlags.x                     \
240         asn1_MechType.x                         \
241         asn1_MechTypeList.x                     \
242         asn1_NegotiationToken.x                 \
243         asn1_NegotiationTokenWin.x              \
244         asn1_NegHints.x                         \
245         asn1_NegTokenInit.x                     \
246         asn1_NegTokenInitWin.x                  \
247         asn1_NegTokenResp.x
248
249 BUILTHEADERS = \
250         $(srcdir)/krb5/gsskrb5-private.h \
251         $(srcdir)/spnego/spnego-private.h \
252         $(srcdir)/ntlm/ntlm-private.h
253
254 $(libgssapi_la_OBJECTS): $(BUILTHEADERS)
255 $(test_context_OBJECTS): $(BUILTHEADERS)
256
257 $(libgssapi_la_OBJECTS): $(srcdir)/version-script.map
258
259 BUILT_SOURCES = $(spnego_files:.x=.c) $(gssapi_files:.x=.c)
260
261 CLEANFILES = $(BUILT_SOURCES) \
262         gkrb5_err.h gkrb5_err.c \
263         $(spnego_files) spnego_asn1*.h* spnego_asn1_files spnego_asn1-template.c \
264         $(gssapi_files) gssapi_asn1*.h* gssapi_asn1_files gssapi_asn1-template.c \
265         gss-commands.h gss-commands.c
266
267 $(spnego_files) spnego_asn1.hx spnego_asn1-priv.hx: spnego_asn1_files
268 $(gssapi_files) gssapi_asn1.hx gssapi_asn1-priv.hx: gssapi_asn1_files
269
270 spnego_asn1_files: $(ASN1_COMPILE_DEP) $(srcdir)/spnego/spnego.asn1 $(srcdir)/spnego/spnego.opt
271         $(ASN1_COMPILE) --option-file=$(srcdir)/spnego/spnego.opt $(srcdir)/spnego/spnego.asn1 spnego_asn1
272
273 gssapi_asn1_files: $(ASN1_COMPILE_DEP) $(srcdir)/mech/gssapi.asn1
274         $(ASN1_COMPILE) $(srcdir)/mech/gssapi.asn1 gssapi_asn1
275
276 $(srcdir)/krb5/gsskrb5-private.h:
277         cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p krb5/gsskrb5-private.h $(krb5src) || rm -f krb5/gsskrb5-private.h
278
279 $(srcdir)/spnego/spnego-private.h:
280         cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p spnego/spnego-private.h $(spnegosrc) || rm -f spnego/spnego-private.h
281
282
283 TESTS = test_oid test_names test_cfx
284 # test_sequence 
285
286 test_cfx_SOURCES = krb5/test_cfx.c
287
288 check_PROGRAMS = test_acquire_cred $(TESTS)
289
290 bin_PROGRAMS = gsstool
291 noinst_PROGRAMS = test_cred test_kcred test_context test_ntlm
292
293 test_context_SOURCES = test_context.c test_common.c test_common.h
294 test_ntlm_SOURCES = test_ntlm.c test_common.c test_common.h
295 test_acquire_cred_SOURCES = test_acquire_cred.c test_common.c test_common.h
296
297 test_ntlm_LDADD = \
298         $(top_builddir)/lib/ntlm/libheimntlm.la \
299         $(LDADD)
300
301 LDADD = libgssapi.la \
302         $(top_builddir)/lib/krb5/libkrb5.la \
303         $(LIB_roken)
304
305 # gss
306
307 dist_gsstool_SOURCES = gsstool.c
308 nodist_gsstool_SOURCES = gss-commands.c gss-commands.h
309
310 gsstool_LDADD = libgssapi.la \
311         $(top_builddir)/lib/sl/libsl.la \
312         $(top_builddir)/lib/krb5/libkrb5.la \
313         $(LIB_readline) \
314         $(LIB_roken)
315
316 gss-commands.c gss-commands.h: gss-commands.in
317         $(SLC) $(srcdir)/gss-commands.in
318
319 $(gsstool_OBJECTS): gss-commands.h
320
321 EXTRA_DIST = \
322         $(man_MANS) \
323         krb5/gkrb5_err.et \
324         mech/gssapi.asn1 \
325         spnego/spnego.asn1 \
326         spnego/spnego.opt \
327         version-script.map \
328         gss-commands.in
329
330 $(libgssapi_la_OBJECTS): gkrb5_err.h gssapi_asn1.h gssapi_asn1-priv.h
331 $(libgssapi_la_OBJECTS): spnego_asn1.h spnego_asn1-priv.h
332 $(libgssapi_la_OBJECTS): $(srcdir)/gssapi/gssapi_oid.h
333
334 gkrb5_err.h gkrb5_err.c: $(srcdir)/krb5/gkrb5_err.et
335         $(COMPILE_ET) $(srcdir)/krb5/gkrb5_err.et
336
337 $(srcdir)/gssapi/gssapi_oid.h $(srcdir)/mech/gss_oid.c:
338         perl $(srcdir)/gen-oid.pl -b base -h $(srcdir)/oid.txt > $(srcdir)/gssapi/gssapi_oid.h
339         perl $(srcdir)/gen-oid.pl -b base $(srcdir)/oid.txt > $(srcdir)/mech/gss_oid.c