xref: /isa-l_crypto/Makefile.nmake (revision 9b7a2b842c9f4e54b8dc1c82899e5a5520c53301)
1########################################################################
2#  Copyright(c) 2011-2024 Intel Corporation All rights reserved.
3#
4#  Redistribution and use in source and binary forms, with or without
5#  modification, are permitted provided that the following conditions
6#  are met:
7#    * Redistributions of source code must retain the above copyright
8#      notice, this list of conditions and the following disclaimer.
9#    * Redistributions in binary form must reproduce the above copyright
10#      notice, this list of conditions and the following disclaimer in
11#      the documentation and/or other materials provided with the
12#      distribution.
13#    * Neither the name of Intel Corporation nor the names of its
14#      contributors may be used to endorse or promote products derived
15#      from this software without specific prior written permission.
16#
17#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18#  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19#  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20#  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21#  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23#  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27#  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29#  SPDX-License-Identifier: BSD-3-Clause
30########################################################################
31
32# This file can be auto-regenerated with $make -f Makefile.unx Makefile.nmake
33
34objs = \
35	bin\sha1_ctx_sse.obj \
36	bin\sha1_ctx_avx.obj \
37	bin\sha1_ctx_avx2.obj \
38	bin\sha1_ctx_base.obj \
39	bin\sha1_mb_mgr_init_sse.obj \
40	bin\sha1_mb_mgr_init_avx2.obj \
41	bin\sha1_mb_mgr_submit_sse.obj \
42	bin\sha1_mb_mgr_submit_avx.obj \
43	bin\sha1_mb_mgr_submit_avx2.obj \
44	bin\sha1_mb_mgr_flush_sse.obj \
45	bin\sha1_mb_mgr_flush_avx.obj \
46	bin\sha1_mb_mgr_flush_avx2.obj \
47	bin\sha1_mb_x4_sse.obj \
48	bin\sha1_mb_x4_avx.obj \
49	bin\sha1_mb_x8_avx2.obj \
50	bin\sha1_multibinary.obj \
51	bin\sha1_ctx_avx512.obj \
52	bin\sha1_mb_mgr_init_avx512.obj \
53	bin\sha1_mb_mgr_submit_avx512.obj \
54	bin\sha1_mb_mgr_flush_avx512.obj \
55	bin\sha1_mb_x16_avx512.obj \
56	bin\sha1_opt_x1.obj \
57	bin\sha1_ni_x1.obj \
58	bin\sha1_ni_x2.obj \
59	bin\sha1_ctx_sse_ni.obj \
60	bin\sha1_ctx_avx512_ni.obj \
61	bin\sha1_mb_mgr_submit_sse_ni.obj \
62	bin\sha1_mb_mgr_flush_sse_ni.obj \
63	bin\sha1_mb_mgr_flush_avx512_ni.obj \
64	bin\sha256_ctx_sse.obj \
65	bin\sha256_ctx_avx.obj \
66	bin\sha256_ctx_avx2.obj \
67	bin\sha256_ctx_base.obj \
68	bin\sha256_mb_mgr_init_sse.obj \
69	bin\sha256_mb_mgr_init_avx2.obj \
70	bin\sha256_mb_mgr_submit_sse.obj \
71	bin\sha256_mb_mgr_submit_avx.obj \
72	bin\sha256_mb_mgr_submit_avx2.obj \
73	bin\sha256_mb_mgr_flush_sse.obj \
74	bin\sha256_mb_mgr_flush_avx.obj \
75	bin\sha256_mb_mgr_flush_avx2.obj \
76	bin\sha256_mb_x4_sse.obj \
77	bin\sha256_mb_x4_avx.obj \
78	bin\sha256_mb_x8_avx2.obj \
79	bin\sha256_multibinary.obj \
80	bin\sha256_ctx_avx512.obj \
81	bin\sha256_mb_mgr_init_avx512.obj \
82	bin\sha256_mb_mgr_submit_avx512.obj \
83	bin\sha256_mb_mgr_flush_avx512.obj \
84	bin\sha256_mb_x16_avx512.obj \
85	bin\sha256_opt_x1.obj \
86	bin\sha256_ni_x1.obj \
87	bin\sha256_ni_x2.obj \
88	bin\sha256_ctx_sse_ni.obj \
89	bin\sha256_ctx_avx512_ni.obj \
90	bin\sha256_mb_mgr_submit_sse_ni.obj \
91	bin\sha256_mb_mgr_flush_sse_ni.obj \
92	bin\sha256_mb_mgr_flush_avx512_ni.obj \
93	bin\sha512_ctx_sse.obj \
94	bin\sha512_ctx_avx.obj \
95	bin\sha512_ctx_avx2.obj \
96	bin\sha512_ctx_sb_sse4.obj \
97	bin\sha512_ctx_base.obj \
98	bin\sha512_mb_mgr_init_sse.obj \
99	bin\sha512_mb_mgr_init_avx2.obj \
100	bin\sha512_sb_mgr_init_sse4.obj \
101	bin\sha512_mb_mgr_submit_sse.obj \
102	bin\sha512_mb_mgr_submit_avx.obj \
103	bin\sha512_mb_mgr_submit_avx2.obj \
104	bin\sha512_mb_mgr_flush_sse.obj \
105	bin\sha512_mb_mgr_flush_avx.obj \
106	bin\sha512_mb_mgr_flush_avx2.obj \
107	bin\sha512_mb_x2_sse.obj \
108	bin\sha512_mb_x2_avx.obj \
109	bin\sha512_mb_x4_avx2.obj \
110	bin\sha512_multibinary.obj \
111	bin\sha512_sb_mgr_submit_sse4.obj \
112	bin\sha512_sb_mgr_flush_sse4.obj \
113	bin\sha512_sse4.obj \
114	bin\sha512_ctx_avx512.obj \
115	bin\sha512_mb_mgr_init_avx512.obj \
116	bin\sha512_mb_mgr_submit_avx512.obj \
117	bin\sha512_mb_mgr_flush_avx512.obj \
118	bin\sha512_mb_x8_avx512.obj \
119	bin\md5_ctx_sse.obj \
120	bin\md5_ctx_avx.obj \
121	bin\md5_ctx_avx2.obj \
122	bin\md5_ctx_base.obj \
123	bin\md5_mb_mgr_init_sse.obj \
124	bin\md5_mb_mgr_init_avx2.obj \
125	bin\md5_mb_mgr_init_avx512.obj \
126	bin\md5_mb_mgr_submit_sse.obj \
127	bin\md5_mb_mgr_submit_avx.obj \
128	bin\md5_mb_mgr_submit_avx2.obj \
129	bin\md5_mb_mgr_flush_sse.obj \
130	bin\md5_mb_mgr_flush_avx.obj \
131	bin\md5_mb_mgr_flush_avx2.obj \
132	bin\md5_mb_x4x2_sse.obj \
133	bin\md5_mb_x4x2_avx.obj \
134	bin\md5_mb_x8x2_avx2.obj \
135	bin\md5_multibinary.obj \
136	bin\md5_mb_mgr_submit_avx512.obj \
137	bin\md5_mb_mgr_flush_avx512.obj \
138	bin\md5_mb_x16x2_avx512.obj \
139	bin\md5_ctx_avx512.obj \
140	bin\mh_sha1_block_base.obj \
141	bin\mh_sha1_finalize_base.obj \
142	bin\mh_sha1_update_base.obj \
143	bin\sha1_for_mh_sha1.obj \
144	bin\mh_sha1.obj \
145	bin\mh_sha1_multibinary.obj \
146	bin\mh_sha1_block_sse.obj \
147	bin\mh_sha1_block_avx.obj \
148	bin\mh_sha1_block_avx2.obj \
149	bin\mh_sha1_block_avx512.obj \
150	bin\mh_sha1_avx512.obj \
151	bin\murmur3_x64_128_internal.obj \
152	bin\mh_sha1_murmur3_x64_128.obj \
153	bin\mh_sha1_murmur3_x64_128_finalize_base.obj \
154	bin\mh_sha1_murmur3_x64_128_update_base.obj \
155	bin\mh_sha1_murmur3_x64_128_block_sse.obj \
156	bin\mh_sha1_murmur3_x64_128_block_avx.obj \
157	bin\mh_sha1_murmur3_x64_128_block_avx2.obj \
158	bin\mh_sha1_murmur3_x64_128_multibinary.obj \
159	bin\mh_sha1_murmur3_x64_128_avx512.obj \
160	bin\mh_sha1_murmur3_x64_128_block_avx512.obj \
161	bin\sha256_for_mh_sha256.obj \
162	bin\mh_sha256.obj \
163	bin\mh_sha256_block_sse.obj \
164	bin\mh_sha256_block_avx.obj \
165	bin\mh_sha256_block_avx2.obj \
166	bin\mh_sha256_multibinary.obj \
167	bin\mh_sha256_finalize_base.obj \
168	bin\mh_sha256_update_base.obj \
169	bin\mh_sha256_block_base.obj \
170	bin\mh_sha256_block_avx512.obj \
171	bin\mh_sha256_avx512.obj \
172	bin\rolling_hashx_base.obj \
173	bin\rolling_hash2.obj \
174	bin\rolling_hash2_until_04.obj \
175	bin\rolling_hash2_until_00.obj \
176	bin\rolling_hash2_multibinary.obj \
177	bin\sm3_ctx_base.obj \
178	bin\sm3_multibinary.obj \
179	bin\sm3_ctx_avx512.obj \
180	bin\sm3_mb_mgr_submit_avx512.obj \
181	bin\sm3_mb_mgr_flush_avx512.obj \
182	bin\sm3_mb_x16_avx512.obj \
183	bin\sm3_ctx_avx2.obj \
184	bin\sm3_mb_mgr_submit_avx2.obj \
185	bin\sm3_mb_mgr_flush_avx2.obj \
186	bin\sm3_mb_x8_avx2.obj \
187	bin\gcm_multibinary.obj \
188	bin\gcm_pre.obj \
189	bin\gcm128_avx_gen2.obj \
190	bin\gcm128_avx_gen4.obj \
191	bin\gcm128_sse.obj \
192	bin\gcm256_avx_gen2.obj \
193	bin\gcm256_avx_gen4.obj \
194	bin\gcm256_sse.obj \
195	bin\gcm128_vaes_avx512.obj \
196	bin\gcm256_vaes_avx512.obj \
197	bin\gcm128_avx_gen2_nt.obj \
198	bin\gcm128_avx_gen4_nt.obj \
199	bin\gcm128_sse_nt.obj \
200	bin\gcm256_avx_gen2_nt.obj \
201	bin\gcm256_avx_gen4_nt.obj \
202	bin\gcm256_sse_nt.obj \
203	bin\gcm128_vaes_avx512_nt.obj \
204	bin\gcm256_vaes_avx512_nt.obj \
205	bin\gcm_multibinary_nt.obj \
206	bin\keyexp_multibinary.obj \
207	bin\keyexp_128.obj \
208	bin\keyexp_192.obj \
209	bin\keyexp_256.obj \
210	bin\cbc_multibinary.obj \
211	bin\cbc_dec_128_x8_sse.obj \
212	bin\cbc_dec_128_x8_avx.obj \
213	bin\cbc_dec_192_x8_sse.obj \
214	bin\cbc_dec_192_x8_avx.obj \
215	bin\cbc_dec_256_x8_sse.obj \
216	bin\cbc_dec_256_x8_avx.obj \
217	bin\cbc_enc_128_x4_sb.obj \
218	bin\cbc_enc_128_x8_sb.obj \
219	bin\cbc_enc_192_x4_sb.obj \
220	bin\cbc_enc_192_x8_sb.obj \
221	bin\cbc_enc_256_x4_sb.obj \
222	bin\cbc_enc_256_x8_sb.obj \
223	bin\cbc_dec_vaes_avx512.obj \
224	bin\cbc_pre.obj \
225	bin\xts_aes_128_multibinary.obj \
226	bin\XTS_AES_128_dec_sse.obj \
227	bin\XTS_AES_128_dec_expanded_key_sse.obj \
228	bin\XTS_AES_128_enc_sse.obj \
229	bin\XTS_AES_128_enc_expanded_key_sse.obj \
230	bin\XTS_AES_128_dec_avx.obj \
231	bin\XTS_AES_128_dec_expanded_key_avx.obj \
232	bin\XTS_AES_128_enc_avx.obj \
233	bin\XTS_AES_128_enc_expanded_key_avx.obj \
234	bin\xts_aes_256_multibinary.obj \
235	bin\XTS_AES_256_dec_avx.obj \
236	bin\XTS_AES_256_dec_expanded_key_avx.obj \
237	bin\XTS_AES_256_enc_avx.obj \
238	bin\XTS_AES_256_enc_expanded_key_avx.obj \
239	bin\XTS_AES_256_dec_sse.obj \
240	bin\XTS_AES_256_dec_expanded_key_sse.obj \
241	bin\XTS_AES_256_enc_sse.obj \
242	bin\XTS_AES_256_enc_expanded_key_sse.obj \
243	bin\XTS_AES_256_enc_vaes.obj \
244	bin\XTS_AES_128_enc_vaes.obj \
245	bin\XTS_AES_256_enc_expanded_key_vaes.obj \
246	bin\XTS_AES_128_enc_expanded_key_vaes.obj \
247	bin\XTS_AES_256_dec_vaes.obj \
248	bin\XTS_AES_128_dec_vaes.obj \
249	bin\XTS_AES_256_dec_expanded_key_vaes.obj \
250	bin\XTS_AES_128_dec_expanded_key_vaes.obj \
251	bin\aes_keyexp.obj \
252	bin\md5_mb.obj \
253	bin\sha1_mb.obj \
254	bin\aes_cbc.obj \
255	bin\aes_xts.obj \
256	bin\sha256_mb.obj \
257	bin\sha512_mb.obj \
258	bin\aes_gcm.obj \
259	bin\aes_self_tests.obj \
260	bin\sha_self_tests.obj \
261	bin\self_tests.obj \
262	bin\asm_self_tests.obj \
263	bin\sm3_mb.obj \
264	bin\version.obj
265
266
267INCLUDES  = -I./ -Isha1_mb/ -Isha256_mb/ -Isha512_mb/ -Imd5_mb/ -Imh_sha1/ -Imh_sha1_murmur3_x64_128/ -Imh_sha256/ -Irolling_hash/ -Ism3_mb/ -Iaes/ -Iinclude/ -Iintel-ipsec-mb/lib
268# Modern asm feature level, consider upgrading nasm before decreasing feature_level
269FEAT_FLAGS = -DAS_FEATURE_LEVEL=10
270CFLAGS_REL = -O2 -DNDEBUG /Z7 /Gy /ZH:SHA_256 /guard:cf
271CFLAGS_DBG = -Od -DDEBUG /Z7
272
273!if "$(CONFIG)" == "DEBUG"
274CFLAGS=$(CFLAGS_DBG)
275!else
276CFLAGS=$(CFLAGS_REL)
277!endif
278
279LINKFLAGS  = -nologo -incremental:no -debug -guard:cf -DYNAMICBASE -CETCOMPAT
280CFLAGS     = $(CFLAGS) -nologo -D_USE_MATH_DEFINES -DNO_COMPAT_ISAL_CRYPTO_API_2_24 $(FEAT_FLAGS) $(INCLUDES) $(D) /W3
281AFLAGS     = -f win64 $(FEAT_FLAGS) $(INCLUDES) $(D)
282CC         = cl
283# or CC    = icl -Qstd=c99
284AS         = nasm
285
286!if "$(SAFE_DATA)" != "n"
287CFLAGS = $(CFLAGS) /DSAFE_DATA
288AFLAGS = $(AFLAGS) -DSAFE_DATA
289!endif
290
291!if "$(SAFE_PARAM)" != "n"
292CFLAGS = $(CFLAGS) /DSAFE_PARAM
293AFLAGS = $(AFLAGS) -DSAFE_PARAM
294!endif
295
296!if "$(FIPS_MODE)" == "y"
297CFLAGS = $(CFLAGS) /DFIPS_MODE
298AFLAGS = $(AFLAGS) -DFIPS_MODE
299!endif
300
301lib: bin static dll
302static: bin isa-l_crypto_static.lib
303dll: bin isa-l_crypto.dll
304
305bin: ; -mkdir $@
306
307isa-l_crypto_static.lib: $(objs)
308	lib -out:$@ @<<
309$?
310<<
311
312isa-l_crypto.dll: $(objs)
313	link -out:$@ -dll -def:isa-l_crypto.def $(LINKFLAGS) @<<
314$?
315<<
316
317{sha1_mb}.c.obj:
318	$(CC) $(CFLAGS) /c -Fo$@ $?
319{sha1_mb}.asm.obj:
320	$(AS) $(AFLAGS) -o $@ $?
321
322{sha256_mb}.c.obj:
323	$(CC) $(CFLAGS) /c -Fo$@ $?
324{sha256_mb}.asm.obj:
325	$(AS) $(AFLAGS) -o $@ $?
326
327{sha512_mb}.c.obj:
328	$(CC) $(CFLAGS) /c -Fo$@ $?
329{sha512_mb}.asm.obj:
330	$(AS) $(AFLAGS) -o $@ $?
331
332{md5_mb}.c.obj:
333	$(CC) $(CFLAGS) /c -Fo$@ $?
334{md5_mb}.asm.obj:
335	$(AS) $(AFLAGS) -o $@ $?
336
337{mh_sha1}.c.obj:
338	$(CC) $(CFLAGS) /c -Fo$@ $?
339{mh_sha1}.asm.obj:
340	$(AS) $(AFLAGS) -o $@ $?
341
342{mh_sha1_murmur3_x64_128}.c.obj:
343	$(CC) $(CFLAGS) /c -Fo$@ $?
344{mh_sha1_murmur3_x64_128}.asm.obj:
345	$(AS) $(AFLAGS) -o $@ $?
346
347{mh_sha256}.c.obj:
348	$(CC) $(CFLAGS) /c -Fo$@ $?
349{mh_sha256}.asm.obj:
350	$(AS) $(AFLAGS) -o $@ $?
351
352{rolling_hash}.c.obj:
353	$(CC) $(CFLAGS) /c -Fo$@ $?
354{rolling_hash}.asm.obj:
355	$(AS) $(AFLAGS) -o $@ $?
356
357{sm3_mb}.c.obj:
358	$(CC) $(CFLAGS) /c -Fo$@ $?
359{sm3_mb}.asm.obj:
360	$(AS) $(AFLAGS) -o $@ $?
361
362{aes}.c.obj:
363	$(CC) $(CFLAGS) /c -Fo$@ $?
364{aes}.asm.obj:
365	$(AS) $(AFLAGS) -o $@ $?
366
367{fips}.c.obj:
368	$(CC) $(CFLAGS) /c -Fo$@ $?
369{fips}.asm.obj:
370	$(AS) $(AFLAGS) -o $@ $?
371{misc}.c.obj:
372	$(CC) $(CFLAGS) /c -Fo$@ $?
373
374
375# Examples
376ex = \
377	sha1_multi_buffer_example.exe \
378	gcm_simple_example.exe
379
380ex: lib $(ex)
381
382$(ex): $(@B).obj
383
384.obj.exe:
385	link /out:$@ $(LINKFLAGS) isa-l_crypto.lib $?
386
387# Check tests
388checks = \
389	sha1_mb_test.exe \
390	sha1_mb_rand_test.exe \
391	sha1_mb_rand_update_test.exe \
392	sha1_mb_flush_test.exe \
393	sha256_mb_test.exe \
394	sha256_mb_rand_test.exe \
395	sha256_mb_rand_update_test.exe \
396	sha256_mb_flush_test.exe \
397	sha512_mb_test.exe \
398	sha512_mb_rand_test.exe \
399	sha512_mb_rand_update_test.exe \
400	md5_mb_test.exe \
401	md5_mb_rand_test.exe \
402	md5_mb_rand_update_test.exe \
403	mh_sha1_test.exe \
404	mh_sha256_test.exe \
405	rolling_hash2_test.exe \
406	sm3_ref_test.exe \
407	cbc_std_vectors_test.exe \
408	gcm_std_vectors_test.exe \
409	gcm_nt_std_vectors_test.exe \
410	xts_128_test.exe \
411	xts_256_test.exe \
412	xts_128_expanded_key_test.exe \
413	xts_256_expanded_key_test.exe \
414	aes_param_test.exe \
415	mh_sha1_param_test.exe \
416	mh_sha256_param_test.exe \
417	md5_mb_param_test.exe \
418	sha1_mb_param_test.exe \
419	sha256_mb_param_test.exe \
420	sha512_mb_param_test.exe \
421	mh_sha1_murmur3_x64_128_param_test.exe \
422	sm3_mb_param_test.exe \
423	rolling_hash2_param_test.exe \
424	version_test.exe \
425	self_tests_test.exe
426
427
428checks: lib $(checks)
429$(checks): $(@B).obj
430check: $(checks)
431	!$?
432
433# Unit tests
434tests = \
435	sha1_mb_rand_ssl_test.exe \
436	sha256_mb_rand_ssl_test.exe \
437	sha512_mb_rand_ssl_test.exe \
438	md5_mb_rand_ssl_test.exe \
439	mh_sha1_update_test.exe \
440	mh_sha1_murmur3_x64_128_test.exe \
441	mh_sha1_murmur3_x64_128_update_test.exe \
442	mh_sha256_update_test.exe \
443	sm3_mb_rand_ssl_test.exe \
444	sm3_mb_rand_test.exe \
445	sm3_mb_rand_update_test.exe \
446	sm3_mb_flush_test.exe \
447	sm3_mb_test.exe \
448	cbc_std_vectors_random_test.exe \
449	gcm_std_vectors_random_test.exe \
450	gcm_nt_rand_test.exe \
451	xts_128_rand.exe \
452	xts_128_rand_ossl_test.exe \
453	xts_256_rand.exe \
454	xts_256_rand_ossl_test.exe
455
456tests: lib $(tests)
457$(tests): $(@B).obj
458
459# Performance tests
460perfs = \
461	sha1_mb_vs_ossl_perf.exe \
462	sha1_mb_vs_ossl_shortage_perf.exe \
463	sha256_mb_vs_ossl_perf.exe \
464	sha256_mb_vs_ossl_shortage_perf.exe \
465	sha512_mb_vs_ossl_perf.exe \
466	md5_mb_vs_ossl_perf.exe \
467	mh_sha1_perf.exe \
468	mh_sha1_murmur3_x64_128_perf.exe \
469	mh_sha256_perf.exe \
470	rolling_hash2_perf.exe \
471	sm3_mb_vs_ossl_perf.exe \
472	sm3_mb_vs_ossl_shortage_perf.exe \
473	cbc_ossl_perf.exe \
474	gcm_ossl_perf.exe \
475	xts_128_enc_ossl_perf.exe \
476	xts_256_enc_ossl_perf.exe \
477	xts_128_enc_perf.exe \
478	xts_128_dec_perf.exe \
479	xts_128_dec_ossl_perf.exe \
480	xts_256_enc_perf.exe \
481	xts_256_dec_perf.exe \
482	xts_256_dec_ossl_perf.exe
483
484perfs: lib $(perfs)
485$(perfs): $(@B).obj
486
487progs =
488
489progs: lib $(progs)
490
491clean:
492	-if exist *.obj del *.obj
493	-if exist bin\*.obj del bin\*.obj
494	-if exist isa-l_crypto_static.lib del isa-l_crypto_static.lib
495	-if exist *.exe del *.exe
496	-if exist *.pdb del *.pdb
497	-if exist isa-l_crypto.lib del isa-l_crypto.lib
498	-if exist isa-l_crypto.dll del isa-l_crypto.dll
499	-if exist isa-l_crypto.exp del isa-l_crypto.exp
500
501libcrypto.lib:
502sha1_mb_rand_test.exe: sha1_ref.obj
503sha1_mb_rand_update_test.exe: sha1_ref.obj
504sha1_mb_flush_test.exe: sha1_ref.obj
505sha1_mb_rand_ssl_test.exe:  libcrypto.lib
506sha1_mb_vs_ossl_perf.exe:  libcrypto.lib
507sha1_mb_vs_ossl_shortage_perf.exe:  libcrypto.lib
508sha256_mb_rand_ssl_test.exe: sha256_ref.obj
509sha256_mb_rand_test.exe: sha256_ref.obj
510sha256_mb_rand_update_test.exe: sha256_ref.obj
511sha256_mb_flush_test.exe: sha256_ref.obj
512sha256_mb_rand_ssl_test.exe:  libcrypto.lib
513sha256_mb_vs_ossl_perf.exe:  libcrypto.lib
514sha256_mb_vs_ossl_shortage_perf.exe:  libcrypto.lib
515sha512_mb_rand_test.exe: sha512_ref.obj
516sha512_mb_rand_update_test.exe: sha512_ref.obj
517sha512_mb_rand_ssl_test.exe:  libcrypto.lib
518sha512_mb_vs_ossl_perf.exe:  libcrypto.lib
519md5_mb_rand_test.exe: md5_ref.obj
520md5_mb_rand_update_test.exe: md5_ref.obj
521md5_mb_rand_ssl_test.exe:  libcrypto.lib
522md5_mb_vs_ossl_perf.exe:  libcrypto.lib
523mh_sha1_test.exe: mh_sha1_ref.obj
524mh_sha1_update_test.exe: mh_sha1_ref.obj
525mh_sha1_murmur3_x64_128_test.exe: mh_sha1_ref.obj murmur3_x64_128.obj
526mh_sha1_murmur3_x64_128_update_test.exe: mh_sha1_ref.obj murmur3_x64_128.obj
527mh_sha1_murmur3_x64_128_perf.exe: mh_sha1_ref.obj murmur3_x64_128.obj
528mh_sha256_test.exe: mh_sha256_ref.obj
529mh_sha256_update_test.exe: mh_sha256_ref.obj
530sm3_mb_rand_ssl_test.exe:  libcrypto.lib
531sm3_mb_rand_ssl_test.exe: sm3_test_helper.obj
532sm3_mb_rand_update_test.exe:  libcrypto.lib
533sm3_mb_rand_update_test.exe: sm3_test_helper.obj
534sm3_mb_flush_test.exe:  libcrypto.lib
535sm3_mb_flush_test.exe: sm3_test_helper.obj
536sm3_mb_rand_test.exe:  libcrypto.lib
537sm3_mb_rand_test.exe: sm3_test_helper.obj
538sm3_mb_vs_ossl_perf.exe:  libcrypto.lib
539sm3_mb_vs_ossl_perf.exe: sm3_test_helper.obj
540sm3_mb_vs_ossl_shortage_perf.exe:  libcrypto.lib
541sm3_mb_vs_ossl_shortage_perf.exe: sm3_test_helper.obj
542cbc_ossl_perf.exe:  libcrypto.lib
543cbc_std_vectors_random_test.exe:  libcrypto.lib
544gcm_ossl_perf.exe:  libcrypto.lib
545gcm_std_vectors_random_test.exe:  libcrypto.lib
546gcm_nt_rand_test.exe:  libcrypto.lib
547xts_128_enc_ossl_perf.exe:  libcrypto.lib
548xts_128_dec_ossl_perf.exe:  libcrypto.lib
549xts_128_rand_ossl_test.exe:  libcrypto.lib
550xts_256_enc_ossl_perf.exe:  libcrypto.lib
551xts_256_dec_ossl_perf.exe:  libcrypto.lib
552xts_256_rand_ossl_test.exe:  libcrypto.lib
553