| #MSVC Makefile [tested with MSVC 6.00 with SP5] |
| # |
| #Tom St Denis |
| CFLAGS = /I. /Ox /DWIN32 /W3 |
| |
| default: library |
| |
| # leave this blank and link against libtommath if you want better link resolution |
| MPIOBJECT=mpi.obj |
| |
| OBJECTS=error_to_string.obj mpi_to_ltc_error.obj base64_encode.obj base64_decode.obj \ |
| \ |
| crypt.obj crypt_find_cipher.obj crypt_find_hash_any.obj \ |
| crypt_hash_is_valid.obj crypt_register_hash.obj crypt_unregister_prng.obj \ |
| crypt_argchk.obj crypt_find_cipher_any.obj crypt_find_hash_id.obj \ |
| crypt_prng_descriptor.obj crypt_register_prng.obj crypt_cipher_descriptor.obj \ |
| crypt_find_cipher_id.obj crypt_find_prng.obj crypt_prng_is_valid.obj \ |
| crypt_unregister_cipher.obj crypt_cipher_is_valid.obj crypt_find_hash.obj \ |
| crypt_hash_descriptor.obj crypt_register_cipher.obj crypt_unregister_hash.obj \ |
| \ |
| sober128.obj fortuna.obj sprng.obj yarrow.obj rc4.obj rng_get_bytes.obj rng_make_prng.obj \ |
| \ |
| rand_prime.obj is_prime.obj \ |
| \ |
| ecc.obj dh.obj \ |
| \ |
| rsa_decrypt_key.obj rsa_encrypt_key.obj rsa_exptmod.obj rsa_free.obj rsa_make_key.obj \ |
| rsa_sign_hash.obj rsa_verify_hash.obj rsa_export.obj rsa_import.obj tim_exptmod.obj \ |
| rsa_v15_encrypt_key.obj rsa_v15_decrypt_key.obj rsa_v15_sign_hash.obj rsa_v15_verify_hash.obj \ |
| \ |
| dsa_export.obj dsa_free.obj dsa_import.obj dsa_make_key.obj dsa_sign_hash.obj \ |
| dsa_verify_hash.obj dsa_verify_key.obj \ |
| \ |
| aes.obj aes_enc.obj \ |
| \ |
| blowfish.obj des.obj safer_tab.obj safer.obj saferp.obj rc2.obj xtea.obj \ |
| rc6.obj rc5.obj cast5.obj noekeon.obj twofish.obj skipjack.obj \ |
| \ |
| md2.obj md4.obj md5.obj sha1.obj sha256.obj sha512.obj tiger.obj whirl.obj \ |
| rmd128.obj rmd160.obj chc.obj \ |
| \ |
| packet_store_header.obj packet_valid_header.obj \ |
| \ |
| eax_addheader.obj eax_decrypt.obj eax_decrypt_verify_memory.obj eax_done.obj eax_encrypt.obj \ |
| eax_encrypt_authenticate_memory.obj eax_init.obj eax_test.obj \ |
| \ |
| ocb_decrypt.obj ocb_decrypt_verify_memory.obj ocb_done_decrypt.obj ocb_done_encrypt.obj \ |
| ocb_encrypt.obj ocb_encrypt_authenticate_memory.obj ocb_init.obj ocb_ntz.obj \ |
| ocb_shift_xor.obj ocb_test.obj s_ocb_done.obj \ |
| \ |
| omac_done.obj omac_file.obj omac_init.obj omac_memory.obj omac_process.obj omac_test.obj \ |
| \ |
| pmac_done.obj pmac_file.obj pmac_init.obj pmac_memory.obj pmac_ntz.obj pmac_process.obj \ |
| pmac_shift_xor.obj pmac_test.obj \ |
| \ |
| cbc_start.obj cbc_encrypt.obj cbc_decrypt.obj cbc_getiv.obj cbc_setiv.obj \ |
| cfb_start.obj cfb_encrypt.obj cfb_decrypt.obj cfb_getiv.obj cfb_setiv.obj \ |
| ofb_start.obj ofb_encrypt.obj ofb_decrypt.obj ofb_getiv.obj ofb_setiv.obj \ |
| ctr_start.obj ctr_encrypt.obj ctr_decrypt.obj ctr_getiv.obj ctr_setiv.obj \ |
| ecb_start.obj ecb_encrypt.obj ecb_decrypt.obj \ |
| \ |
| hash_file.obj hash_filehandle.obj hash_memory.obj \ |
| \ |
| hmac_done.obj hmac_file.obj hmac_init.obj hmac_memory.obj hmac_process.obj hmac_test.obj \ |
| \ |
| pkcs_1_mgf1.obj pkcs_1_oaep_encode.obj pkcs_1_oaep_decode.obj \ |
| pkcs_1_pss_encode.obj pkcs_1_pss_decode.obj pkcs_1_i2osp.obj pkcs_1_os2ip.obj \ |
| pkcs_1_v15_es_encode.obj pkcs_1_v15_es_decode.obj pkcs_1_v15_sa_encode.obj pkcs_1_v15_sa_decode.obj \ |
| \ |
| pkcs_5_1.obj pkcs_5_2.obj \ |
| \ |
| der_encode_integer.obj der_decode_integer.obj der_length_integer.obj \ |
| der_put_multi_integer.obj der_get_multi_integer.obj \ |
| \ |
| burn_stack.obj zeromem.obj \ |
| \ |
| $(MPIOBJECT) |
| |
| #ciphers come in two flavours... enc+dec and enc |
| aes_enc.obj: aes.c aes_tab.c |
| $(CC) $(CFLAGS) /DENCRYPT_ONLY /c aes.c /Foaes_enc.obj |
| |
| library: $(OBJECTS) |
| lib /out:tomcrypt.lib $(OBJECTS) |
| |
| x86_prof: demos/x86_prof.c library |
| cl $(CFLAGS) demos/x86_prof.c tomcrypt.lib advapi32.lib |
| |
| tv_gen: demos/tv_gen.c library |
| cl $(CFLAGS) demos/tv_gen.c tomcrypt.lib advapi32.lib |
| |
| hashsum: demos/hashsum.c library |
| cl $(CFLAGS) demos/hashsum.c tomcrypt.lib advapi32.lib |