More changes. Still embryonic.
[u/mdw/catacomb] / Makefile.m4
index ae7117f..dca555f 100644 (file)
@@ -1,6 +1,6 @@
 ## -*-makefile-*-
 ##
-## $Id: Makefile.m4,v 1.3 1999/10/24 10:04:26 mdw Exp $
+## $Id: Makefile.m4,v 1.19 1999/12/11 10:58:24 mdw Exp $
 ##
 ## Makefile for Catacomb
 ##
 ##----- Revision history ----------------------------------------------------
 ##
 ## $Log: Makefile.m4,v $
-## Revision 1.3  1999/10/24 10:04:26  mdw
-## Install headers in the right directory.
+## Revision 1.19  1999/12/11 10:58:24  mdw
+## Fix bug in test rig link flags.  Add Karatsuba squaring.
+##
+## Revision 1.18  1999/12/10 23:30:01  mdw
+## Lots of new files.
+##
+## Revision 1.17  1999/11/25 11:38:31  mdw
+## Support for conversions between MPs and C integers.
+##
+## Revision 1.16  1999/11/22 20:51:33  mdw
+## Add yet more source files.
+##
+## Revision 1.15  1999/11/22 14:08:30  mdw
+## Improve dependencies for test programs.
+##
+## Revision 1.14  1999/11/22 00:17:09  mdw
+## Create object files for test programs so that rebuilding doesn't take so
+## long.
+##
+## Revision 1.12  1999/11/20 22:36:26  mdw
+## Improve dependencies.  Move mpx testing into mpx.c.
+##
+## Revision 1.11  1999/11/20 22:24:53  mdw
+## Add Diffie-Hellman support.
 ##
+## Revision 1.10  1999/11/19 19:28:24  mdw
+## Add DSA files and tests.
+##
+## Revision 1.9  1999/11/17 18:05:35  mdw
+## Many new files and test cases for multiprecision arithmetic.
+##
+## Revision 1.8  1999/11/13 01:56:07  mdw
+## Include multiprecision maths stuff.
+##
+## Revision 1.7  1999/11/11 19:01:02  mdw
+## Use `libtool' to generate a shared library.
+##
+## Revision 1.6  1999/11/11 17:47:34  mdw
+## Updates for new configuration system, and `mptypes' generator.
+##
+## Revision 1.5  1999/11/11 00:59:17  mdw
+## Minor reformatting.
+##
+## Revision 1.4  1999/10/24 10:20:36  mdw
 ## Modify for standalone distribution.  The library's getting far too large
 ## to be sensibly embedded in other programs.
 ##
@@ -42,6 +83,8 @@
 ## The `CVS' directory can't be hardlinked.  Don't worry about this
 ## overmuch.
 ##
+## Revision 1.1  1999/09/03 08:41:11  mdw
+## Initial import.
 ##
 
 AUTOMAKE_OPTIONS = foreign
@@ -81,22 +124,32 @@ MODES = \
        adorn(`$(srcdir)/', join(`hashes', `-', `hash_modes'), `.h')
 
 $(MODES): $(srcdir)/genmodes
+       cd $(srcdir); ./genmodes "lit(`ciphers')" "lit(`cipher_modes')"
+       cd $(srcdir); ./genmodes "lit(`hashes')" "lit(`hash_modes')"
+
+des_sp.h: des-mktab
+       ./des-mktab >des_sp.h
+
+ptab.c ptab.h: genprimes
+       ./genprimes -h ptab.h -c ptab.c -m 256 -t "unsigned char" -i ptab
 
 archinclude_HEADERS = mptypes.h
 
 mptypes.h: mptypes
-       des_sp.h \
        ./mptypes >mptypes.h
 
 BUILT_SOURCES = \
        getdate.c \
        addsuffix(join(`ciphers', `-', `cipher_modes'), `.c') \
        addsuffix(join(`ciphers', `-', `cipher_modes'), `.h') \
-INCLUDES = -I$(srcdir)/..
        addsuffix(join(`hashes', `-', `hash_modes'), `.c') \
        addsuffix(join(`hashes', `-', `hash_modes'), `.h')
-lib_LIBRARIES = libcatacomb.a
-libcatacomb_la_LDFLAGS = -version-info 0:4:0
+
+## --- Building the main library ---
+
+lib_LTLIBRARIES = libcatacomb.la
+
+libcatacomb_la_LDFLAGS = -version-info 0:5:0
 ## Middle number is the patchlevel.  Final number is the minor version.  The
 ## difference between the first and last numbers is major version.
 
@@ -104,27 +157,63 @@ define(`emit', `$1.h ')
 pkginclude_HEADERS = \
        paranoia.h \
        blkc.h hash.h \
-       mpx.h mpw.h mpscan.h mparena.h mp.h mptext.h mpmont.h \
+       gcipher.h ghash.h gmac.h grand.c \
+       ghash-def.h \
+       rc4.h \
+       rand.h noise.h \
+       key.h \
+       lcrand.h fibrand.h \
+       mpx.h mpw.h mpscan.h mparena.h mp.h mptext.h mpint.h \
+       mpbarrett.h mpmont.h mpcrt.h \
+       mprand.h \
        ptab.h pgen.h rabin.h \
-       dsa.h dh.h \
+       bbs.h dsa.h dh.h \
        allwithsuffix(`ciphers', `cipher_modes', `.h') \
-libcatacomb_a_SOURCES = \
+       allwithsuffix(`hashes', `hash_modes', `.h') \
+       addsuffix(`cipher_modes', `-def.h') \
+       addsuffix(`hash_modes', `-def.h')
 
 define(`emit', `$1.c ')
 libcatacomb_la_SOURCES = \
+       grand.c \
        des-base.c des-base.h des_sp.h bf_ikey.h daftstory.h \
+       rc4.c \
+       rand.c noise.c \
+       key.c \
+       lcrand.c fibrand.c \
+       mpx.c mpx-kmul.c mpx-ksqr.c mpscan.c mparena.c \
+       mp-misc.c mp-mem.c mp-const.c mp-io.c mp-arith.c mp-test.c \
+       mp-gcd.c mp-jacobi.c \
+       mpint.c \
+       mptext.c mptext-file.c mptext-string.c mptext-dstr.c \
+       mpbarrett.c mpmont.c mpmont-mexp.c \
+       mpcrt.c \
+       mprand.c \
        ptab.c pgen.c rabin.c \
+       bbs-rand.c bbs-gen.c bbs-jump.c \
        dsa-sign.c dsa-verify.c dsa-gen.c \
        dh-prime.c \
        addsuffix(join(`ciphers', `-', `cipher_modes'), `.c') \
-noinst_PROGRAMS = des-mktab
-LDADD = libcatacomb.a ../mLib/libmLib.a
+       addsuffix(join(`hashes', `-', `hash_modes'), `.c') \
+       addsuffix(`ciphers', `.c') addsuffix(`hashes', `.c')
+
+des-base.lo: des_sp.h
+mpx.lo: mptypes.h
+
 ## --- Utility programs ---
-noinst_PROGRAMS = des-mktab mptypes
-LDADD = libcatacomb.a
+
+bin_PROGRAMS = key
 bin_SCRIPTS = catacomb-config
-noinst_PROGRAMS = des-mktab genprimes mptypes
+noinst_PROGRAMS = des-mktab genprimes mptypes rspit
 LDADD = libcatacomb.la
+
+key_SOURCES = keyutil.c getdate.y getdate.h
+
+rspit_SOURCES = rspit.c
+
+des_mktab_SOURCES = des-mktab.c
+des_mktab_LDADD =
+
 genprimes_SOURCES = genprimes.c
 genprimes_LDADD =
 
@@ -144,35 +233,54 @@ dist-hook:
        @mkdir $(distdir)/tests
        @ln $(srcdir)/tests/* $(distdir)/tests || true
        @rm -f $(distdir)/tests/*~
-TESTS = \
-       rc4.t \
-       addsuffix(join(`ciphers', `-', `cipher_modes'), `.t') \
-       addsuffix(join(`hashes', `-', `hash_modes'), `.t') \
-       addsuffix(`ciphers', `.t') addsuffix(`hashes', `.t')
-       $(COMPILE) -DTEST_RIG -DSRCDIR=\"$(srcdir)\" \
-         $(srcdir)/$1.c libcatacomb.a ../mLib/libmLib.a -o $1.t')
-
-`$1.t: $1.c libcatacomb.a
-       $(COMPILE) -DTEST_RIG -DSRCDIR=\"$(srcdir)\" $(srcdir)/$1.c libcatacomb.a $(LIBS) -o $1.t')
+
+## --- Testing ---
+
+define(`testprogs', `')
+
+define(`CTESTRIG',
+`define(`testprogs', testprogs \
        $1.t)dnl
-$1.t: $1.c libcatacomb.la
+$1.to: $1.c
+       $(COMPILE) -c -DTEST_RIG -DSRCDIR=\"$(srcdir)\" $(srcdir)/$1.c -o $1.to
+$1.t: $1.to $1.o libcatacomb.la
+       $(CC) $(CFLAGS) $(LDFLAGS) $1.to .libs/libcatacomb.a $(LIBS) -o $1.t')
 
+CTESTRIG(rc4)
 adorn(`nl`'CTESTRIG(', `ciphers', `)')
 adorn(`nl`'CTESTRIG(', `hashes', `)')
-CLEANFILES = *.t
+adorn(`nl`'CTESTRIG(', join(`ciphers', `-', `cipher_modes'), `)')
 adorn(`nl`'CTESTRIG(', join(`hashes', `-', `hash_modes'), `)')
+CTESTRIG(lcrand)
+CTESTRIG(mpx)
+CTESTRIG(mpx-kmul)
+CTESTRIG(mpx-ksqr)
+CTESTRIG(mp-arith)
+CTESTRIG(mp-gcd)
+CTESTRIG(mp-jacobi)
+CTESTRIG(mptext)
+CTESTRIG(mpint)
+CTESTRIG(mpbarrett)
+CTESTRIG(mpmont)
+CTESTRIG(mpmont-mexp)
+CTESTRIG(mpcrt)
+CTESTRIG(pgen)
+CTESTRIG(dsa-gen)
+CTESTRIG(dsa-sign)
 CTESTRIG(dsa-verify)
-CLEANFILES = *.t mptypes.h
+CTESTRIG(bbs-rand)
+CTESTRIG(bbs-jump)
+
 TESTS = testprogs
 
-CLEANFILES = *.t mptypes.h des_sp.h ptab.c ptab.h
+CLEANFILES = *.t *.to mptypes.h des_sp.h ptab.c ptab.h
 
 ## --- Makefile building (haha!) ---
 
 $(srcdir)/Makefile.am: $(srcdir)/Makefile.m4
        m4 $(srcdir)/Makefile.m4 >$(srcdir)/Makefile.am
-       $(MODES) $(srcdir)/des_sp.h \
-       $(srcdir)/getdate.c getdate.c
+
+MAINTAINERCLEANFILES = \
        $(srcdir)/Makefile.am \
        $(srcdir)/getdate.c getdate.c \
        $(MODES)