1 ########################################################################
3 # Copyright (c) 2009, Secure Endpoints Inc.
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
10 # - Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
13 # - Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in
15 # the documentation and/or other materials provided with the
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 # POSSIBILITY OF SUCH DAMAGE.
34 !include ../../windows/NTMakefile.w32
39 $(OBJ)\add_et_list.obj \
40 $(OBJ)\addr_families.obj \
41 $(OBJ)\aname_to_localname.obj \
42 $(OBJ)\appdefault.obj \
43 $(OBJ)\asn1_glue.obj \
44 $(OBJ)\auth_context.obj \
45 $(OBJ)\build_ap_req.obj \
46 $(OBJ)\build_auth.obj \
50 $(OBJ)\config_file.obj \
51 $(OBJ)\config_reg.obj \
52 $(OBJ)\constants.obj \
54 $(OBJ)\copy_host_realm.obj \
58 $(OBJ)\crypto-aes.obj \
59 $(OBJ)\crypto-algs.obj \
60 $(OBJ)\crypto-arcfour.obj \
61 $(OBJ)\crypto-des-common.obj \
62 $(OBJ)\crypto-des.obj \
63 $(OBJ)\crypto-des3.obj \
64 $(OBJ)\crypto-evp.obj \
65 $(OBJ)\crypto-null.obj \
66 $(OBJ)\crypto-pk.obj \
67 $(OBJ)\crypto-rand.obj \
69 $(OBJ)\deprecated.obj \
72 $(OBJ)\eai_to_heim_errno.obj \
73 $(OBJ)\error_string.obj \
74 $(OBJ)\expand_hostname.obj \
75 $(OBJ)\expand_path.obj \
78 $(OBJ)\free_host_realm.obj \
79 $(OBJ)\generate_seq_number.obj \
80 $(OBJ)\generate_subkey.obj \
81 $(OBJ)\get_addrs.obj \
83 $(OBJ)\get_default_principal.obj \
84 $(OBJ)\get_default_realm.obj \
85 $(OBJ)\get_for_creds.obj \
86 $(OBJ)\get_host_realm.obj \
87 $(OBJ)\get_in_tkt.obj \
89 $(OBJ)\init_creds.obj \
90 $(OBJ)\init_creds_pw.obj \
94 $(OBJ)\keytab_any.obj \
95 $(OBJ)\keytab_file.obj \
96 $(OBJ)\keytab_keyfile.obj \
97 $(OBJ)\keytab_memory.obj \
103 $(OBJ)\mit_glue.obj \
104 $(OBJ)\mk_error.obj \
108 $(OBJ)\mk_req_ext.obj \
110 $(OBJ)\net_read.obj \
111 $(OBJ)\net_write.obj \
116 $(OBJ)\principal.obj \
117 $(OBJ)\prog_setup.obj \
118 $(OBJ)\prompter_posix.obj \
120 $(OBJ)\rd_error.obj \
125 $(OBJ)\read_message.obj \
126 $(OBJ)\recvauth.obj \
128 $(OBJ)\salt-aes.obj \
129 $(OBJ)\salt-arcfour.obj \
130 $(OBJ)\salt-des.obj \
131 $(OBJ)\salt-des3.obj \
134 $(OBJ)\send_to_kdc.obj \
135 $(OBJ)\sendauth.obj \
136 $(OBJ)\set_default_realm.obj \
137 $(OBJ)\sock_principal.obj \
139 $(OBJ)\store-int.obj \
140 $(OBJ)\store_emem.obj \
141 $(OBJ)\store_fd.obj \
142 $(OBJ)\store_mem.obj \
147 $(OBJ)\transited.obj \
148 $(OBJ)\verify_init.obj \
149 $(OBJ)\verify_user.obj \
152 $(OBJ)\write_message.obj
155 $(OBJ)\krb5_err.obj \
157 $(OBJ)\heim_err.obj \
161 $(INCDIR)\heim_err.h \
162 $(INCDIR)\k524_err.h \
164 $(INCDIR)\krb_err.h \
166 $(INCDIR)\krb5_ccapi.h \
167 $(INCDIR)\krb5_err.h \
168 $(INCDIR)\krb5_locl.h \
169 $(INCDIR)\krb5-protos.h \
170 $(INCDIR)\krb5-private.h \
171 $(INCDIR)\krb5-v4compat.h \
179 dist_libkrb5_la_SOURCES = \
184 aname_to_localname.c \
206 crypto-des-common.c \
215 eai_to_heim_errno.c \
222 generate_seq_number.c \
226 get_default_principal.c \
227 get_default_realm.c \
282 set_default_realm.c \
301 $(OBJ)\krb5-protos.h: $(dist_libkrb5_la_SOURCES)
302 $(PERL) ..\..\cf\make-proto.pl -E KRB5_LIB -q -P remove -o $(OBJ)\krb5-protos.h $(dist_libkrb5_la_SOURCES) || $(RM) -f $(OBJ)\krb5-protos.h
304 $(OBJ)\krb5-private.h: $(dist_libkrb5_la_SOURCES)
305 $(PERL) ..\..\cf\make-proto.pl -q -P remove -p $(OBJ)\krb5-private.h $(dist_libkrb5_la_SOURCES) || $(RM) -f $(OBJ)\krb5-private.h
307 $(OBJ)\krb5_err.c $(OBJ)\krb5_err.h: krb5_err.et
309 $(BINDIR)\compile_et.exe $(SRCDIR)\krb5_err.et
312 $(OBJ)\krb_err.c $(OBJ)\krb_err.h: krb_err.et
314 $(BINDIR)\compile_et.exe $(SRCDIR)\krb_err.et
317 $(OBJ)\heim_err.c $(OBJ)\heim_err.h: heim_err.et
319 $(BINDIR)\compile_et.exe $(SRCDIR)\heim_err.et
322 $(OBJ)\k524_err.c $(OBJ)\k524_err.h: k524_err.et
324 $(BINDIR)\compile_et.exe $(SRCDIR)\k524_err.et
327 #----------------------------------------------------------------------
330 $(LIBKRB5): $(libkrb5_OBJS) $(libkrb5_gen_OBJS)
338 $(OBJ)\libkrb5-exports.def: libkrb5-exports.def.in $(INCDIR)\config.h
339 $(CPREPROCESSOUT) libkrb5-exports.def.in > $@ || $(RM) $@
341 all:: $(OBJ)\libkrb5-exports.def
344 -$(RM) $(OBJ)\libkrb5-exports.def
346 #----------------------------------------------------------------------
352 $(OBJ)\crypto-aes.obj \
353 $(OBJ)\crypto-algs.obj \
354 $(OBJ)\crypto-arcfour.obj \
355 $(OBJ)\crypto-des.obj \
356 $(OBJ)\crypto-des-common.obj \
357 $(OBJ)\crypto-des3.obj \
358 $(OBJ)\crypto-evp.obj \
359 $(OBJ)\crypto-null.obj \
360 $(OBJ)\crypto-pk.obj \
361 $(OBJ)\crypto-rand.obj \
362 $(OBJ)\crypto-stubs.obj \
364 $(OBJ)\error_string.obj \
365 $(OBJ)\keyblock.obj \
368 $(OBJ)\salt-aes.obj \
369 $(OBJ)\salt-arcfour.obj \
370 $(OBJ)\salt-des.obj \
371 $(OBJ)\salt-des3.obj \
372 $(OBJ)\store-int.obj \
375 $(LIBRFC3961): $(librfc3961_OBJS)
383 #----------------------------------------------------------------------
386 all-tools:: $(BINDIR)\verify_krb5_conf.exe
389 -$(RM) $(BINDIR)\verify_krb5_conf.*
391 $(BINDIR)\verify_krb5_conf.exe: $(OBJ)\verify_krb5_conf.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS) $(OBJ)\verify_krb5_conf-version.res
396 $(C2OBJ_P) -DBUILD_KRB5_LIB -DASN1_LIB
398 {$(OBJ)}.c{$(OBJ)}.obj::
399 $(C2OBJ_P) -DBUILD_KRB5_LIB -DASN1_LIB
401 #----------------------------------------------------------------------
404 test:: test-binaries test-files test-run
407 $(OBJ)\aes-test.exe \
408 $(OBJ)\derived-key-test.exe \
409 $(OBJ)\krbhst-test.exe \
410 $(OBJ)\n-fold-test.exe \
411 $(OBJ)\parse-name-test.exe \
412 $(OBJ)\store-test.exe \
413 $(OBJ)\string-to-key-test.exe \
414 $(OBJ)\test_acl.exe \
415 $(OBJ)\test_addr.exe \
416 $(OBJ)\test_alname.exe \
418 $(OBJ)\test_config.exe \
419 $(OBJ)\test_crypto.exe \
420 $(OBJ)\test_crypto_wrapping.exe \
421 $(OBJ)\test_forward.exe \
422 $(OBJ)\test_get_addrs.exe \
423 $(OBJ)\test_hostname.exe \
424 $(OBJ)\test_keytab.exe \
425 $(OBJ)\test_kuserok.exe \
426 $(OBJ)\test_mem.exe \
427 $(OBJ)\test_pac.exe \
428 $(OBJ)\test_pkinit_dh2key.exe \
429 $(OBJ)\test_pknistkdf.exe \
430 $(OBJ)\test_plugin.exe \
431 $(OBJ)\test_prf.exe \
432 $(OBJ)\test_princ.exe \
433 $(OBJ)\test_renew.exe \
434 $(OBJ)\test_rfc3961.exe \
435 $(OBJ)\test_store.exe \
436 $(OBJ)\test_time.exe \
438 test-binaries: $(test_binaries)
440 test-files: $(OBJ)\test_config_strings.out
442 $(OBJ)\test_config_strings.out: test_config_strings.cfg
452 string-to-key-test.exe
460 test_crypto_wrapping.exe
466 test_pkinit_dh2key.exe
471 $(test_binaries): $$(@R).obj $(LIBHEIMDAL) $(LIBVERS) $(LIBROKEN)
475 $(OBJ)\test_rfc3961.exe: $(OBJ)\test_rfc3961.obj $(LIBRFC3961) $(LIBHEIMDAL) $(LIBVERS) $(LIBROKEN)
479 $(test_binaries:.exe=.obj): $$(@B).c
480 $(C2OBJ_C) -Fo$@ -Fd$(@D)\ $** -DBlah
483 $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libkrb5-exports.def.in