## Block cipher modes.
%repeat
-GENMODES_C += modes/@blkc-@blkcmode.c
-GENMODES_H += modes/@blkc-@blkcmode.h
-SYMM_TESTS += modes/@blkc-@blkcmode.t$(EXEEXT)
+GENMODES_C += modes/@{blkc:f}-@blkcmode.c
+GENMODES_H += modes/@{blkc:f}-@blkcmode.h
+SYMM_TESTS += modes/@{blkc:f}-@blkcmode.t$(EXEEXT)
%end
## Hash function modes.
%repeat
-GENMODES_C += modes/@hash-@hashmode.c
-GENMODES_H += modes/@hash-@hashmode.h
-SYMM_TESTS += modes/@hash-@hashmode.t$(EXEEXT)
+GENMODES_C += modes/@{hash:f}-@hashmode.c
+GENMODES_H += modes/@{hash:f}-@hashmode.h
+SYMM_TESTS += modes/@{hash:f}-@hashmode.t$(EXEEXT)
%end
## Interface and implementation headers for the various modes.
BLKC_C =
BLKC_H =
%repeat
-BLKC_C += @blkc.c
-BLKC_H += @blkc.h
-SYMM_TESTS += @blkc.t$(EXEEXT)
+BLKC_C += @{blkc:f}.c
+BLKC_H += @{blkc:f}.h
+SYMM_TESTS += @{blkc:f}.t$(EXEEXT)
%end
## Hash function interfaces and implementations.
HASH_C =
HASH_H =
%repeat
-HASH_C += @hash.c
-HASH_H += @hash.h
-SYMM_TESTS += @hash.t$(EXEEXT)
+HASH_C += @{hash:f}.c
+HASH_H += @{hash:f}.h
+SYMM_TESTS += @{hash:f}.t$(EXEEXT)
%end
## Modes for symmetric encryption.
CIPHER_MODES =
%repeat
-CIPHER_MODES += @blkc-@blkcciphermode
+CIPHER_MODES += @{blkc:f}-@blkcciphermode
%end
%repeat
-CIPHER_MODES += @hash-@hashciphermode
+CIPHER_MODES += @{hash:f}-@hashciphermode
+%end
+
+## Modes for authenticated encryption.
+AEAD_MODES =
+%repeat
+AEAD_MODES += @{blkc:f}-@blkcaeadmode
%end
## Modes for message authentication.
MAC_MODES =
%repeat
-MAC_MODES += @hash-@hashmacmode
+MAC_MODES += @{blkc:f}-@blkcmacmode
+%end
+%repeat
+MAC_MODES += @{hash:f}-@hashmacmode
%end
## Test input files.
SYMM_TEST_FILES =
%repeat
-SYMM_TEST_FILES += t/@blkc
+SYMM_TEST_FILES += t/@{blkc:f}
+%end
+%repeat
+SYMM_TEST_FILES += t/@{hash:f}
+%end
+
+## Regression-test files.
+REGRESSION_TEST_FILES =
+%repeat
+REGRESSION_TEST_FILES += t/modes/@{blkc:f}-@{blkcciphermode}.regress
%end
%repeat
-SYMM_TEST_FILES += t/@hash
+REGRESSION_TEST_FILES += t/modes/@{hash:f}-@{hashciphermode}.regress
%end