Mercurial > dropbear
diff makefile @ 15:6362d3854bb4 libtomcrypt-orig
0.96 release of LibTomCrypt
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 15 Jun 2004 14:07:21 +0000 |
parents | 7faae8f46238 |
children | 09ab3354aa21 5d99163f7e32 |
line wrap: on
line diff
--- a/makefile Mon May 31 18:25:41 2004 +0000 +++ b/makefile Tue Jun 15 14:07:21 2004 +0000 @@ -9,9 +9,8 @@ # a build. This is easy to remedy though, for those that have problems. # The version -VERSION=0.95 +VERSION=0.96 -#ch1-01-1 # Compiler and Linker Names #CC=gcc #LD=ld @@ -19,9 +18,7 @@ # Archiver [makes .a files] #AR=ar #ARFLAGS=r -#ch1-01-1 -#ch1-01-3 # Compilation flags. Note the += does not write over the user's CFLAGS! CFLAGS += -c -I./ -Wall -Wsign-compare -W -Wshadow # -Werror @@ -29,8 +26,8 @@ # optimize for SPEED #CFLAGS += -O3 -funroll-loops -#add -fomit-frame-pointer. v3.2 is buggy for certain platforms! -#CFLAGS += -fomit-frame-pointer +#add -fomit-frame-pointer. GCC v3.2 is buggy for certain platforms! +CFLAGS += -fomit-frame-pointer # optimize for SIZE CFLAGS += -Os @@ -43,7 +40,6 @@ #Output filenames for various targets. LIBNAME=libtomcrypt.a -TEST=test HASH=hashsum CRYPT=encrypt SMALL=small @@ -63,7 +59,7 @@ #Leave MPI built-in or force developer to link against libtommath? MPIOBJECT=mpi.o -OBJECTS=keyring.o gf.o strings.o base64.o \ +OBJECTS=error_to_string.o mpi_to_ltc_error.o base64_encode.o base64_decode.o \ \ crypt.o crypt_find_cipher.o crypt_find_hash_any.o \ crypt_hash_is_valid.o crypt_register_hash.o crypt_unregister_prng.o \ @@ -79,12 +75,16 @@ \ ecc.o dh.o \ \ -rsa.o rsa_exptmod.o rsa_free.o rsa_make_key.o \ +rsa_decrypt_key.o rsa_encrypt_key.o rsa_exptmod.o rsa_free.o rsa_make_key.o \ +rsa_sign_hash.o rsa_verify_hash.o rsa_export.o rsa_import.o tim_exptmod.o \ \ -dsa_export.o dsa_free.o dsa_import.o dsa_make_key.o dsa_sign_hash.o dsa_verify_hash.o dsa_verify_key.o \ +dsa_export.o dsa_free.o dsa_import.o dsa_make_key.o dsa_sign_hash.o \ +dsa_verify_hash.o dsa_verify_key.o \ \ -xtea.o aes.o des.o safer_tab.o safer.o saferp.o rc2.o \ -rc6.o rc5.o cast5.o noekeon.o blowfish.o twofish.o skipjack.o \ +aes.o aes_enc.o \ +\ +blowfish.o des.o safer_tab.o safer.o saferp.o rc2.o xtea.o \ +rc6.o rc5.o cast5.o noekeon.o twofish.o skipjack.o \ \ md2.o md4.o md5.o sha1.o sha256.o sha512.o tiger.o whirl.o \ rmd128.o rmd160.o \ @@ -103,10 +103,10 @@ pmac_done.o pmac_file.o pmac_init.o pmac_memory.o pmac_ntz.o pmac_process.o \ pmac_shift_xor.o pmac_test.o \ \ -cbc_start.o cbc_encrypt.o cbc_decrypt.o \ -cfb_start.o cfb_encrypt.o cfb_decrypt.o \ -ofb_start.o ofb_encrypt.o ofb_decrypt.o \ -ctr_start.o ctr_encrypt.o ctr_decrypt.o \ +cbc_start.o cbc_encrypt.o cbc_decrypt.o cbc_getiv.o cbc_setiv.o \ +cfb_start.o cfb_encrypt.o cfb_decrypt.o cfb_getiv.o cfb_setiv.o \ +ofb_start.o ofb_encrypt.o ofb_decrypt.o ofb_getiv.o ofb_setiv.o \ +ctr_start.o ctr_encrypt.o ctr_decrypt.o ctr_getiv.o ctr_setiv.o \ ecb_start.o ecb_encrypt.o ecb_decrypt.o \ \ hash_file.o hash_filehandle.o hash_memory.o \ @@ -115,6 +115,7 @@ \ pkcs_1_mgf1.o pkcs_1_oaep_encode.o pkcs_1_oaep_decode.o \ pkcs_1_pss_encode.o pkcs_1_pss_decode.o pkcs_1_i2osp.o pkcs_1_os2ip.o \ +pkcs_1_v15_es_encode.o pkcs_1_v15_es_decode.o pkcs_1_v15_sa_encode.o pkcs_1_v15_sa_decode.o \ \ pkcs_5_1.o pkcs_5_2.o \ \ @@ -129,26 +130,27 @@ TVS=demos/tv_gen.o #Files left over from making the crypt.pdf. -LEFTOVERS=*.dvi *.log *.aux *.toc *.idx *.ilg *.ind +LEFTOVERS=*.dvi *.log *.aux *.toc *.idx *.ilg *.ind *.out #Compressed filenames -COMPRESSED=crypt.tar.bz2 crypt.zip crypt.tar.gz +COMPRESSED=crypt-$(VERSION).tar.bz2 crypt-$(VERSION).zip #Header files used by libtomcrypt. -HEADERS=tommath.h mycrypt_cfg.h mycrypt_gf.h mycrypt_kr.h \ +HEADERS=ltc_tommath.h mycrypt_cfg.h \ mycrypt_misc.h mycrypt_prng.h mycrypt_cipher.h mycrypt_hash.h \ mycrypt_macros.h mycrypt_pk.h mycrypt.h mycrypt_argchk.h \ mycrypt_custom.h mycrypt_pkcs.h #The default rule for make builds the libtomcrypt library. -default:library mycrypt.h mycrypt_cfg.h +default:library +#ciphers come in two flavours... enc+dec and enc +aes_enc.o: aes.c aes_tab.c + $(CC) $(CFLAGS) -DENCRYPT_ONLY -c aes.c -o aes_enc.o + #These are the rules to make certain object files. -rsa.o: rsa.c rsa_sys.c ecc.o: ecc.c ecc_sys.c dh.o: dh.c dh_sys.c -aes.o: aes.c aes_tab.c -twofish.o: twofish.c twofish_tab.c sha512.o: sha512.c sha384.c sha256.o: sha256.c sha224.c @@ -158,10 +160,6 @@ $(LIBNAME): $(OBJECTS) $(AR) $(ARFLAGS) $@ $(OBJECTS) -#This rule makes the test program included with libtomcrypt -test: library $(TESTOBJECTS) - $(CC) $(TESTOBJECTS) $(LIBNAME) -o $(TEST) $(WARN) - #This rule makes the hash program included with libtomcrypt hashsum: library $(HASHOBJECTS) $(CC) $(HASHOBJECTS) $(LIBNAME) -o $(HASH) $(WARN) @@ -180,34 +178,6 @@ tv_gen: library $(TVS) $(CC) $(TVS) $(LIBNAME) -o $(TV) - -#make a profiled library (takes a while!!!) -# -# This will build the library with profile generation -# then run the test demo and rebuild the library. -# -# So far I've seen improvements in the MP math -# -# This works with GCC v3.3.x [tested with 3.3.3] -profiled: $(TESTOBJECTS) - make CFLAGS="$(CFLAGS) -fprofile-arcs" - $(CC) $(TESTOBJECTS) $(LIBNAME) -o $(TEST) - ./test - rm -f *.a *.o test demos/test.o - make CFLAGS="$(CFLAGS) -fbranch-probabilities" - - -#Profiling in GCC 3.4.x is a little diff. -# -#Tested with GCC v3.4.0 -profiled34: $(TESTOBJECTS) - make CFLAGS="$(CFLAGS) -fprofile-generate" - $(CC) $(TESTOBJECTS) $(LIBNAME) -lgcov -o $(TEST) - ./test - rm -f *.a *.o test demos/test.o - make CFLAGS="$(CFLAGS) -fprofile-use" - - #This rule installs the library and the header files. This must be run #as root in order to have a high enough permission to write to the correct #directories and to set the owner and group to root. @@ -217,7 +187,7 @@ install -d -g root -o root $(DESTDIR)$(DATAPATH) install -g root -o root $(LIBNAME) $(DESTDIR)$(LIBPATH) install -g root -o root $(HEADERS) $(DESTDIR)$(INCPATH) - install -g root -o root crypt.pdf $(DESTDIR)$(DATAPATH) + install -g root -o root doc/crypt.pdf $(DESTDIR)$(DATAPATH) #This rule cleans the source tree of all compiled code, not including the pdf #documentation. @@ -225,21 +195,31 @@ rm -f $(OBJECTS) $(TESTOBJECTS) $(HASHOBJECTS) $(CRYPTOBJECTS) $(SMALLOBJECTS) $(LEFTOVERS) $(LIBNAME) rm -f $(TEST) $(HASH) $(COMPRESSED) $(PROFS) $(PROF) $(TVS) $(TV) rm -f *.a *.dll *stackdump *.lib *.exe *.obj demos/*.obj demos/*.o *.bat *.txt *.il *.da demos/*.il demos/*.da *.dyn *.dpi \ - *.gcda *.gcno demos/*.gcno demos/*.gcda *~ + *.gcda *.gcno demos/*.gcno demos/*.gcda *~ doc/* + cd demos/test ; make clean #This builds the crypt.pdf file. Note that the rm -f *.pdf has been removed #from the clean command! This is because most people would like to keep the #nice pre-compiled crypt.pdf that comes with libtomcrypt! We only need to #delete it if we are rebuilding it. docs: crypt.tex - rm -f crypt.pdf $(LEFTOVERS) + rm -f doc/crypt.pdf $(LEFTOVERS) + echo "hello" > crypt.ind latex crypt > /dev/null makeindex crypt > /dev/null latex crypt > /dev/null latex crypt > /dev/null dvipdf crypt + mv -ivf crypt.pdf doc/crypt.pdf rm -f $(LEFTOVERS) - + +docdvi: crypt.tex + echo hello > crypt.ind + latex crypt > /dev/null + latex crypt > /dev/null + makeindex crypt + latex crypt > /dev/null + #beta beta: clean cd .. ; rm -rf crypt* libtomcrypt-$(VERSION)-beta ; mkdir libtomcrypt-$(VERSION)-beta ; \ @@ -250,4 +230,6 @@ zipup: clean docs cd .. ; rm -rf crypt* libtomcrypt-$(VERSION) ; mkdir libtomcrypt-$(VERSION) ; \ cp -R ./libtomcrypt/* ./libtomcrypt-$(VERSION)/ ; tar -c libtomcrypt-$(VERSION)/* > crypt-$(VERSION).tar ; \ - bzip2 -9vv crypt-$(VERSION).tar ; zip -9 -r crypt-$(VERSION).zip libtomcrypt-$(VERSION)/* + bzip2 -9vv crypt-$(VERSION).tar ; zip -9 -r crypt-$(VERSION).zip libtomcrypt-$(VERSION)/* ; \ + gpg -b -a crypt-$(VERSION).tar.bz2 ; \ + gpg -b -a crypt-$(VERSION).zip