TEST_LIBS = libsymm.la
+noinst_LTLIBRARIES += libsymmtest.la
+libsymmtest_la_SOURCES =
+libsymmtest_la_CFLAGS = $(AM_CFLAGS) -DSRCDIR=\"$(srcdir)\"
+TEST_LIBS += libsymmtest.la
+
VPATH += $(srcdir)/modes
###--------------------------------------------------------------------------
blkc="$(BLKCS)" \
blkcmode="$(BLKCMODES)" \
blkcciphermode="$(BLKCCIPHERMODES)" \
+ blkcaeadmode="$(BLKCAEADMODES)" \
+ blkcmacmode="$(BLKCMACMODES)" \
hash="$(HASHES)" \
hashmode="$(HASHMODES)" \
hashciphermode="$(HASHCIPHERMODES)" \
## Initialize lists of known classes.
ALL_CIPHERS = $(CIPHER_MODES)
+ALL_AEADS = $(AEAD_MODES)
ALL_HASHES = $(HASHES)
ALL_MACS = $(MAC_MODES)
BLKCCIPHERMODES =
BLKCMODES += $(BLKCCIPHERMODES)
+BLKCAEADMODES =
+BLKCMODES += $(BLKCAEADMODES)
+
+BLKCMACMODES =
+BLKCMODES += $(BLKCMACMODES)
+
## A tool for translating the AES-contest test vectors into a form our test
## rigs understand.
EXTRA_DIST += aes-trans
pkginclude_HEADERS += $(GENMODES_H)
$(GENMODES_H): modes/gen-stamp
+## Additional test machinery.
+libsymmtest_la_SOURCES += modes-test.c modes-test.h
+
###--------------------------------------------------------------------------
### Autogenerated stub headers.
$(AM_V_GEN)$(multigen) -g $(srcdir)/gthingtab.c.in gciphertab.c \
what=gcipher cls=gccipher thing="$(ALL_CIPHERS)"
+## Table of AEAD classes.
+pkginclude_HEADERS += gaead.h
+CLEANFILES += gaeadtab.c
+libsymm_la_SOURCES += gaead.c
+nodist_libsymm_la_SOURCES += gaeadtab.c
+gaeadtab.c: gthingtab.c.in Makefile.am
+ $(AM_V_GEN)$(multigen) -g $(srcdir)/gthingtab.c.in gaeadtab.c \
+ what=gaead cls=gcaead thing="$(ALL_AEADS)"
+
## Table of hash classes.
pkginclude_HEADERS += ghash.h ghash-def.h
CLEANFILES += ghashtab.c
## Run the test programs.
TESTS += $(SYMM_TESTS)
EXTRA_DIST += $(SYMM_TEST_FILES)
+EXTRA_DIST += $(REGRESSION_TEST_FILES)
-## A piece of sample text for round-trip testing encryption modes.
-EXTRA_DIST += daftstory.h
+t/modes/%.regress:
+ $(MAKE) modes/$*.t && \
+ mkdir -p $(srcdir)/t/modes/ && \
+ modes/$*.t -o$(srcdir)/$@.new && \
+ mv $(srcdir)/$@.new $(srcdir)/$@
## Clean the debris from the `modes' subdirectory.
CLEANFILES += modes/*.to modes/*.t$(EXEEXT)