view makefile.msvc @ 50:c61e66431001 libtomcrypt

Merge of the normal Dropbear makefile: - Don't include mpi.o, since it does Bad Things (tm) (wrt LTM) - Don't try to make clean in tests if it doesn't exist (infinite looping makefiles, mmmmm)
author Matt Johnston <matt@ucc.asn.au>
date Sat, 07 Aug 2004 16:33:31 +0000
parents b939f2d4431e
children 7ed585a2c53b
line wrap: on
line source

#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    \
\
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 \
\
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 \
\
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 \
\
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