gssapi: add dependency on gkrb5_err.h
[heimdal.git] / lib / gssapi / Makefile.am
blob3cb8437db28572fd721767a4b243d0ae7eb9f9b3
1 # $Id$
3 include $(top_srcdir)/Makefile.am.common
5 WFLAGS += $(WFLAGS_ENUM_CONV)
7 AUTOMAKE_OPTIONS = subdir-objects
9 AM_CPPFLAGS += \
10         -I$(top_srcdir)/lib \
11         -I$(srcdir)/../krb5 \
12         -I$(srcdir) \
13         -I$(srcdir)/gssapi \
14         -I$(srcdir)/mech \
15         -I$(srcdir)/ntlm \
16         -I$(srcdir)/krb5 \
17         -I$(srcdir)/spnego \
18         -I$(srcdir)/sanon \
19         $(INCLUDE_libintl)
21 lib_LTLIBRARIES = libgssapi.la test_negoex_mech.la
23 krb5src = \
24         krb5/8003.c \
25         krb5/accept_sec_context.c \
26         krb5/acquire_cred.c \
27         krb5/add_cred.c \
28         krb5/address_to_krb5addr.c \
29         krb5/aeap.c \
30         krb5/arcfour.c \
31         krb5/canonicalize_name.c \
32         krb5/creds.c \
33         krb5/ccache_name.c \
34         krb5/cfx.c \
35         krb5/cfx.h \
36         krb5/compare_name.c \
37         krb5/compat.c \
38         krb5/context_time.c \
39         krb5/copy_ccache.c \
40         krb5/decapsulate.c \
41         krb5/delete_sec_context.c \
42         krb5/display_name.c \
43         krb5/display_status.c \
44         krb5/duplicate_cred.c \
45         krb5/duplicate_name.c \
46         krb5/encapsulate.c \
47         krb5/export_name.c \
48         krb5/export_sec_context.c \
49         krb5/external.c \
50         krb5/get_mic.c \
51         krb5/gsskrb5_locl.h \
52         $(srcdir)/krb5/gsskrb5-private.h \
53         krb5/import_name.c \
54         krb5/import_sec_context.c \
55         krb5/indicate_mechs.c \
56         krb5/init.c \
57         krb5/init_sec_context.c \
58         krb5/inquire_context.c \
59         krb5/inquire_cred.c \
60         krb5/inquire_cred_by_mech.c \
61         krb5/inquire_cred_by_oid.c \
62         krb5/inquire_mechs_for_name.c \
63         krb5/inquire_names_for_mech.c \
64         krb5/inquire_sec_context_by_oid.c \
65         krb5/name_attrs.c \
66         krb5/pname_to_uid.c \
67         krb5/process_context_token.c \
68         krb5/prf.c \
69         krb5/release_buffer.c \
70         krb5/release_cred.c \
71         krb5/release_name.c \
72         krb5/sequence.c \
73         krb5/store_cred.c \
74         krb5/set_cred_option.c \
75         krb5/set_sec_context_option.c \
76         krb5/ticket_flags.c \
77         krb5/unwrap.c \
78         krb5/authorize_localname.c \
79         krb5/verify_mic.c \
80         krb5/wrap.c
82 mechsrc = \
83         mech/context.h \
84         mech/context.c \
85         mech/cred.h \
86         mech/cred.c \
87         mech/compat.h \
88         mech/doxygen.c \
89         mech/gss_accept_sec_context.c \
90         mech/gss_acquire_cred.c \
91         mech/gss_acquire_cred_from.c \
92         mech/gss_acquire_cred_impersonate_name.c \
93         mech/gss_acquire_cred_with_password.c \
94         mech/gss_add_cred.c \
95         mech/gss_add_cred_from.c \
96         mech/gss_add_cred_with_password.c \
97         mech/gss_add_oid_set_member.c \
98         mech/gss_aeap.c \
99         mech/gss_buffer_set.c \
100         mech/gss_canonicalize_name.c \
101         mech/gss_compare_name.c \
102         mech/gss_context_time.c \
103         mech/gss_create_empty_oid_set.c \
104         mech/gss_cred.c \
105         mech/gss_decapsulate_token.c \
106         mech/gss_delete_name_attribute.c \
107         mech/gss_delete_sec_context.c \
108         mech/gss_destroy_cred.c \
109         mech/gss_display_name.c \
110         mech/gss_display_name_ext.c \
111         mech/gss_display_status.c \
112         mech/gss_duplicate_cred.c \
113         mech/gss_duplicate_name.c \
114         mech/gss_duplicate_oid.c \
115         mech/gss_duplicate_oid_set.c \
116         mech/gss_encapsulate_token.c \
117         mech/gss_export_name.c \
118         mech/gss_export_name_composite.c \
119         mech/gss_export_sec_context.c \
120         mech/gss_get_mic.c \
121         mech/gss_get_neg_mechs.c \
122         mech/gss_get_name_attribute.c \
123         mech/gss_import_name.c \
124         mech/gss_import_sec_context.c \
125         mech/gss_indicate_mechs.c \
126         mech/gss_init_sec_context.c \
127         mech/gss_inquire_context.c \
128         mech/gss_inquire_cred.c \
129         mech/gss_inquire_cred_by_mech.c \
130         mech/gss_inquire_cred_by_oid.c \
131         mech/gss_inquire_mechs_for_name.c \
132         mech/gss_inquire_name.c \
133         mech/gss_inquire_names_for_mech.c \
134         mech/gss_krb5.c \
135         mech/gss_mech_switch.c \
136         mech/gss_mo.c \
137         mech/gss_names.c \
138         mech/gss_oid.c \
139         mech/gss_oid_equal.c \
140         mech/gss_oid_to_str.c \
141         mech/gss_pname_to_uid.c \
142         mech/gss_process_context_token.c \
143         mech/gss_pseudo_random.c \
144         mech/gss_release_buffer.c \
145         mech/gss_release_cred.c \
146         mech/gss_release_name.c \
147         mech/gss_release_oid.c \
148         mech/gss_release_oid_set.c \
149         mech/gss_rfc4121.c \
150         mech/gss_seal.c \
151         mech/gss_set_cred_option.c \
152         mech/gss_set_name_attribute.c \
153         mech/gss_set_neg_mechs.c \
154         mech/gss_set_sec_context_option.c \
155         mech/gss_sign.c \
156         mech/gss_store_cred.c \
157         mech/gss_store_cred_into.c \
158         mech/gss_test_oid_set_member.c \
159         mech/gss_unseal.c \
160         mech/gss_unwrap.c \
161         mech/gss_authorize_localname.c \
162         mech/gss_utils.c \
163         mech/gss_verify.c \
164         mech/gss_verify_mic.c \
165         mech/gss_wrap.c \
166         mech/gss_wrap_size_limit.c \
167         mech/gss_inquire_sec_context_by_oid.c \
168         mech/gssspi_exchange_meta_data.c \
169         mech/gssspi_query_mechanism_info.c \
170         mech/gssspi_query_meta_data.c \
171         mech/mech_switch.h \
172         mech/mech_locl.h \
173         mech/name.h \
174         mech/utils.h
176 spnegosrc = \
177         spnego/accept_sec_context.c \
178         spnego/compat.c \
179         spnego/context_storage.c \
180         spnego/context_stubs.c \
181         spnego/external.c \
182         spnego/init_sec_context.c \
183         spnego/negoex_ctx.c \
184         spnego/negoex_util.c \
185         spnego/spnego_locl.h \
186         spnego/negoex_locl.h \
187         $(srcdir)/spnego/spnego-private.h
189 ntlmsrc = \
190         ntlm/accept_sec_context.c \
191         ntlm/acquire_cred.c \
192         ntlm/add_cred.c \
193         ntlm/canonicalize_name.c \
194         ntlm/compare_name.c \
195         ntlm/context_time.c \
196         ntlm/creds.c \
197         ntlm/crypto.c \
198         ntlm/delete_sec_context.c \
199         ntlm/display_name.c \
200         ntlm/display_status.c \
201         ntlm/duplicate_name.c \
202         ntlm/export_name.c \
203         ntlm/export_sec_context.c \
204         ntlm/external.c \
205         ntlm/ntlm.h \
206         ntlm/import_name.c \
207         ntlm/import_sec_context.c \
208         ntlm/indicate_mechs.c \
209         ntlm/init_sec_context.c \
210         ntlm/inquire_context.c \
211         ntlm/inquire_cred_by_mech.c \
212         ntlm/inquire_mechs_for_name.c \
213         ntlm/inquire_names_for_mech.c \
214         ntlm/inquire_sec_context_by_oid.c \
215         ntlm/iter_cred.c \
216         ntlm/process_context_token.c \
217         ntlm/release_cred.c \
218         ntlm/release_name.c \
219         ntlm/set_sec_context_option.c \
220         ntlm/kdc.c
222 $(srcdir)/ntlm/ntlm-private.h: $(ntlmsrc)
223         cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p ntlm/ntlm-private.h $(ntlmsrc) || rm -f ntlm/ntlm-private.h
225 sanonsrc = \
226         sanon/accept_sec_context.c \
227         sanon/acquire_cred.c \
228         sanon/add_cred.c \
229         sanon/canonicalize_name.c \
230         sanon/compare_name.c \
231         sanon/context_time.c \
232         sanon/crypto.c \
233         sanon/delete_sec_context.c \
234         sanon/display_name.c \
235         sanon/display_status.c \
236         sanon/duplicate_cred.c \
237         sanon/duplicate_name.c \
238         sanon/export_name.c \
239         sanon/export_cred.c \
240         sanon/export_sec_context.c \
241         sanon/external.c \
242         sanon/import_cred.c \
243         sanon/import_name.c \
244         sanon/import_sec_context.c \
245         sanon/init_sec_context.c \
246         sanon/inquire_context.c \
247         sanon/inquire_cred.c \
248         sanon/inquire_cred_by_mech.c \
249         sanon/inquire_mechs_for_name.c \
250         sanon/inquire_names_for_mech.c \
251         sanon/inquire_sec_context_by_oid.c \
252         sanon/negoex.c \
253         sanon/process_context_token.c \
254         sanon/release_cred.c \
255         sanon/release_name.c \
256         sanon/sanon_locl.h \
257         sanon/sanon-private.h
259 dist_libgssapi_la_SOURCES  = \
260         $(krb5src) \
261         $(mechsrc) \
262         $(ntlmsrc) \
263         $(spnegosrc) \
264         $(sanonsrc)
266 nodist_libgssapi_la_SOURCES  = \
267         $(BUILT_SOURCES)
269 libgssapi_la_DEPENDENCIES = version-script.map
271 libgssapi_la_LDFLAGS = -version-info 3:0:0
273 if versionscript
274 libgssapi_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map
275 endif
277 libgssapi_la_LIBADD = \
278         $(top_builddir)/lib/ntlm/libheimntlm.la \
279         $(top_builddir)/lib/krb5/libkrb5.la \
280         $(top_builddir)/lib/asn1/libasn1.la \
281         $(LIB_com_err) \
282         $(LIB_hcrypto) \
283         $(LIBADD_roken)
285 man_MANS = gssapi.3 gss_acquire_cred.3 mech/mech.5 gss-token.1
287 include_HEADERS = gssapi.h
288 noinst_HEADERS = \
289         gssapi_asn1.h \
290         gssapi_mech.h \
291         $(srcdir)/ntlm/ntlm-private.h \
292         $(srcdir)/spnego/spnego-private.h \
293         $(srcdir)/sanon/sanon-private.h \
294         $(srcdir)/krb5/gsskrb5-private.h
296 nobase_include_HEADERS = \
297         gssapi/gssapi.h \
298         gssapi/gssapi_krb5.h \
299         gssapi/gssapi_ntlm.h \
300         gssapi/gssapi_oid.h \
301         gssapi/gssapi_spnego.h
303 gssapidir = $(includedir)/gssapi
304 nodist_gssapi_HEADERS = gkrb5_err.h negoex_err.h
306 gssapi_files =                                  \
307         asn1_GSSAPIContextToken.c
309 spnego_files =                                  \
310         asn1_ContextFlags.c                     \
311         asn1_MechType.c                         \
312         asn1_MechTypeList.c                     \
313         asn1_NegHints.c                         \
314         asn1_NegStateEnum.c                     \
315         asn1_NegTokenInit.c                     \
316         asn1_NegTokenInit2.c                    \
317         asn1_NegTokenResp.c                     \
318         asn1_NegotiationToken.c                 \
319         asn1_NegotiationToken2.c
321 BUILTHEADERS = \
322         $(srcdir)/krb5/gsskrb5-private.h \
323         $(srcdir)/spnego/spnego-private.h \
324         $(srcdir)/sanon/sanon-private.h \
325         $(srcdir)/ntlm/ntlm-private.h
327 $(libgssapi_la_OBJECTS): $(BUILTHEADERS)
328 $(test_context_OBJECTS): $(BUILTHEADERS)
330 $(libgssapi_la_OBJECTS): $(srcdir)/version-script.map
332 BUILT_SOURCES = \
333         $(spnego_files) \
334         $(gssapi_files) \
335         gkrb5_err.c \
336         gkrb5_err.h \
337         negoex_err.c \
338         negoex_err.h
340 $(libgssapi_la_OBJECTS): gkrb5_err.h negoex_err.h
341 gkrb5_err.h: $(srcdir)/krb5/gkrb5_err.et
342 negoex_err.h: $(srcdir)/spnego/negoex_err.et
344 CLEANFILES = $(BUILT_SOURCES) \
345         gkrb5_err.[ch] negoex_err.[ch] \
346         $(spnego_files) spnego_asn1*.h* spnego_asn1_files spnego_asn1-template.[cx] \
347         $(gssapi_files) gssapi_asn1*.h* gssapi_asn1_files gssapi_asn1-template.[cx] \
348         gss-commands.h gss-commands.c \
349         gssapi_asn1.json gssapi_asn1_oids.c gssapi_asn1_syms.c \
350         spnego_asn1.json spnego_asn1_oids.c spnego_asn1_syms.c
352 $(spnego_files) spnego_asn1.h spnego_asn1-priv.h: spnego_asn1_files
353         for genfile in '$(spnego_files)'; do \
354                 $(CLANG_FORMAT) -style=$(CLANG_FORMAT_STYLE) -i $${genfile}; \
355         done
357 $(gssapi_files) gssapi_asn1.h gssapi_asn1-priv.h: gssapi_asn1_files
358         for genfile in '$(gssapi_files)'; do \
359                 $(CLANG_FORMAT) -style=$(CLANG_FORMAT_STYLE) -i $${genfile}; \
360         done
362 spnego_asn1_files: $(ASN1_COMPILE_DEP) $(srcdir)/spnego/spnego.asn1 $(srcdir)/spnego/spnego.opt
363         $(ASN1_COMPILE) --option-file=$(srcdir)/spnego/spnego.opt $(srcdir)/spnego/spnego.asn1 spnego_asn1
364         @$(CLANG_FORMAT) -style=$(CLANG_FORMAT_STYLE) -i $$(cat spnego_asn1_files)
366 gssapi_asn1_files: $(ASN1_COMPILE_DEP) $(srcdir)/mech/gssapi.asn1
367         $(ASN1_COMPILE) $(srcdir)/mech/gssapi.asn1 gssapi_asn1
368         @$(CLANG_FORMAT) -style=$(CLANG_FORMAT_STYLE) -i $$(cat gssapi_asn1_files)
370 $(srcdir)/krb5/gsskrb5-private.h:
371         cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p krb5/gsskrb5-private.h $(krb5src) || rm -f krb5/gsskrb5-private.h
373 $(srcdir)/spnego/spnego-private.h:
374         cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p spnego/spnego-private.h $(spnegosrc) || rm -f spnego/spnego-private.h
376 $(srcdir)/sanon/sanon-private.h:
377         cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p sanon/sanon-private.h $(sanonsrc) || rm -f sanon/sanon-private.h
379 TESTS = test_oid test_names test_cfx
380 # test_sequence
382 test_cfx_SOURCES = krb5/test_cfx.c
384 check_PROGRAMS = test_acquire_cred $(TESTS)
386 bin_PROGRAMS = gsstool gss-token
387 noinst_PROGRAMS = test_cred test_kcred test_context test_ntlm test_add_store_cred
389 test_context_SOURCES = test_context.c test_common.c test_common.h
390 test_ntlm_SOURCES = test_ntlm.c test_common.c test_common.h
391 test_acquire_cred_SOURCES = test_acquire_cred.c test_common.c test_common.h
393 test_add_store_cred_SOURCES = test_add_store_cred.c
395 test_ntlm_LDADD = \
396         $(top_builddir)/lib/ntlm/libheimntlm.la \
397         $(LDADD)
399 LDADD = libgssapi.la \
400         $(top_builddir)/lib/krb5/libkrb5.la \
401         $(LIB_roken)
403 test_names_LDADD = $(LDADD) $(top_builddir)/lib/asn1/libasn1.la
404 test_context_LDADD = $(LDADD) $(top_builddir)/lib/asn1/libasn1.la $(top_builddir)/lib/wind/libwind.la
406 # gss
408 dist_gsstool_SOURCES = gsstool.c
409 nodist_gsstool_SOURCES = gss-commands.c gss-commands.h
410 dist_gss_token_SOURCES = gss-token.c
412 gsstool_LDADD = libgssapi.la \
413         $(top_builddir)/lib/sl/libsl.la \
414         $(top_builddir)/lib/krb5/libkrb5.la \
415         $(LIB_readline) \
416         $(LIB_roken)
418 gss_token_LDADD = libgssapi.la \
419         $(top_builddir)/lib/krb5/libkrb5.la \
420         $(LIB_roken)
422 gss-commands.c gss-commands.h: gss-commands.in
423         $(SLC) $(srcdir)/gss-commands.in
425 $(gsstool_OBJECTS): gss-commands.h
427 EXTRA_DIST = \
428         NTMakefile \
429         libgssapi-version.rc \
430         libgssapi-exports.def \
431         $(man_MANS) \
432         gen-oid.pl \
433         gssapi/gssapi_netlogon.h \
434         krb5/test_acquire_cred.c \
435         krb5/test_cred.c \
436         krb5/test_kcred.c \
437         krb5/test_oid.c \
438         oid.txt \
439         krb5/gkrb5_err.et \
440         mech/gssapi.asn1 \
441         spnego/spnego.asn1 \
442         spnego/spnego.opt \
443         spnego/negoex_err.et \
444         test_negoex_mech.c \
445         version-script.map \
446         gss-commands.in
448 $(libgssapi_la_OBJECTS): gkrb5_err.h gssapi_asn1.h gssapi_asn1-priv.h
449 $(libgssapi_la_OBJECTS): spnego_asn1.h spnego_asn1-priv.h
450 $(libgssapi_la_OBJECTS): $(srcdir)/gssapi/gssapi_oid.h
452 gkrb5_err.h gkrb5_err.c: $(srcdir)/krb5/gkrb5_err.et
453         $(COMPILE_ET) $(srcdir)/krb5/gkrb5_err.et
455 negoex_err.h negoex_err.c: $(srcdir)/spnego/negoex_err.et
456         $(COMPILE_ET) $(srcdir)/spnego/negoex_err.et
458 $(srcdir)/gssapi/gssapi_oid.h $(srcdir)/mech/gss_oid.c:
459         perl $(srcdir)/gen-oid.pl -b base -h $(srcdir)/oid.txt > $(srcdir)/gssapi/gssapi_oid.h
460         perl $(srcdir)/gen-oid.pl -b base $(srcdir)/oid.txt > $(srcdir)/mech/gss_oid.c
463 # NegoEx test mechanism, uses decode_GSSAPIContextToken
466 test_negoex_mech_la_SOURCES = test_negoex_mech.c $(gssapi_files)
467 test_negoex_mech_la_LDFLAGS = -module
468 test_negoex_mech_la_LIBADD = \
469         $(top_builddir)/lib/asn1/libasn1.la \
470         libgssapi.la