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)\convert_creds.obj \
52 $(OBJ)\constants.obj \
54 $(OBJ)\copy_host_realm.obj \
59 $(OBJ)\deprecated.obj \
62 $(OBJ)\eai_to_heim_errno.obj \
63 $(OBJ)\error_string.obj \
64 $(OBJ)\expand_hostname.obj \
65 $(OBJ)\expand_path_w32.obj \
68 $(OBJ)\free_host_realm.obj \
69 $(OBJ)\generate_seq_number.obj \
70 $(OBJ)\generate_subkey.obj \
71 $(OBJ)\get_addrs.obj \
73 $(OBJ)\get_default_principal.obj \
74 $(OBJ)\get_default_realm.obj \
75 $(OBJ)\get_for_creds.obj \
76 $(OBJ)\get_host_realm.obj \
77 $(OBJ)\get_in_tkt.obj \
79 $(OBJ)\init_creds.obj \
80 $(OBJ)\init_creds_pw.obj \
84 $(OBJ)\keytab_any.obj \
85 $(OBJ)\keytab_file.obj \
86 $(OBJ)\keytab_keyfile.obj \
87 $(OBJ)\keytab_memory.obj \
97 $(OBJ)\mk_req_ext.obj \
100 $(OBJ)\net_read.obj \
101 $(OBJ)\net_write.obj \
106 $(OBJ)\principal.obj \
107 $(OBJ)\prog_setup.obj \
108 $(OBJ)\prompter_posix.obj \
110 $(OBJ)\rd_error.obj \
115 $(OBJ)\read_message.obj \
116 $(OBJ)\recvauth.obj \
119 $(OBJ)\send_to_kdc.obj \
120 $(OBJ)\sendauth.obj \
121 $(OBJ)\set_default_realm.obj \
122 $(OBJ)\sock_principal.obj \
124 $(OBJ)\store_emem.obj \
125 $(OBJ)\store_fd.obj \
126 $(OBJ)\store_mem.obj \
130 $(OBJ)\transited.obj \
132 $(OBJ)\verify_init.obj \
133 $(OBJ)\verify_user.obj \
136 $(OBJ)\write_message.obj
139 $(OBJ)\krb5_err.obj \
141 $(OBJ)\heim_err.obj \
145 $(INCDIR)\heim_err.h \
146 $(INCDIR)\k524_err.h \
147 $(INCDIR)\krb_err.h \
149 $(INCDIR)\krb5_ccapi.h \
150 $(INCDIR)\krb5_err.h \
151 $(INCDIR)\krb5_locl.h \
152 $(INCDIR)\krb5-protos.h \
153 $(INCDIR)\krb5-private.h \
154 $(INCDIR)\krb5-v4compat.h
161 dist_libkrb5_la_SOURCES = \
166 aname_to_localname.c \
187 eai_to_heim_errno.c \
194 generate_seq_number.c \
198 get_default_principal.c \
199 get_default_realm.c \
249 set_default_realm.c \
267 $(OBJ)\krb5-protos.h: $(dist_libkrb5_la_SOURCES)
268 $(PERL) ..\..\cf\make-proto.pl -E KRB5_LIB -q -P remove -o $(OBJ)\krb5-protos.h $(dist_libkrb5_la_SOURCES) || $(RM) -f krb5-protos.h
270 $(OBJ)\krb5-private.h: $(dist_libkrb5_la_SOURCES)
271 $(PERL) ..\..\cf\make-proto.pl -q -P remove -p $(OBJ)\krb5-private.h $(dist_libkrb5_la_SOURCES) || $(RM) -f krb5-private.h
273 $(OBJ)\krb5_err.c $(OBJ)\krb5_err.h: krb5_err.et
275 $(BINDIR)\compile_et.exe $(SRCDIR)\krb5_err.et
278 $(OBJ)\krb_err.c $(OBJ)\krb_err.h: krb_err.et
280 $(BINDIR)\compile_et.exe $(SRCDIR)\krb_err.et
283 $(OBJ)\heim_err.c $(OBJ)\heim_err.h: heim_err.et
285 $(BINDIR)\compile_et.exe $(SRCDIR)\heim_err.et
288 $(OBJ)\k524_err.c $(OBJ)\k524_err.h: k524_err.et
290 $(BINDIR)\compile_et.exe $(SRCDIR)\k524_err.et
293 #----------------------------------------------------------------------
298 $(LIBKRB5): $(libkrb5_OBJS) $(libkrb5_gen_OBJS)
322 $(LIBKRB5): $(BINDIR)\libkrb5.dll
324 $(OBJ)\libkrb5-exports.def: libkrb5-exports.def.in $(INCDIR)\config.h
325 $(CPREPROCESSOUT) libkrb5-exports.def.in > $@ || $(RM) $@
327 $(BINDIR)\libkrb5.dll: $(libkrb5_OBJS) $(libkrb5_gen_OBJS) $(DLLDEPS) $(OBJ)\libkrb5-exports.def
328 $(DLLGUILINK_C) -out:$(BINDIR)\libkrb5.dll -implib:$(LIBKRB5) \
329 $(DLLDEPS) $(DLLSDKDEPS) -def:$(OBJ)\libkrb5-exports.def @<<
332 $(libkrb5_gen_OBJS: =
335 $(_VC_MANIFEST_EMBED_DLL)
336 $(_VC_MANIFEST_CLEAN)
339 all:: $(BINDIR)\libkrb5.dll
342 -$(RM) $(BINDIR)\libkrb5.dll
347 all:: $(BINDIR)\verify_krb5_conf.exe
350 -$(RM) $(BINDIR)\verify_krb5_conf.exe
352 $(BINDIR)\verify_krb5_conf.exe: $(OBJ)\verify_krb5_conf.obj $(LIBKRB5) $(LIBROKEN) $(LIBVERS)
354 $(_VC_MANIFEST_EMBED_EXE)
355 $(_VC_MANIFEST_CLEAN)
359 $(C2OBJ) -DBUILD_KRB5_LIB
361 {$(OBJ)}.c{$(OBJ)}.obj:
362 $(C2OBJ) -DBUILD_KRB5_LIB
364 #----------------------------------------------------------------------
367 test:: test-binaries test-run
370 $(OBJ)\krbhst-test.exe \
371 $(OBJ)\test_alname.exe \
372 $(OBJ)\test_crypto.exe \
373 $(OBJ)\test_get_addrs.exe \
374 $(OBJ)\test_kuserok.exe \
375 $(OBJ)\test_renew.exe \
376 $(OBJ)\test_forward.exe \
377 $(OBJ)\aes-test.exe \
378 $(OBJ)\derived-key-test.exe \
379 $(OBJ)\n-fold-test.exe \
381 $(OBJ)\name-45-test.exe \
383 $(OBJ)\parse-name-test.exe \
384 $(OBJ)\store-test.exe \
385 $(OBJ)\string-to-key-test.exe \
386 $(OBJ)\test_acl.exe \
387 $(OBJ)\test_addr.exe \
389 $(OBJ)\test_config.exe \
390 $(OBJ)\test_hostname.exe \
391 $(OBJ)\test_prf.exe \
392 $(OBJ)\test_store.exe \
393 $(OBJ)\test_crypto_wrapping.exe \
394 $(OBJ)\test_keytab.exe \
395 $(OBJ)\test_mem.exe \
396 $(OBJ)\test_pac.exe \
397 $(OBJ)\test_plugin.exe \
398 $(OBJ)\test_princ.exe \
399 $(OBJ)\test_pkinit_dh2key.exe \
400 $(OBJ)\test_pknistkdf.exe \
403 test-binaries: $(test_binaries)
415 string-to-key-test.exe
422 test_crypto_wrapping.exe
428 test_pkinit_dh2key.exe
433 $(test_binaries): $$(@R).obj
434 $(EXECONLINK) $(LIBKRB5) $(LIBVERS) $(LIBROKEN) $(LIBHCRYPTO) $(LIBASN1)
435 $(_VC_MANIFEST_EMBED_EXE)
436 $(_VC_MANIFEST_CLEAN)
438 $(test_binaries:.exe=.obj): $$(@B).c
439 $(C2OBJ_C) -Fo$@ -Fd$(@D)\ $** -DBlah