3
|
1 #MSVC Makefile [tested with MSVC 6.00 with SP5]
|
|
2 #
|
|
3 #Tom St Denis
|
|
4 CFLAGS = /I. /Ox /DWIN32 /W3
|
|
5
|
|
6 default: library
|
|
7
|
|
8 # leave this blank and link against libtommath if you want better link resolution
|
|
9 MPIOBJECT=mpi.obj
|
|
10
|
15
|
11 OBJECTS=error_to_string.obj mpi_to_ltc_error.obj base64_encode.obj base64_decode.obj \
|
3
|
12 \
|
|
13 crypt.obj crypt_find_cipher.obj crypt_find_hash_any.obj \
|
|
14 crypt_hash_is_valid.obj crypt_register_hash.obj crypt_unregister_prng.obj \
|
|
15 crypt_argchk.obj crypt_find_cipher_any.obj crypt_find_hash_id.obj \
|
|
16 crypt_prng_descriptor.obj crypt_register_prng.obj crypt_cipher_descriptor.obj \
|
|
17 crypt_find_cipher_id.obj crypt_find_prng.obj crypt_prng_is_valid.obj \
|
|
18 crypt_unregister_cipher.obj crypt_cipher_is_valid.obj crypt_find_hash.obj \
|
|
19 crypt_hash_descriptor.obj crypt_register_cipher.obj crypt_unregister_hash.obj \
|
|
20 \
|
|
21 sprng.obj yarrow.obj rc4.obj rng_get_bytes.obj rng_make_prng.obj \
|
|
22 \
|
|
23 rand_prime.obj is_prime.obj \
|
|
24 \
|
|
25 ecc.obj dh.obj \
|
|
26 \
|
15
|
27 rsa_decrypt_key.obj rsa_encrypt_key.obj rsa_exptmod.obj rsa_free.obj rsa_make_key.obj \
|
|
28 rsa_sign_hash.obj rsa_verify_hash.obj rsa_export.obj rsa_import.obj tim_exptmod.obj \
|
3
|
29 \
|
15
|
30 dsa_export.obj dsa_free.obj dsa_import.obj dsa_make_key.obj dsa_sign_hash.obj \
|
|
31 dsa_verify_hash.obj dsa_verify_key.obj \
|
3
|
32 \
|
15
|
33 aes.obj aes_enc.obj \
|
|
34 \
|
|
35 blowfish.obj des.obj safer_tab.obj safer.obj saferp.obj rc2.obj xtea.obj \
|
|
36 rc6.obj rc5.obj cast5.obj noekeon.obj twofish.obj skipjack.obj \
|
3
|
37 \
|
|
38 md2.obj md4.obj md5.obj sha1.obj sha256.obj sha512.obj tiger.obj whirl.obj \
|
|
39 rmd128.obj rmd160.obj \
|
|
40 \
|
|
41 packet_store_header.obj packet_valid_header.obj \
|
|
42 \
|
|
43 eax_addheader.obj eax_decrypt.obj eax_decrypt_verify_memory.obj eax_done.obj eax_encrypt.obj \
|
|
44 eax_encrypt_authenticate_memory.obj eax_init.obj eax_test.obj \
|
|
45 \
|
|
46 ocb_decrypt.obj ocb_decrypt_verify_memory.obj ocb_done_decrypt.obj ocb_done_encrypt.obj \
|
|
47 ocb_encrypt.obj ocb_encrypt_authenticate_memory.obj ocb_init.obj ocb_ntz.obj \
|
|
48 ocb_shift_xor.obj ocb_test.obj s_ocb_done.obj \
|
|
49 \
|
|
50 omac_done.obj omac_file.obj omac_init.obj omac_memory.obj omac_process.obj omac_test.obj \
|
|
51 \
|
|
52 pmac_done.obj pmac_file.obj pmac_init.obj pmac_memory.obj pmac_ntz.obj pmac_process.obj \
|
|
53 pmac_shift_xor.obj pmac_test.obj \
|
|
54 \
|
15
|
55 cbc_start.obj cbc_encrypt.obj cbc_decrypt.obj cbc_getiv.obj cbc_setiv.obj \
|
|
56 cfb_start.obj cfb_encrypt.obj cfb_decrypt.obj cfb_getiv.obj cfb_setiv.obj \
|
|
57 ofb_start.obj ofb_encrypt.obj ofb_decrypt.obj ofb_getiv.obj ofb_setiv.obj \
|
|
58 ctr_start.obj ctr_encrypt.obj ctr_decrypt.obj ctr_getiv.obj ctr_setiv.obj \
|
3
|
59 ecb_start.obj ecb_encrypt.obj ecb_decrypt.obj \
|
|
60 \
|
|
61 hash_file.obj hash_filehandle.obj hash_memory.obj \
|
|
62 \
|
|
63 hmac_done.obj hmac_file.obj hmac_init.obj hmac_memory.obj hmac_process.obj hmac_test.obj \
|
|
64 \
|
|
65 pkcs_1_mgf1.obj pkcs_1_oaep_encode.obj pkcs_1_oaep_decode.obj \
|
|
66 pkcs_1_pss_encode.obj pkcs_1_pss_decode.obj pkcs_1_i2osp.obj pkcs_1_os2ip.obj \
|
15
|
67 pkcs_1_v15_es_encode.obj pkcs_1_v15_es_decode.obj pkcs_1_v15_sa_encode.obj pkcs_1_v15_sa_decode.obj \
|
3
|
68 \
|
|
69 pkcs_5_1.obj pkcs_5_2.obj \
|
|
70 \
|
15
|
71 burn_stack.obj zeromem.obj \
|
3
|
72 $(MPIOBJECT)
|
|
73
|
15
|
74 #ciphers come in two flavours... enc+dec and enc
|
|
75 aes_enc.obj: aes.c aes_tab.c
|
|
76 $(CC) $(CFLAGS) /DENCRYPT_ONLY /c aes.c /Foaes_enc.obj
|
|
77
|
3
|
78 library: $(OBJECTS)
|
|
79 lib /out:tomcrypt.lib $(OBJECTS)
|
|
80
|
|
81 x86_prof: demos/x86_prof.c library
|
|
82 cl $(CFLAGS) demos/x86_prof.c tomcrypt.lib advapi32.lib
|
|
83
|
|
84 tv_gen: demos/tv_gen.c library
|
|
85 cl $(CFLAGS) demos/tv_gen.c tomcrypt.lib advapi32.lib
|
|
86
|
|
87 hashsum: demos/hashsum.c library
|
|
88 cl $(CFLAGS) demos/hashsum.c tomcrypt.lib advapi32.lib
|