1233294Sstas# $Id$
255682Smarkm
355682Smarkminclude $(top_srcdir)/Makefile.am.common
455682Smarkm
5178825SdfrAUTOMAKE_OPTIONS = subdir-objects
655682Smarkm
7233294SstasAM_CPPFLAGS += \
8233294Sstas	-I$(srcdir)/../krb5 \
9178825Sdfr	-I$(srcdir) \
10233294Sstas	-I$(srcdir)/gssapi \
11178825Sdfr	-I$(srcdir)/mech \
12233294Sstas	-I$(srcdir)/ntlm \
13233294Sstas	-I$(srcdir)/krb5 \
14233294Sstas	-I$(srcdir)/spnego \
15233294Sstas	$(INCLUDE_libintl) \
16178825Sdfr	$(INCLUDE_hcrypto) \
17178825Sdfr	$(INCLUDE_krb4)
18178825Sdfr
1955682Smarkmlib_LTLIBRARIES = libgssapi.la
2055682Smarkm
21178825Sdfrkrb5src = \
22178825Sdfr	krb5/8003.c \
23178825Sdfr	krb5/accept_sec_context.c \
24178825Sdfr	krb5/acquire_cred.c \
25178825Sdfr	krb5/add_cred.c \
26178825Sdfr	krb5/address_to_krb5addr.c \
27233294Sstas	krb5/aeap.c \
28178825Sdfr	krb5/arcfour.c \
29178825Sdfr	krb5/canonicalize_name.c \
30233294Sstas	krb5/creds.c \
31178825Sdfr	krb5/ccache_name.c \
32178825Sdfr	krb5/cfx.c \
33178825Sdfr	krb5/cfx.h \
34178825Sdfr	krb5/compare_name.c \
35178825Sdfr	krb5/compat.c \
36178825Sdfr	krb5/context_time.c \
37178825Sdfr	krb5/copy_ccache.c \
38178825Sdfr	krb5/decapsulate.c \
39178825Sdfr	krb5/delete_sec_context.c \
40178825Sdfr	krb5/display_name.c \
41178825Sdfr	krb5/display_status.c \
42178825Sdfr	krb5/duplicate_name.c \
43178825Sdfr	krb5/encapsulate.c \
44178825Sdfr	krb5/export_name.c \
45178825Sdfr	krb5/export_sec_context.c \
46178825Sdfr	krb5/external.c \
47178825Sdfr	krb5/get_mic.c \
48178825Sdfr	krb5/gsskrb5_locl.h \
49178825Sdfr	krb5/gsskrb5-private.h \
50178825Sdfr	krb5/import_name.c \
51178825Sdfr	krb5/import_sec_context.c \
52178825Sdfr	krb5/indicate_mechs.c \
53178825Sdfr	krb5/init.c \
54178825Sdfr	krb5/init_sec_context.c \
55178825Sdfr	krb5/inquire_context.c \
56178825Sdfr	krb5/inquire_cred.c \
57178825Sdfr	krb5/inquire_cred_by_mech.c \
58178825Sdfr	krb5/inquire_cred_by_oid.c \
59178825Sdfr	krb5/inquire_mechs_for_name.c \
60178825Sdfr	krb5/inquire_names_for_mech.c \
61178825Sdfr	krb5/inquire_sec_context_by_oid.c \
62233294Sstas	krb5/pname_to_uid.c \
63178825Sdfr	krb5/process_context_token.c \
64178825Sdfr	krb5/prf.c \
65178825Sdfr	krb5/release_buffer.c \
66178825Sdfr	krb5/release_cred.c \
67178825Sdfr	krb5/release_name.c \
68178825Sdfr	krb5/sequence.c \
69233294Sstas	krb5/store_cred.c \
70178825Sdfr	krb5/set_cred_option.c \
71178825Sdfr	krb5/set_sec_context_option.c \
72178825Sdfr	krb5/ticket_flags.c \
73178825Sdfr	krb5/unwrap.c \
74233294Sstas	krb5/authorize_localname.c \
75178825Sdfr	krb5/verify_mic.c \
76178825Sdfr	krb5/wrap.c
77120945Snectar
78178825Sdfrmechsrc = \
79178825Sdfr	mech/context.h \
80178825Sdfr	mech/context.c \
81178825Sdfr	mech/cred.h \
82233294Sstas	mech/compat.h \
83233294Sstas	mech/doxygen.c \
84178825Sdfr	mech/gss_accept_sec_context.c \
85178825Sdfr	mech/gss_acquire_cred.c \
86233294Sstas	mech/gss_acquire_cred_ext.c \
87233294Sstas	mech/gss_acquire_cred_with_password.c \
88178825Sdfr	mech/gss_add_cred.c \
89233294Sstas	mech/gss_add_cred_with_password.c \
90178825Sdfr	mech/gss_add_oid_set_member.c \
91233294Sstas	mech/gss_aeap.c \
92178825Sdfr	mech/gss_buffer_set.c \
93178825Sdfr	mech/gss_canonicalize_name.c \
94178825Sdfr	mech/gss_compare_name.c \
95178825Sdfr	mech/gss_context_time.c \
96178825Sdfr	mech/gss_create_empty_oid_set.c \
97233294Sstas	mech/gss_cred.c \
98178825Sdfr	mech/gss_decapsulate_token.c \
99233294Sstas	mech/gss_delete_name_attribute.c \
100178825Sdfr	mech/gss_delete_sec_context.c \
101178825Sdfr	mech/gss_display_name.c \
102233294Sstas	mech/gss_display_name_ext.c \
103178825Sdfr	mech/gss_display_status.c \
104178825Sdfr	mech/gss_duplicate_name.c \
105178825Sdfr	mech/gss_duplicate_oid.c \
106178825Sdfr	mech/gss_encapsulate_token.c \
107178825Sdfr	mech/gss_export_name.c \
108233294Sstas	mech/gss_export_name_composite.c \
109178825Sdfr	mech/gss_export_sec_context.c \
110178825Sdfr	mech/gss_get_mic.c \
111233294Sstas	mech/gss_get_name_attribute.c \
112178825Sdfr	mech/gss_import_name.c \
113178825Sdfr	mech/gss_import_sec_context.c \
114178825Sdfr	mech/gss_indicate_mechs.c \
115178825Sdfr	mech/gss_init_sec_context.c \
116178825Sdfr	mech/gss_inquire_context.c \
117178825Sdfr	mech/gss_inquire_cred.c \
118178825Sdfr	mech/gss_inquire_cred_by_mech.c \
119178825Sdfr	mech/gss_inquire_cred_by_oid.c \
120178825Sdfr	mech/gss_inquire_mechs_for_name.c \
121233294Sstas	mech/gss_inquire_name.c \
122178825Sdfr	mech/gss_inquire_names_for_mech.c \
123178825Sdfr	mech/gss_krb5.c \
124178825Sdfr	mech/gss_mech_switch.c \
125233294Sstas	mech/gss_mo.c \
126178825Sdfr	mech/gss_names.c \
127233294Sstas	mech/gss_oid.c \
128178825Sdfr	mech/gss_oid_equal.c \
129178825Sdfr	mech/gss_oid_to_str.c \
130233294Sstas	mech/gss_pname_to_uid.c \
131178825Sdfr	mech/gss_process_context_token.c \
132178825Sdfr	mech/gss_pseudo_random.c \
133178825Sdfr	mech/gss_release_buffer.c \
134178825Sdfr	mech/gss_release_cred.c \
135178825Sdfr	mech/gss_release_name.c \
136178825Sdfr	mech/gss_release_oid.c \
137178825Sdfr	mech/gss_release_oid_set.c \
138178825Sdfr	mech/gss_seal.c \
139178825Sdfr	mech/gss_set_cred_option.c \
140233294Sstas	mech/gss_set_name_attribute.c \
141178825Sdfr	mech/gss_set_sec_context_option.c \
142178825Sdfr	mech/gss_sign.c \
143233294Sstas	mech/gss_store_cred.c \
144178825Sdfr	mech/gss_test_oid_set_member.c \
145178825Sdfr	mech/gss_unseal.c \
146178825Sdfr	mech/gss_unwrap.c \
147233294Sstas	mech/gss_authorize_localname.c \
148178825Sdfr	mech/gss_utils.c \
149178825Sdfr	mech/gss_verify.c \
150178825Sdfr	mech/gss_verify_mic.c \
151178825Sdfr	mech/gss_wrap.c \
152178825Sdfr	mech/gss_wrap_size_limit.c \
153178825Sdfr	mech/gss_inquire_sec_context_by_oid.c \
154178825Sdfr	mech/mech_switch.h \
155178825Sdfr	mech/mechqueue.h \
156178825Sdfr	mech/mech_locl.h \
157178825Sdfr	mech/name.h \
158178825Sdfr	mech/utils.h
159178825Sdfr
160178825Sdfrspnegosrc = \
161178825Sdfr	spnego/accept_sec_context.c \
162178825Sdfr	spnego/compat.c \
163178825Sdfr	spnego/context_stubs.c \
164178825Sdfr	spnego/cred_stubs.c \
165178825Sdfr	spnego/external.c \
166178825Sdfr	spnego/init_sec_context.c \
167178825Sdfr	spnego/spnego_locl.h \
168178825Sdfr	spnego/spnego-private.h
169178825Sdfr
170178825Sdfrntlmsrc = \
171178825Sdfr	ntlm/accept_sec_context.c \
172178825Sdfr	ntlm/acquire_cred.c \
173178825Sdfr	ntlm/add_cred.c \
174178825Sdfr	ntlm/canonicalize_name.c \
175178825Sdfr	ntlm/compare_name.c \
176178825Sdfr	ntlm/context_time.c \
177233294Sstas	ntlm/creds.c \
178178825Sdfr	ntlm/crypto.c \
179178825Sdfr	ntlm/delete_sec_context.c \
180178825Sdfr	ntlm/display_name.c \
181178825Sdfr	ntlm/display_status.c \
182178825Sdfr	ntlm/duplicate_name.c \
183178825Sdfr	ntlm/export_name.c \
184178825Sdfr	ntlm/export_sec_context.c \
185178825Sdfr	ntlm/external.c \
186178825Sdfr	ntlm/ntlm.h \
187178825Sdfr	ntlm/ntlm-private.h \
188178825Sdfr	ntlm/import_name.c \
189178825Sdfr	ntlm/import_sec_context.c \
190178825Sdfr	ntlm/indicate_mechs.c \
191178825Sdfr	ntlm/init_sec_context.c \
192178825Sdfr	ntlm/inquire_context.c \
193178825Sdfr	ntlm/inquire_cred_by_mech.c \
194178825Sdfr	ntlm/inquire_mechs_for_name.c \
195178825Sdfr	ntlm/inquire_names_for_mech.c \
196233294Sstas	ntlm/inquire_sec_context_by_oid.c \
197233294Sstas	ntlm/iter_cred.c \
198178825Sdfr	ntlm/process_context_token.c \
199178825Sdfr	ntlm/release_cred.c \
200178825Sdfr	ntlm/release_name.c \
201233294Sstas	ntlm/kdc.c
202178825Sdfr
203178825Sdfr$(srcdir)/ntlm/ntlm-private.h:
204178825Sdfr	cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p ntlm/ntlm-private.h $(ntlmsrc) || rm -f ntlm/ntlm-private.h
205178825Sdfr
206178825Sdfrdist_libgssapi_la_SOURCES  = \
207178825Sdfr	$(krb5src) \
208178825Sdfr	$(mechsrc) \
209178825Sdfr	$(ntlmsrc) \
210178825Sdfr	$(spnegosrc)
211178825Sdfr
212178825Sdfrnodist_libgssapi_la_SOURCES  = \
213178825Sdfr	gkrb5_err.c \
214178825Sdfr	gkrb5_err.h \
215178825Sdfr	$(BUILT_SOURCES)
216178825Sdfr
217233294Sstaslibgssapi_la_DEPENDENCIES = version-script.map
218178825Sdfr
219233294Sstaslibgssapi_la_LDFLAGS = -version-info 3:0:0
220233294Sstas
221178825Sdfrif versionscript
222178825Sdfrlibgssapi_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map
223178825Sdfrendif
224178825Sdfr
225178825Sdfrlibgssapi_la_LIBADD = \
226178825Sdfr	$(top_builddir)/lib/ntlm/libheimntlm.la \
227178825Sdfr	$(top_builddir)/lib/krb5/libkrb5.la \
228178825Sdfr	$(top_builddir)/lib/asn1/libasn1.la \
229178825Sdfr	$(LIB_com_err) \
230178825Sdfr	$(LIB_hcrypto) \
231178825Sdfr	$(LIBADD_roken)
232178825Sdfr
233178825Sdfrman_MANS = gssapi.3 gss_acquire_cred.3 mech/mech.5
234178825Sdfr
23555682Smarkminclude_HEADERS = gssapi.h
236178825Sdfrnoinst_HEADERS = \
237178825Sdfr	gssapi_mech.h \
238178825Sdfr	ntlm/ntlm-private.h \
239178825Sdfr	spnego/spnego-private.h \
240178825Sdfr	krb5/gsskrb5-private.h
241233294Sstas
242178825Sdfrnobase_include_HEADERS = \
243178825Sdfr	gssapi/gssapi.h \
244178825Sdfr	gssapi/gssapi_krb5.h \
245233294Sstas	gssapi/gssapi_ntlm.h \
246233294Sstas	gssapi/gssapi_oid.h \
247178825Sdfr	gssapi/gssapi_spnego.h
24855682Smarkm
249178825Sdfrgssapidir = $(includedir)/gssapi
250178825Sdfrnodist_gssapi_HEADERS = gkrb5_err.h
251120945Snectar
252178825Sdfrgssapi_files = asn1_GSSAPIContextToken.x
253120945Snectar
254178825Sdfrspnego_files =					\
255178825Sdfr	asn1_ContextFlags.x			\
256178825Sdfr	asn1_MechType.x				\
257178825Sdfr	asn1_MechTypeList.x			\
258178825Sdfr	asn1_NegotiationToken.x			\
259178825Sdfr	asn1_NegotiationTokenWin.x		\
260178825Sdfr	asn1_NegHints.x				\
261178825Sdfr	asn1_NegTokenInit.x			\
262178825Sdfr	asn1_NegTokenInitWin.x			\
263178825Sdfr	asn1_NegTokenResp.x
264120945Snectar
265233294SstasBUILTHEADERS = \
266233294Sstas	$(srcdir)/krb5/gsskrb5-private.h \
267233294Sstas	$(srcdir)/spnego/spnego-private.h \
268233294Sstas	$(srcdir)/ntlm/ntlm-private.h
269178825Sdfr
270233294Sstas$(libgssapi_la_OBJECTS): $(BUILTHEADERS)
271233294Sstas$(test_context_OBJECTS): $(BUILTHEADERS)
272233294Sstas
273178825Sdfr$(libgssapi_la_OBJECTS): $(srcdir)/version-script.map
274178825Sdfr
275178825SdfrBUILT_SOURCES = $(spnego_files:.x=.c) $(gssapi_files:.x=.c)
276178825Sdfr
277178825SdfrCLEANFILES = $(BUILT_SOURCES) \
278178825Sdfr	gkrb5_err.h gkrb5_err.c \
279233294Sstas	$(spnego_files) spnego_asn1*.h* spnego_asn1_files spnego_asn1-template.c \
280233294Sstas	$(gssapi_files) gssapi_asn1*.h* gssapi_asn1_files gssapi_asn1-template.c \
281178825Sdfr	gss-commands.h gss-commands.c
282178825Sdfr
283233294Sstas$(spnego_files) spnego_asn1.hx spnego_asn1-priv.hx: spnego_asn1_files
284233294Sstas$(gssapi_files) gssapi_asn1.hx gssapi_asn1-priv.hx: gssapi_asn1_files
285178825Sdfr
286233294Sstasspnego_asn1_files: $(ASN1_COMPILE_DEP) $(srcdir)/spnego/spnego.asn1 $(srcdir)/spnego/spnego.opt
287233294Sstas	$(ASN1_COMPILE) --option-file=$(srcdir)/spnego/spnego.opt $(srcdir)/spnego/spnego.asn1 spnego_asn1
288178825Sdfr
289233294Sstasgssapi_asn1_files: $(ASN1_COMPILE_DEP) $(srcdir)/mech/gssapi.asn1
290233294Sstas	$(ASN1_COMPILE) $(srcdir)/mech/gssapi.asn1 gssapi_asn1
291178825Sdfr
292178825Sdfr$(srcdir)/krb5/gsskrb5-private.h:
293178825Sdfr	cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p krb5/gsskrb5-private.h $(krb5src) || rm -f krb5/gsskrb5-private.h
294178825Sdfr
295178825Sdfr$(srcdir)/spnego/spnego-private.h:
296178825Sdfr	cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p spnego/spnego-private.h $(spnegosrc) || rm -f spnego/spnego-private.h
297178825Sdfr
298178825Sdfr
299178825SdfrTESTS = test_oid test_names test_cfx
300178825Sdfr# test_sequence 
301178825Sdfr
302178825Sdfrtest_cfx_SOURCES = krb5/test_cfx.c
303178825Sdfr
304178825Sdfrcheck_PROGRAMS = test_acquire_cred $(TESTS)
305178825Sdfr
306233294Sstasbin_PROGRAMS = gsstool
307178825Sdfrnoinst_PROGRAMS = test_cred test_kcred test_context test_ntlm
308178825Sdfr
309178825Sdfrtest_context_SOURCES = test_context.c test_common.c test_common.h
310178825Sdfrtest_ntlm_SOURCES = test_ntlm.c test_common.c test_common.h
311178825Sdfrtest_acquire_cred_SOURCES = test_acquire_cred.c test_common.c test_common.h
312178825Sdfr
313178825Sdfrtest_ntlm_LDADD = \
314178825Sdfr	$(top_builddir)/lib/ntlm/libheimntlm.la \
315178825Sdfr	$(LDADD)
316178825Sdfr
317178825SdfrLDADD = libgssapi.la \
318178825Sdfr	$(top_builddir)/lib/krb5/libkrb5.la \
319178825Sdfr	$(LIB_roken)
320178825Sdfr
321178825Sdfr# gss
322178825Sdfr
323233294Sstasdist_gsstool_SOURCES = gsstool.c
324233294Sstasnodist_gsstool_SOURCES = gss-commands.c gss-commands.h
325178825Sdfr
326233294Sstasgsstool_LDADD = libgssapi.la \
327178825Sdfr	$(top_builddir)/lib/sl/libsl.la \
328178825Sdfr	$(top_builddir)/lib/krb5/libkrb5.la \
329178825Sdfr	$(LIB_readline) \
330178825Sdfr	$(LIB_roken)
331178825Sdfr
332178825Sdfrgss-commands.c gss-commands.h: gss-commands.in
333178825Sdfr	$(SLC) $(srcdir)/gss-commands.in
334178825Sdfr
335233294Sstas$(gsstool_OBJECTS): gss-commands.h
336178825Sdfr
337178825SdfrEXTRA_DIST = \
338233294Sstas	NTMakefile \
339233294Sstas	libgssapi-version.rc \
340233294Sstas	libgssapi-exports.def \
341178825Sdfr	$(man_MANS) \
342178825Sdfr	krb5/gkrb5_err.et \
343178825Sdfr	mech/gssapi.asn1 \
344178825Sdfr	spnego/spnego.asn1 \
345233294Sstas	spnego/spnego.opt \
346178825Sdfr	version-script.map \
347178825Sdfr	gss-commands.in
348178825Sdfr
349233294Sstas$(libgssapi_la_OBJECTS): gkrb5_err.h gssapi_asn1.h gssapi_asn1-priv.h
350233294Sstas$(libgssapi_la_OBJECTS): spnego_asn1.h spnego_asn1-priv.h
351233294Sstas$(libgssapi_la_OBJECTS): $(srcdir)/gssapi/gssapi_oid.h
352178825Sdfr
353178825Sdfrgkrb5_err.h gkrb5_err.c: $(srcdir)/krb5/gkrb5_err.et
354178825Sdfr	$(COMPILE_ET) $(srcdir)/krb5/gkrb5_err.et
355233294Sstas
356233294Sstas$(srcdir)/gssapi/gssapi_oid.h $(srcdir)/mech/gss_oid.c:
357233294Sstas	perl $(srcdir)/gen-oid.pl -b base -h $(srcdir)/oid.txt > $(srcdir)/gssapi/gssapi_oid.h
358233294Sstas	perl $(srcdir)/gen-oid.pl -b base $(srcdir)/oid.txt > $(srcdir)/mech/gss_oid.c
359