1 ########################################################################
3 # Copyright (c) 2009-2011 Secure Endpoints Inc.
4 # Copyright (c) 2018 Kungliga Tekniska Högskolan
5 # (Royal Institute of Technology, Stockholm, Sweden).
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions
12 # - Redistributions of source code must retain the above copyright
13 # notice, this list of conditions and the following disclaimer.
15 # - Redistributions in binary form must reproduce the above copyright
16 # notice, this list of conditions and the following disclaimer in
17 # the documentation and/or other materials provided with the
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 # POSSIBILITY OF SUCH DAMAGE.
38 !include ../../windows/NTMakefile.w32
42 krb5/accept_sec_context.c \
45 krb5/address_to_krb5addr.c \
48 krb5/authorize_localname.c \
49 krb5/canonicalize_name.c \
59 krb5/delete_sec_context.c \
61 krb5/display_status.c \
62 krb5/duplicate_name.c \
63 krb5/duplicate_cred.c \
66 krb5/export_sec_context.c \
71 krb5/import_sec_context.c \
72 krb5/indicate_mechs.c \
74 krb5/init_sec_context.c \
75 krb5/inquire_context.c \
77 krb5/inquire_cred_by_mech.c \
78 krb5/inquire_cred_by_oid.c \
79 krb5/inquire_mechs_for_name.c \
80 krb5/inquire_names_for_mech.c \
81 krb5/inquire_sec_context_by_oid.c \
84 krb5/process_context_token.c \
86 krb5/release_buffer.c \
91 krb5/set_cred_option.c \
92 krb5/set_sec_context_option.c \
103 mech/gss_accept_sec_context.c \
104 mech/gss_acquire_cred.c \
105 mech/gss_acquire_cred_from.c \
106 mech/gss_acquire_cred_impersonate_name.c \
107 mech/gss_acquire_cred_with_password.c \
108 mech/gss_add_cred.c \
109 mech/gss_add_cred_from.c \
110 mech/gss_add_cred_with_password.c \
111 mech/gss_add_oid_set_member.c \
113 mech/gss_authorize_localname.c \
114 mech/gss_buffer_set.c \
115 mech/gss_canonicalize_name.c \
116 mech/gss_compare_name.c \
117 mech/gss_context_time.c \
118 mech/gss_create_empty_oid_set.c \
120 mech/gss_decapsulate_token.c \
121 mech/gss_delete_name_attribute.c \
122 mech/gss_delete_sec_context.c \
123 mech/gss_destroy_cred.c \
124 mech/gss_display_name.c \
125 mech/gss_display_name_ext.c \
126 mech/gss_display_status.c \
127 mech/gss_duplicate_name.c \
128 mech/gss_duplicate_cred.c \
129 mech/gss_duplicate_oid.c \
130 mech/gss_duplicate_oid_set.c \
131 mech/gss_encapsulate_token.c \
132 mech/gss_export_name.c \
133 mech/gss_export_name_composite.c \
134 mech/gss_export_sec_context.c \
136 mech/gss_get_neg_mechs.c \
137 mech/gss_get_name_attribute.c \
138 mech/gss_import_name.c \
139 mech/gss_import_sec_context.c \
140 mech/gss_indicate_mechs.c \
141 mech/gss_init_sec_context.c \
142 mech/gss_inquire_context.c \
143 mech/gss_inquire_cred.c \
144 mech/gss_inquire_cred_by_mech.c \
145 mech/gss_inquire_cred_by_oid.c \
146 mech/gss_inquire_mechs_for_name.c \
147 mech/gss_inquire_name.c \
148 mech/gss_inquire_names_for_mech.c \
150 mech/gss_mech_switch.c \
154 mech/gss_oid_equal.c \
155 mech/gss_oid_to_str.c \
156 mech/gss_pname_to_uid.c \
157 mech/gss_process_context_token.c \
158 mech/gss_pseudo_random.c \
159 mech/gss_release_buffer.c \
160 mech/gss_release_cred.c \
161 mech/gss_release_name.c \
162 mech/gss_release_oid.c \
163 mech/gss_release_oid_set.c \
166 mech/gss_set_cred_option.c \
167 mech/gss_set_name_attribute.c \
168 mech/gss_set_neg_mechs.c \
169 mech/gss_set_sec_context_option.c \
171 mech/gss_store_cred.c \
172 mech/gss_store_cred_into.c \
173 mech/gss_test_oid_set_member.c \
178 mech/gss_verify_mic.c \
180 mech/gss_wrap_size_limit.c \
181 mech/gss_inquire_sec_context_by_oid.c \
182 mech/gssspi_exchange_meta_data.c \
183 mech/gssspi_query_mechanism_info.c \
184 mech/gssspi_query_meta_data.c \
191 spnego/accept_sec_context.c \
193 spnego/context_storage.c \
194 spnego/context_stubs.c \
196 spnego/init_sec_context.c \
197 spnego/negoex_ctx.c \
198 spnego/negoex_util.c \
199 spnego/spnego_locl.h \
203 ntlm/accept_sec_context.c \
204 ntlm/acquire_cred.c \
206 ntlm/canonicalize_name.c \
207 ntlm/compare_name.c \
208 ntlm/context_time.c \
211 ntlm/delete_sec_context.c \
212 ntlm/display_name.c \
213 ntlm/display_status.c \
214 ntlm/duplicate_name.c \
215 ntlm/duplicate_cred.c \
217 ntlm/export_sec_context.c \
221 ntlm/import_sec_context.c \
222 ntlm/indicate_mechs.c \
223 ntlm/init_sec_context.c \
224 ntlm/inquire_context.c \
225 ntlm/inquire_cred_by_mech.c \
226 ntlm/inquire_mechs_for_name.c \
227 ntlm/inquire_names_for_mech.c \
228 ntlm/inquire_sec_context_by_oid.c \
230 ntlm/process_context_token.c \
231 ntlm/release_cred.c \
232 ntlm/release_name.c \
233 ntlm/set_sec_context_option.c \
237 sanon/accept_sec_context.c \
238 sanon/acquire_cred.c \
240 sanon/canonicalize_name.c \
241 sanon/compare_name.c \
242 sanon/context_time.c \
244 sanon/delete_sec_context.c \
245 sanon/display_name.c \
246 sanon/display_status.c \
247 sanon/duplicate_cred.c \
248 sanon/duplicate_name.c \
249 sanon/export_cred.c \
250 sanon/export_name.c \
251 sanon/export_sec_context.c \
253 sanon/import_cred.c \
254 sanon/import_name.c \
255 sanon/import_sec_context.c \
256 sanon/init_sec_context.c \
257 sanon/inquire_context.c \
258 sanon/inquire_cred.c \
259 sanon/inquire_cred_by_mech.c \
260 sanon/inquire_mechs_for_name.c \
261 sanon/inquire_names_for_mech.c \
262 sanon/inquire_sec_context_by_oid.c \
264 sanon/process_context_token.c \
265 sanon/release_cred.c \
268 $(OBJ)\ntlm\ntlm-private.h: $(ntlmsrc)
269 $(PERL) ../../cf/make-proto.pl -q -P remove -p $@ $(ntlmsrc)
271 $(OBJ)\krb5\gsskrb5-private.h: $(krb5src)
272 $(PERL) ../../cf/make-proto.pl -q -P remove -p $@ $(krb5src)
274 $(OBJ)\spnego\spnego-private.h: $(spnegosrc)
275 $(PERL) ../../cf/make-proto.pl -q -P remove -p $@ $(spnegosrc)
277 $(OBJ)\sanon\sanon-private.h: $(sanonsrc)
278 $(PERL) ../../cf/make-proto.pl -q -P remove -p $@ $(sanonsrc)
280 $(OBJ)\gssapi\asn1_gssapi_asn1.c $(OBJ)\gssapi\gssapi_asn1.h $(OBJ)\gssapi\gssapi_asn1-priv.h: \
281 $(BINDIR)\asn1_compile.exe mech\gssapi.asn1
283 $(BINDIR)\asn1_compile.exe --one-code-file $(SRCDIR)\mech\gssapi.asn1 gssapi_asn1 \
284 || ( $(RM) $(OBJ)\gssapi\gssapi_asn1.h ; exit /b 1 )
287 $(OBJ)\spnego\asn1_spnego_asn1.c $(OBJ)\spnego\spnego_asn1.h $(OBJ)\spnego\spnego_asn1-priv.h: \
288 $(BINDIR)\asn1_compile.exe spnego\spnego.asn1
290 $(BINDIR)\asn1_compile --one-code-file --sequence=MechTypeList \
291 $(SRCDIR)\spnego\spnego.asn1 spnego_asn1 \
292 || ( $(RM) $(OBJ)\spnego\spnego_asn1.h ; exit /b 1 )
295 $(OBJ)\gkrb5_err.c $(OBJ)\gkrb5_err.h: krb5\gkrb5_err.et
297 $(BINDIR)\compile_et.exe $(SRCDIR)\krb5\gkrb5_err.et
300 $(OBJ)\negoex_err.c $(OBJ)\negoex_err.h: spnego\negoex_err.et
302 $(BINDIR)\compile_et.exe $(SRCDIR)\spnego\negoex_err.et
307 $(INCDIR)\gssapi\gssapi.h \
308 $(INCDIR)\gssapi\gssapi_krb5.h \
309 $(INCDIR)\gssapi\gssapi_oid.h \
310 $(INCDIR)\gssapi\gssapi_ntlm.h \
311 $(INCDIR)\gssapi\gssapi_spnego.h \
312 $(INCDIR)\gssapi\gkrb5_err.h \
313 $(OBJ)\ntlm\ntlm-private.h \
314 $(OBJ)\spnego\spnego-private.h \
315 $(OBJ)\sanon\sanon-private.h \
316 $(OBJ)\krb5\gsskrb5-private.h \
318 $(OBJ)\negoex_err.h \
319 $(OBJ)\gssapi\gssapi_asn1.h \
320 $(OBJ)\gssapi\gssapi_asn1-priv.h \
321 $(OBJ)\spnego\spnego_asn1.h \
322 $(OBJ)\spnego\spnego_asn1-priv.h
327 $(OBJ)\krb5/8003.obj \
328 $(OBJ)\krb5/accept_sec_context.obj \
329 $(OBJ)\krb5/acquire_cred.obj \
330 $(OBJ)\krb5/add_cred.obj \
331 $(OBJ)\krb5/address_to_krb5addr.obj \
332 $(OBJ)\krb5/authorize_localname.obj \
333 $(OBJ)\krb5/aeap.obj \
334 $(OBJ)\krb5/arcfour.obj \
335 $(OBJ)\krb5/canonicalize_name.obj \
336 $(OBJ)\krb5/creds.obj \
337 $(OBJ)\krb5/ccache_name.obj \
338 $(OBJ)\krb5/cfx.obj \
339 $(OBJ)\krb5/compare_name.obj \
340 $(OBJ)\krb5/compat.obj \
341 $(OBJ)\krb5/context_time.obj \
342 $(OBJ)\krb5/copy_ccache.obj \
343 $(OBJ)\krb5/decapsulate.obj \
344 $(OBJ)\krb5/delete_sec_context.obj \
345 $(OBJ)\krb5/display_name.obj \
346 $(OBJ)\krb5/display_status.obj \
347 $(OBJ)\krb5/duplicate_cred.obj \
348 $(OBJ)\krb5/duplicate_name.obj \
349 $(OBJ)\krb5/encapsulate.obj \
350 $(OBJ)\krb5/export_name.obj \
351 $(OBJ)\krb5/export_sec_context.obj \
352 $(OBJ)\krb5/external.obj \
353 $(OBJ)\krb5/get_mic.obj \
354 $(OBJ)\krb5/import_name.obj \
355 $(OBJ)\krb5/import_sec_context.obj \
356 $(OBJ)\krb5/indicate_mechs.obj \
357 $(OBJ)\krb5/init.obj \
358 $(OBJ)\krb5/init_sec_context.obj \
359 $(OBJ)\krb5/inquire_context.obj \
360 $(OBJ)\krb5/inquire_cred.obj \
361 $(OBJ)\krb5/inquire_cred_by_mech.obj \
362 $(OBJ)\krb5/inquire_cred_by_oid.obj \
363 $(OBJ)\krb5/inquire_mechs_for_name.obj \
364 $(OBJ)\krb5/inquire_names_for_mech.obj \
365 $(OBJ)\krb5/inquire_sec_context_by_oid.obj \
366 $(OBJ)\krb5/name_attrs.obj \
367 $(OBJ)\krb5/pname_to_uid.obj \
368 $(OBJ)\krb5/process_context_token.obj \
369 $(OBJ)\krb5/prf.obj \
370 $(OBJ)\krb5/release_buffer.obj \
371 $(OBJ)\krb5/release_cred.obj \
372 $(OBJ)\krb5/release_name.obj \
373 $(OBJ)\krb5/sequence.obj \
374 $(OBJ)\krb5/store_cred.obj \
375 $(OBJ)\krb5/set_cred_option.obj \
376 $(OBJ)\krb5/set_sec_context_option.obj \
377 $(OBJ)\krb5/ticket_flags.obj \
378 $(OBJ)\krb5/unwrap.obj \
379 $(OBJ)\krb5/verify_mic.obj \
380 $(OBJ)\krb5/wrap.obj \
381 $(OBJ)\mech/context.obj \
382 $(OBJ)\mech/cred.obj \
383 $(OBJ)\mech/gss_accept_sec_context.obj \
384 $(OBJ)\mech/gss_acquire_cred.obj \
385 $(OBJ)\mech/gss_acquire_cred_from.obj \
386 $(OBJ)\mech/gss_acquire_cred_impersonate_name.obj \
387 $(OBJ)\mech/gss_acquire_cred_with_password.obj \
388 $(OBJ)\mech/gss_add_cred.obj \
389 $(OBJ)\mech/gss_add_cred_from.obj \
390 $(OBJ)\mech/gss_add_cred_with_password.obj \
391 $(OBJ)\mech/gss_add_oid_set_member.obj \
392 $(OBJ)\mech/gss_aeap.obj \
393 $(OBJ)\mech/gss_authorize_localname.obj \
394 $(OBJ)\mech/gss_buffer_set.obj \
395 $(OBJ)\mech/gss_canonicalize_name.obj \
396 $(OBJ)\mech/gss_compare_name.obj \
397 $(OBJ)\mech/gss_context_time.obj \
398 $(OBJ)\mech/gss_create_empty_oid_set.obj \
399 $(OBJ)\mech/gss_cred.obj \
400 $(OBJ)\mech/gss_decapsulate_token.obj \
401 $(OBJ)\mech/gss_delete_name_attribute.obj \
402 $(OBJ)\mech/gss_delete_sec_context.obj \
403 $(OBJ)\mech/gss_destroy_cred.obj \
404 $(OBJ)\mech/gss_display_name.obj \
405 $(OBJ)\mech/gss_display_name_ext.obj \
406 $(OBJ)\mech/gss_display_status.obj \
407 $(OBJ)\mech/gss_duplicate_cred.obj \
408 $(OBJ)\mech/gss_duplicate_name.obj \
409 $(OBJ)\mech/gss_duplicate_oid.obj \
410 $(OBJ)\mech/gss_duplicate_oid_set.obj \
411 $(OBJ)\mech/gss_encapsulate_token.obj \
412 $(OBJ)\mech/gss_export_name.obj \
413 $(OBJ)\mech/gss_export_name_composite.obj \
414 $(OBJ)\mech/gss_export_sec_context.obj \
415 $(OBJ)\mech/gss_get_mic.obj \
416 $(OBJ)\mech/gss_get_neg_mechs.obj \
417 $(OBJ)\mech/gss_get_name_attribute.obj \
418 $(OBJ)\mech/gss_import_name.obj \
419 $(OBJ)\mech/gss_import_sec_context.obj \
420 $(OBJ)\mech/gss_indicate_mechs.obj \
421 $(OBJ)\mech/gss_init_sec_context.obj \
422 $(OBJ)\mech/gss_inquire_context.obj \
423 $(OBJ)\mech/gss_inquire_cred.obj \
424 $(OBJ)\mech/gss_inquire_cred_by_mech.obj \
425 $(OBJ)\mech/gss_inquire_cred_by_oid.obj \
426 $(OBJ)\mech/gss_inquire_mechs_for_name.obj \
427 $(OBJ)\mech/gss_inquire_name.obj \
428 $(OBJ)\mech/gss_inquire_names_for_mech.obj \
429 $(OBJ)\mech/gss_krb5.obj \
430 $(OBJ)\mech/gss_mech_switch.obj \
431 $(OBJ)\mech/gss_mo.obj \
432 $(OBJ)\mech/gss_names.obj \
433 $(OBJ)\mech/gss_oid.obj \
434 $(OBJ)\mech/gss_oid_equal.obj \
435 $(OBJ)\mech/gss_oid_to_str.obj \
436 $(OBJ)\mech/gss_pname_to_uid.obj \
437 $(OBJ)\mech/gss_process_context_token.obj \
438 $(OBJ)\mech/gss_pseudo_random.obj \
439 $(OBJ)\mech/gss_release_buffer.obj \
440 $(OBJ)\mech/gss_release_cred.obj \
441 $(OBJ)\mech/gss_release_name.obj \
442 $(OBJ)\mech/gss_release_oid.obj \
443 $(OBJ)\mech/gss_release_oid_set.obj \
444 $(OBJ)\mech/gss_rfc4121.obj \
445 $(OBJ)\mech/gss_seal.obj \
446 $(OBJ)\mech/gss_set_cred_option.obj \
447 $(OBJ)\mech/gss_set_name_attribute.obj \
448 $(OBJ)\mech/gss_set_neg_mechs.obj \
449 $(OBJ)\mech/gss_set_sec_context_option.obj \
450 $(OBJ)\mech/gss_sign.obj \
451 $(OBJ)\mech/gss_store_cred.obj \
452 $(OBJ)\mech/gss_store_cred_into.obj \
453 $(OBJ)\mech/gss_test_oid_set_member.obj \
454 $(OBJ)\mech/gss_unseal.obj \
455 $(OBJ)\mech/gss_unwrap.obj \
456 $(OBJ)\mech/gss_utils.obj \
457 $(OBJ)\mech/gss_verify.obj \
458 $(OBJ)\mech/gss_verify_mic.obj \
459 $(OBJ)\mech/gss_wrap.obj \
460 $(OBJ)\mech/gss_wrap_size_limit.obj \
461 $(OBJ)\mech/gss_inquire_sec_context_by_oid.obj \
462 $(OBJ)\mech/gssspi_exchange_meta_data.obj \
463 $(OBJ)\mech/gssspi_query_mechanism_info.obj \
464 $(OBJ)\mech/gssspi_query_meta_data.obj \
465 $(OBJ)\spnego/accept_sec_context.obj \
466 $(OBJ)\spnego/compat.obj \
467 $(OBJ)\spnego/context_storage.obj \
468 $(OBJ)\spnego/context_stubs.obj \
469 $(OBJ)\spnego/external.obj \
470 $(OBJ)\spnego/init_sec_context.obj \
471 $(OBJ)\spnego/negoex_ctx.obj \
472 $(OBJ)\spnego/negoex_util.obj \
473 $(OBJ)\ntlm/accept_sec_context.obj \
474 $(OBJ)\ntlm/acquire_cred.obj \
475 $(OBJ)\ntlm/add_cred.obj \
476 $(OBJ)\ntlm/canonicalize_name.obj \
477 $(OBJ)\ntlm/compare_name.obj \
478 $(OBJ)\ntlm/context_time.obj \
479 $(OBJ)\ntlm/creds.obj \
480 $(OBJ)\ntlm/crypto.obj \
481 $(OBJ)\ntlm/delete_sec_context.obj \
482 $(OBJ)\ntlm/display_name.obj \
483 $(OBJ)\ntlm/display_status.obj \
484 $(OBJ)\ntlm/duplicate_cred.obj \
485 $(OBJ)\ntlm/duplicate_name.obj \
486 $(OBJ)\ntlm/export_name.obj \
487 $(OBJ)\ntlm/export_sec_context.obj \
488 $(OBJ)\ntlm/external.obj \
489 $(OBJ)\ntlm/import_name.obj \
490 $(OBJ)\ntlm/import_sec_context.obj \
491 $(OBJ)\ntlm/indicate_mechs.obj \
492 $(OBJ)\ntlm/init_sec_context.obj \
493 $(OBJ)\ntlm/inquire_context.obj \
494 $(OBJ)\ntlm/inquire_cred_by_mech.obj \
495 $(OBJ)\ntlm/inquire_mechs_for_name.obj \
496 $(OBJ)\ntlm/inquire_names_for_mech.obj \
497 $(OBJ)\ntlm/inquire_sec_context_by_oid.obj \
498 $(OBJ)\ntlm/iter_cred.obj \
499 $(OBJ)\ntlm/process_context_token.obj \
500 $(OBJ)\ntlm/release_cred.obj \
501 $(OBJ)\ntlm/release_name.obj \
502 $(OBJ)\ntlm/set_sec_context_option.obj \
503 $(OBJ)\ntlm/kdc.obj \
504 $(OBJ)\sanon/accept_sec_context.obj \
505 $(OBJ)\sanon/acquire_cred.obj \
506 $(OBJ)\sanon/add_cred.obj \
507 $(OBJ)\sanon/canonicalize_name.obj \
508 $(OBJ)\sanon/compare_name.obj \
509 $(OBJ)\sanon/context_time.obj \
510 $(OBJ)\sanon/crypto.obj \
511 $(OBJ)\sanon/delete_sec_context.obj \
512 $(OBJ)\sanon/display_name.obj \
513 $(OBJ)\sanon/display_status.obj \
514 $(OBJ)\sanon/duplicate_cred.obj \
515 $(OBJ)\sanon/duplicate_name.obj \
516 $(OBJ)\sanon/export_cred.obj \
517 $(OBJ)\sanon/export_name.obj \
518 $(OBJ)\sanon/export_sec_context.obj \
519 $(OBJ)\sanon/external.obj \
520 $(OBJ)\sanon/import_cred.obj \
521 $(OBJ)\sanon/import_name.obj \
522 $(OBJ)\sanon/import_sec_context.obj \
523 $(OBJ)\sanon/init_sec_context.obj \
524 $(OBJ)\sanon/inquire_context.obj \
525 $(OBJ)\sanon/inquire_cred.obj \
526 $(OBJ)\sanon/inquire_cred_by_mech.obj \
527 $(OBJ)\sanon/inquire_mechs_for_name.obj \
528 $(OBJ)\sanon/inquire_names_for_mech.obj \
529 $(OBJ)\sanon/inquire_sec_context_by_oid.obj \
530 $(OBJ)\sanon/negoex.obj \
531 $(OBJ)\sanon/process_context_token.obj \
532 $(OBJ)\sanon/release_cred.obj \
533 $(OBJ)\sanon/release_name.obj \
534 $(OBJ)\gkrb5_err.obj \
535 $(OBJ)\negoex_err.obj \
536 $(OBJ)\spnego\asn1_spnego_asn1.obj \
537 $(OBJ)\gssapi\asn1_gssapi_asn1.obj
539 GCOPTS=-I$(SRCDIR) -I$(OBJ) -Igssapi -DBUILD_GSSAPI_LIB
541 {$(OBJ)\krb5}.c{$(OBJ)\krb5}.obj::
542 $(C2OBJ_NP) -Fo$(OBJ)\krb5\ -Fd$(OBJ)\krb5\ -I$(OBJ)\krb5 $(GCOPTS)
544 {krb5}.c{$(OBJ)\krb5}.obj::
545 $(C2OBJ_NP) -Fo$(OBJ)\krb5\ -Fd$(OBJ)\krb5\ -I$(OBJ)\krb5 $(GCOPTS) -DASN1_LIB
547 {$(OBJ)\mech}.c{$(OBJ)\mech}.obj::
548 $(C2OBJ_NP) -Fo$(OBJ)\mech\ -Fd$(OBJ)\mech\ -I$(OBJ)\mech $(GCOPTS)
550 {mech}.c{$(OBJ)\mech}.obj::
551 $(C2OBJ_NP) -Fo$(OBJ)\mech\ -Fd$(OBJ)\mech\ -I$(OBJ)\mech -I$(OBJ)\gssapi $(GCOPTS) -DASN1_LIB
553 {$(OBJ)\ntlm}.c{$(OBJ)\ntlm}.obj::
554 $(C2OBJ_NP) -Fo$(OBJ)\ntlm\ -Fd$(OBJ)\ntlm\ -I$(OBJ)\ntlm $(GCOPTS)
556 {ntlm}.c{$(OBJ)\ntlm}.obj::
557 $(C2OBJ_NP) -Fo$(OBJ)\ntlm\ -Fd$(OBJ)\ntlm\ -I$(OBJ)\ntlm $(GCOPTS) -DASN1_LIB
559 {$(OBJ)\spnego}.c{$(OBJ)\spnego}.obj::
560 $(C2OBJ_NP) -Fo$(OBJ)\spnego\ -Fd$(OBJ)\spnego\ -I$(OBJ)\spnego $(GCOPTS)
562 {spnego}.c{$(OBJ)\spnego}.obj::
563 $(C2OBJ_NP) -Fo$(OBJ)\spnego\ -Fd$(OBJ)\spnego\ -I$(OBJ)\spnego -Imech $(GCOPTS) -DASN1_LIB
565 {$(OBJ)\sanon}.c{$(OBJ)\sanon}.obj::
566 $(C2OBJ_NP) -Fo$(OBJ)\sanon\ -Fd$(OBJ)\sanon\ -I$(OBJ)\sanon -I$(OBJ) -I$(OBJ)\krb5 -I$(OBJ)\gssapi -Ikrb5 -Imech -Igssapi $(GCOPTS)
568 {sanon}.c{$(OBJ)\sanon}.obj::
569 $(C2OBJ_NP) -Fo$(OBJ)\sanon\ -Fd$(OBJ)\sanon\ -I$(OBJ)\sanon -I$(OBJ) -I$(OBJ)\krb5 -I$(OBJ)\gssapi -Ikrb5 -Imech -Igssapi $(GCOPTS) -DASN1_LIB
571 {$(OBJ)\gssapi}.c{$(OBJ)\gssapi}.obj::
572 $(C2OBJ_NP) -Fo$(OBJ)\gssapi\ -Fd$(OBJ)\gssapi\ -I$(OBJ)\gssapi $(GCOPTS)
574 {$(OBJ)}.c{$(OBJ)}.obj::
577 {gssapi}.h{$(INCDIR)\gssapi}.h:
580 {$(OBJ)}.h{$(INCDIR)\gssapi}.h:
592 Secur32.lib Shell32.lib Advapi32.lib
596 RES=$(OBJ)\libgssapi-version.res
598 $(BINDIR)\gssapi.dll: $(libgssapi_OBJs) $(RES)
599 $(DLLGUILINK_C) -implib:$(LIBGSSAPI) \
600 -out:$(BINDIR)\gssapi.dll \
601 -def:libgssapi-exports.def \
602 $(LIBGSSAPI_LIBS) $(RES) $(LIBGSSAPI_SDKLIBS) @<<
608 $(LIBGSSAPI): $(BINDIR)\gssapi.dll
611 -$(RM) $(BINDIR)\gssapi.*
615 $(LIBGSSAPI): $(libgssapi_OBJs)
616 $(LIBCON_C) -OUT:$@ $(LIBGSSAPI_LIBS) $(LIBGSSAPI_SDKLIBS) @<<
631 !if !exist($(OBJ)\ntlm)
634 !if !exist($(OBJ)\krb5)
637 !if !exist($(OBJ)\spnego)
638 $(MKDIR) $(OBJ)\spnego
640 !if !exist($(OBJ)\sanon)
641 $(MKDIR) $(OBJ)\sanon
643 !if !exist($(OBJ)\mech)
646 !if !exist($(OBJ)\gssapi)
647 $(MKDIR) $(OBJ)\gssapi
651 -$(RM) $(OBJ)\ntlm\*.*
652 -$(RM) $(OBJ)\krb5\*.*
653 -$(RM) $(OBJ)\spnego\*.*
654 -$(RM) $(OBJ)\mech\*.*
655 -$(RM) $(OBJ)\sanon\*.*
656 -$(RM) $(OBJ)\gssapi\*.*
658 all-tools:: $(BINDIR)\gsstool.exe
660 $(BINDIR)\gsstool.exe: $(OBJ)\gsstool.obj $(OBJ)\gss-commands.obj $(LIBGSSAPI) $(LIBROKEN) $(LIBSL) $(LIBVERS)
664 $(OBJ)\gss-commands.c $(OBJ)\gss-commands.h: gss-commands.in
666 $(CP) $(SRCDIR)\gss-commands.in gss-commands.in
667 $(BINDIR)\slc.exe gss-commands.in
671 # This macro invocation is used to update the libgssapi_OBJs
672 # definition below (generate-obj-macro is defined in maint.el):
674 (generate-obj-macro "libgssapi_OBJs"
675 (concat "\t$(OBJ)\\gkrb5_err.obj \\\n"
676 "\t$(OBJ)\\negoex_err.obj \\\n"
677 "\t$(OBJ)\\spnego\\asn1_spnego_asn1.obj \\\n"
678 "\t$(OBJ)\\gssapi\\asn1_gssapi_asn1.obj")
679 "krb5src" "mechsrc" "spnegosrc" "ntlmsrc")
683 $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libgssapi-exports.def
689 $(OBJ)\test_oid.exe \
690 $(OBJ)\test_names.exe \
691 $(OBJ)\test_cfx.exe \
692 $(OBJ)\test_acquire_cred.exe \
693 $(OBJ)\test_cred.exe \
694 $(OBJ)\test_kcred.exe \
695 $(OBJ)\test_context.exe \
698 $(OBJ)\test_oid.exe: $(OBJ)\test_oid.obj $(LIBGSSAPI) $(LIBROKEN)
702 $(OBJ)\test_names.exe: $(OBJ)\test_names.obj $(LIBGSSAPI) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
706 $(OBJ)\test_cfx.exe: $(OBJ)\krb5\test_cfx.obj $(LIBHEIMDAL) $(LIBGSSAPI) $(LIBROKEN)
710 $(OBJ)\test_acquire_cred.exe: $(OBJ)\test_acquire_cred.obj $(OBJ)\test_common.obj \
711 $(LIBGSSAPI) $(LIBROKEN) $(LIBVERS)
715 $(OBJ)\test_cred.exe: $(OBJ)\test_cred.obj $(LIBGSSAPI) $(LIBROKEN) $(LIBVERS)
719 $(OBJ)\test_kcred.exe: $(OBJ)\test_kcred.obj $(LIBGSSAPI) $(LIBHEIMDAL) \
720 $(LIBROKEN) $(LIBVERS)
724 $(OBJ)\test_context.exe: $(OBJ)\test_context.obj $(OBJ)\test_common.obj \
725 $(LIBGSSAPI) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
729 $(OBJ)\test_ntlm.exe: $(OBJ)\test_ntlm.obj $(OBJ)\test_common.obj \
730 $(LIBGSSAPI) $(LIBHEIMNTLM) $(LIBROKEN) $(LIBVERS)
735 $(C2OBJ_P) -I$(OBJ)\krb5 -I$(OBJ) -I$(SRCDIR) -I$(SRCDIR)\gssapi
737 test-binaries: $(LIBGSSAPI) $(TEST_BINARIES)
747 test:: test-binaries run-test