source: heimdal/trunk/lib/hcrypto/NTMakefile

Last change on this file was 1, checked in by Paul Smedley, 10 years ago

Initial commit of Heimdal 1.5.3

File size: 6.1 KB
Line 
1########################################################################
2#
3# Copyright (c) 2009, Secure Endpoints Inc.
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9#
10# - Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12#
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
16# distribution.
17#
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.
30#
31
32SUBDIRS=libtommath
33
34RELDIR=lib\hcrypto
35
36intcflags=-DKRB5 -DASN1_LIB -I$(HCRYPTOINCLUDEDIR) -DUSE_HCRYPTO_LTM=1
37
38!include ../../windows/NTMakefile.w32
39
40# Do dependencies first
41
42all:: subdirs
43
44clean:: clean-subdirs
45
46test:: test-subdirs
47
48# Include files
49
50HCRYPTOINCLUDEDIR=$(INCDIR)\hcrypto
51
52INCFILES= \
53 $(HCRYPTOINCLUDEDIR)\aes.h \
54 $(HCRYPTOINCLUDEDIR)\bn.h \
55 $(HCRYPTOINCLUDEDIR)\des.h \
56 $(HCRYPTOINCLUDEDIR)\dh.h \
57 $(HCRYPTOINCLUDEDIR)\dsa.h \
58 $(HCRYPTOINCLUDEDIR)\ec.h \
59 $(HCRYPTOINCLUDEDIR)\ecdh.h \
60 $(HCRYPTOINCLUDEDIR)\ecdsa.h \
61 $(HCRYPTOINCLUDEDIR)\engine.h \
62 $(HCRYPTOINCLUDEDIR)\evp.h \
63 $(HCRYPTOINCLUDEDIR)\evp-hcrypto.h \
64 $(HCRYPTOINCLUDEDIR)\evp-cc.h \
65 $(HCRYPTOINCLUDEDIR)\hmac.h \
66 $(HCRYPTOINCLUDEDIR)\md2.h \
67 $(HCRYPTOINCLUDEDIR)\md4.h \
68 $(HCRYPTOINCLUDEDIR)\md5.h \
69 $(HCRYPTOINCLUDEDIR)\pkcs12.h \
70 $(HCRYPTOINCLUDEDIR)\rand.h \
71 $(HCRYPTOINCLUDEDIR)\randi.h \
72 $(HCRYPTOINCLUDEDIR)\rc2.h \
73 $(HCRYPTOINCLUDEDIR)\rc4.h \
74 $(HCRYPTOINCLUDEDIR)\rsa.h \
75 $(HCRYPTOINCLUDEDIR)\sha.h \
76 $(HCRYPTOINCLUDEDIR)\ui.h
77
78mkincdir:
79!if !exist($(HCRYPTOINCLUDEDIR))
80 $(MKDIR) $(HCRYPTOINCLUDEDIR)
81!endif
82
83{}.h{$(HCRYPTOINCLUDEDIR)}.h:
84 $(CP) $** $@
85
86all:: mkincdir
87
88all:: $(INCFILES)
89
90# libhcrypto
91
92libhcrypto_OBJs = \
93 $(OBJ)\aes.obj \
94 $(OBJ)\bn.obj \
95 $(OBJ)\camellia.obj \
96 $(OBJ)\camellia-ntt.obj \
97 $(OBJ)\common.obj \
98 $(OBJ)\des.obj \
99 $(OBJ)\dh.obj \
100 $(OBJ)\dh-ltm.obj \
101 $(OBJ)\dh-tfm.obj \
102 $(OBJ)\dsa.obj \
103 $(OBJ)\evp.obj \
104 $(OBJ)\evp-hcrypto.obj \
105 $(OBJ)\evp-cc.obj \
106 $(OBJ)\engine.obj \
107 $(OBJ)\hmac.obj \
108 $(OBJ)\md2.obj \
109 $(OBJ)\md4.obj \
110 $(OBJ)\md5.obj \
111 $(OBJ)\pkcs5.obj \
112 $(OBJ)\pkcs12.obj \
113 $(OBJ)\rand-w32.obj \
114 $(OBJ)\rand.obj \
115 $(OBJ)\rc2.obj \
116 $(OBJ)\rc4.obj \
117 $(OBJ)\rijndael-alg-fst.obj \
118 $(OBJ)\rnd_keys.obj \
119 $(OBJ)\rsa.obj \
120 $(OBJ)\rsa-gmp.obj \
121 $(OBJ)\rsa-ltm.obj \
122 $(OBJ)\rsa-tfm.obj \
123 $(OBJ)\sha.obj \
124 $(OBJ)\sha256.obj \
125 $(OBJ)\sha512.obj \
126 $(OBJ)\ui.obj \
127 $(OBJ)\validate.obj
128
129$(LIBHCRYPTO): $(libhcrypto_OBJs)
130 $(LIBCON)
131
132all:: $(LIBHCRYPTO)
133
134clean::
135 -$(RM) $(LIBHCRYPTO)
136
137# Tests
138
139TESTLIB=$(OBJ)\libhctest.lib
140
141$(TESTLIB): \
142 $(OBJ)\des.obj \
143 $(OBJ)\ui.obj
144 $(LIBCON)
145
146test-binaries: \
147 $(OBJ)\destest.exe \
148 $(OBJ)\example_evp_cipher.exe \
149 $(OBJ)\mdtest.exe \
150 $(OBJ)\rc2test.exe \
151 $(OBJ)\rctest.exe \
152 $(OBJ)\test_bn.exe \
153 $(OBJ)\test_cipher.exe \
154 $(OBJ)\test_engine_dso.exe \
155 $(OBJ)\test_hmac.exe \
156 $(OBJ)\test_pkcs5.exe \
157 $(OBJ)\test_pkcs12.exe \
158 $(OBJ)\test_rsa.exe \
159 $(OBJ)\test_dh.exe \
160 $(OBJ)\test_rand.exe \
161 $(OBJ)\test_crypto.sh
162
163$(OBJ)\destest.exe: $(OBJ)\destest.obj $(TESTLIB) $(LIBROKEN)
164 $(EXECONLINK)
165 $(EXEPREP_NODIST)
166
167$(OBJ)\example_evp_cipher.exe: $(OBJ)\example_evp_cipher.obj $(TESTLIB) $(LIBHEIMDAL) $(LIBROKEN)
168 $(EXECONLINK)
169 $(EXEPREP_NODIST)
170
171$(OBJ)\mdtest.exe: $(OBJ)\mdtest.obj $(LIBHEIMDAL) $(LIBROKEN) $(OBJ)\sha512.obj
172 $(EXECONLINK)
173 $(EXEPREP_NODIST)
174
175$(OBJ)\rc2test.exe: $(OBJ)\rc2test.obj $(LIBHEIMDAL) $(LIBROKEN)
176 $(EXECONLINK)
177 $(EXEPREP_NODIST)
178
179$(OBJ)\rctest.exe: $(OBJ)\rctest.obj $(LIBHEIMDAL) $(LIBROKEN)
180 $(EXECONLINK)
181 $(EXEPREP_NODIST)
182
183$(OBJ)\test_bn.exe: $(OBJ)\test_bn.obj $(LIBHEIMDAL) $(LIBROKEN)
184 $(EXECONLINK)
185 $(EXEPREP_NODIST)
186
187$(OBJ)\test_cipher.exe: $(OBJ)\test_cipher.obj $(TESTLIB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
188 $(EXECONLINK)
189 $(EXEPREP_NODIST)
190
191$(OBJ)\test_engine_dso.exe: $(OBJ)\test_engine_dso.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
192 $(EXECONLINK)
193 $(EXEPREP_NODIST)
194
195$(OBJ)\test_hmac.exe: $(OBJ)\test_hmac.obj $(LIBHEIMDAL) $(LIBROKEN)
196 $(EXECONLINK)
197 $(EXEPREP_NODIST)
198
199$(OBJ)\test_pkcs5.exe: $(OBJ)\test_pkcs5.obj $(LIBHEIMDAL) $(LIBROKEN)
200 $(EXECONLINK)
201 $(EXEPREP_NODIST)
202
203$(OBJ)\test_pkcs12.exe: $(OBJ)\test_pkcs12.obj $(LIBHEIMDAL) $(LIBROKEN)
204 $(EXECONLINK)
205 $(EXEPREP_NODIST)
206
207$(OBJ)\test_rsa.exe: $(OBJ)\test_rsa.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
208 $(EXECONLINK)
209 $(EXEPREP_NODIST)
210
211$(OBJ)\test_dh.exe: $(OBJ)\test_dh.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
212 $(EXECONLINK)
213 $(EXEPREP_NODIST)
214
215$(OBJ)\test_rand.exe: $(OBJ)\test_rand.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
216 $(EXECONLINK)
217 $(EXEPREP_NODIST)
218
219SRCDIR2=$(SRCDIR:\=\\\\)
220
221$(OBJ)\test_crypto.sh: test_crypto.in NTMakefile
222 $(SED) -e "s,[@]srcdir[@],$(SRCDIR2),g" -e "s,[@]exeext[@],.exe,g" -e "s,\r,," < test_crypto.in > $@ || $(RM) $@
223
224test-run:
225 cd $(OBJ)
226!ifdef SH
227 $(SH) test_crypto.sh
228!endif
229 destest.exe
230 mdtest.exe
231 rc2test.exe
232 rctest.exe
233 test_bn.exe
234 test_cipher.exe
235 test_engine_dso.exe
236 test_hmac.exe
237 test_pkcs5.exe
238 test_pkcs12.exe
239 test_rsa.exe
240 test_dh.exe
241 cd $(SRCDIR)
242
243test:: $(TESTLIB) test-binaries test-run
244
245test-exports:
246 $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libhcrypto-exports.def
247
248test:: test-exports
Note: See TracBrowser for help on using the repository browser.