# Makefile for the ARM-Crypto-Lib project
#
-# This file is part of the AVR-Crypto-Lib.
+# This file is part of the ARM-Crypto-Lib.
# Copyright (C) 2010 Daniel Otte (daniel.otte@rub.de)
#
# This program is free software: you can redistribute it and/or modify
SIGNATURE :=
PK_CIPHERS :=
AUX :=
-
+LIB_ALGOS :=
# we use the gnu make standard library
include gmsl
# inclusion of make stubs
include mkfiles/*.mk
+define Assert_Template
+$(1) = $(2)
+endef
+
+define Add_Template
+$(1) += $(2)
+endef
+
#-------------------------------------------------------------------------------
ALGORITHMS = $(BLOCK_CIPHERS) $(STREAM_CIPHERS) $(HASHES) $(PRNGS) $(MACS) \
$(ENCODINGS) $(SIGNATURE) $(PK_CIPHERS) $(AUX)
ALGORITHMS_OBJ = $(patsubst %,%_OBJ, $(ALGORITHMS))
-ALGORITHMS_TEST_BIN = $(patsubst %,%_TEST_BIN, $(ALGORITHMS))
+ALGORITHMS_TESTBIN = $(patsubst %,%_TESTBIN, $(ALGORITHMS))
+
+LIB_OBJECTS :=
+LIB_SRCDIRS :=
+LIB_DEFINES :=
+
+$(foreach a, $(LIB_ALGOS), $(eval $(call Add_Template, \
+ LIB_OBJECTS, \
+ $($(a)_OBJ) \
+)))
+LIB_OBJECTS := $(addprefix $(BIN_DIR)$(LIB_DIR), $(sort $(LIB_OBJECTS)))
+
+$(foreach a, $(LIB_ALGOS), $(eval $(call Add_Template, \
+ LIB_SRCDIRS, \
+ $($(a)_DIR) \
+)))
+
+$(foreach a, $(LIB_ALGOS), $(eval $(call Add_Template, \
+ LIB_SRCDIRS, \
+ $($(a)_INCDIR) \
+)))
+LIB_SRCDIRS := $(sort $(LIB_SRCDIRS))
+
+$(foreach a, $(LIB_ALGOS), $(eval $(call Add_Template, \
+ LIB_DEFINES, \
+ $($(a)_DEF) \
+)))
+LIB_DEFINES := $(sort $(LIB_DEFINES))
+
#-------------------------------------------------------------------------------
# define binary object in $(BIN_DIR)$(ALGO)/<obj>
-define Assert_Template
-$(1) = $(2)
-endef
-
$(foreach a, $(ALGORITHMS), $(eval $(call Assert_Template, \
$(a)_BINOBJ, \
$(addprefix $(BIN_DIR)$(call lc,$(a))/,$($(a)_OBJ)) \
$(foreach a, $(ALGORITHMS), $(eval $(call Assert_Template, \
$(a)_TESTBINOBJ, \
- $(addprefix $(BIN_DIR)$(call lc,$(a))/$(TEST_DIR),$($(a)_TEST_BIN)) \
+ $(addprefix $(BIN_DIR)$(call lc,$(a))/$(TEST_DIR),$($(a)_TESTBIN)) \
)))
)
$(foreach a, $(ALGORITHMS), \
- $(foreach b, $($(a)_TEST_BIN), \
+ $(foreach b, $($(a)_TESTBIN), \
$(eval $(call TargetSource_Template, \
$(BIN_DIR)$(call lc, $(a))/$(TEST_DIR)$(b), \
$(call find_source_file, $(b), $($(a)_DIR) $($(a)_INCDIR) $(GLOBAL_INCDIR) ),\
) \
)
+$(foreach a, $(LIB_OBJECTS), \
+ $(eval $(call TargetSource_Template, \
+ $(a), \
+ $(call find_source_file, $(notdir $(a)), $(LIB_SRCDIRS) ),\
+ $(LIB_SRCDIRS) $(GLOBAL_INCDIR), \
+ $(LIB_DEFINES) \
+ ) \
+ ) \
+)
+
#-------------------------------------------------------------------------------
define MainTestElf_Template
$(1): $(2) $(3)
@echo "[ld]: $(1)"
- @$(CC) $(CFLAGS_A) $(LDFLAGS)$(patsubst %.elf,%.map,$(1)) -o \
+ @mkdir -p $(dir $(1))
+ $(CC) $(CFLAGS_A) $(LDFLAGS)$(patsubst %.elf,%.map,$(1)) -o \
$(1) \
$(2) $(3) \
- $(LIBS)
+ $(addprefix -l, $(LIBS))
endef
$(foreach a, $(ALGORITHMS), \
#-------------------------------------------------------------------------------
.PHONY: tests
-tests: $(foreach a, $(ALGORITHMS), $(a)_TEST_BIN)
+tests: $(foreach a, $(ALGORITHMS), $(a)_TESTBIN)
#-------------------------------------------------------------------------------
aux: $(foreach algo, $(AUX), $(algo)_OBJ)
+
+
+.PHONY: lib_info
+lib_info:
+ @echo "LIB_ALGOS ="
+ @echo $(foreach a, $(LIB_ALGOS), '\t$(a)\n')
+ @echo "LIB_OBJECTS ="
+ @echo $(foreach a, $(LIB_OBJECTS), '\t$(a)\n')
+ @echo "LIB_SRCDIRS ="
+ @echo $(foreach a, $(LIB_SRCDIRS), '\t$(a)\n')
+
+$(BIN_DIR)$(LIB_DIR)$(LIB_NAME): $(LIB_OBJECTS)
+ @echo "[rm]: old $@"
+ @$(RM) -f $@
+ @echo "[chmod]: <objects>"
+ @$(CHMOD) 644 $^
+# $(CHGRP) root $^
+# $(CHOWN) root $^
+ @echo "[ar]: $@ <-- <objects>"
+ @$(AR) qc $@ $^
+
+.PHONY: lib
+lib: $(BIN_DIR)$(LIB_DIR)$(LIB_NAME)
+
+
#-------------------------------------------------------------------------------
@echo " targets:"
@echo " all - all algorithm cores"
@echo " cores - all algorithm cores"
+ @echo " lib - make library archive"
@echo " listings - all algorithm core listings"
@echo " tests - all algorithm test programs"
@echo " stats - all algorithm size statistics"
.PHONY: clean
clean:
- rm -rf $(BIN_DIR)*
+ @echo "[rm]: $(BIN_DIR)*"
+ @$(RM) -rf $(BIN_DIR)*
.PHONY: depclean
depclean: clean
- rm -f $(DEP_DIR)*.d
+ @echo "[rm]: $(DEP_DIR)*.d"
+ @$(RM) -f $(DEP_DIR)*.d
#-------------------------------------------------------------------------------
# dependency inclusion
TOOLCHAIN = arm-none-eabi-#
MCU_TARGET = cortex-m3
-OPTIMIZE = -O0
+MCU_OPTS = -mthumb
+OPTIMIZE = -O0 -fomit-frame-pointer
DEBUG = -gdwarf-2
WARNING = -pedantic -Wall -Wstrict-prototypes -Werror
DEFS = -D$(call uc, $(subst -,_,$(MCU_TARGET)))
-c "flash write_image erase $(1) 0 bin" \
-c "reset run" \
-c "shutdown"
-DEP_DIR = deps/
-TEST_DIR = test/
-BIN_DIR = bin/
-TESTSRC_DIR = test_src/
+DEP_DIR = deps/#
+TEST_DIR = test/#
+BIN_DIR = bin/#
+TESTSRC_DIR = test_src/#
ERASECMD =
TESTPORT = /dev/ttyUSB1
TESTPORTBAUDR = 115200
TESTLOG_DIR = testlog/#
-TESTPREFIX = nessie-
+TESTPREFIX = nessie-#
SPEEDTOOL = host/get_performance.rb
-SPEEDLOG_DIR = speed_log/
+SPEEDLOG_DIR = speed_log/#
SPEEDPREFIX =
SPEEDCMD = performance
SIZE_DIR = size_log/#
LIST_DIR = listings/#
STAT_DIR = stats/#
AUTOASM_DIR = autoasm/#
+LIB_DIR = lib/#
+LIB_NAME = libcrypto.a
AUTOASM_OPT = -S
-CC = $(TOOLCHAIN)gcc
CSTD = gnu99
+LIBS = c gcc
-override CFLAGS_A = -fomit-frame-pointer \
- -mthumb -ffunction-sections -fdata-sections -MMD \
- -MF$(DEP_DIR)$(patsubst %.o,%.d,$(notdir $(1))) \
- $(DEBUG) $(WARNING) -std=$(CSTD) $(OPTIMIZE) \
- -mcpu=$(MCU_TARGET) $(DEFS)
-override CFLAGS = -fomit-frame-pointer \
- -mthumb -ffunction-sections -fdata-sections -MMD \
- -MF$(DEP_DIR)$(patsubst %.o,%.d,$(notdir $@)) \
- $(DEBUG) $(WARNING) -std=$(CSTD) $(OPTIMIZE) \
- -mcpu=$(MCU_TARGET) $(DEFS)
+COMMON_FLAGS = -ffunction-sections -fdata-sections \
+ $(DEBUG) $(WARNING) -std=$(CSTD) $(OPTIMIZE) \
+ -mcpu=$(MCU_TARGET) $(MCU_OPTS) $(DEFS) -MMD
+override CFLAGS_A = $(COMMON_FLAGS) \
+ -MF$(DEP_DIR)$(patsubst %.o,%.d,$(notdir $(1)))
+override CFLAGS = $(COMMON_FLAGS) \
+ -MF$(DEP_DIR)$(patsubst %.o,%.d,$(notdir $@))
+
override LDFLAGS = -g -T lm3s9b90.ld -Wl,--gc-sections \
- -Wl,--entry=reset_isr -lc -lgcc \
- -Wl,-Map,# no space at the end
+ -Wl,--entry=reset_isr \
+ -Wl,-Map,# no space at the end
+
override ASFLAGS = -mcpu=$(MCU_TARGET)
SIZESTAT_FILE = sizestats.txt
+CC = $(TOOLCHAIN)gcc
OBJCOPY = $(TOOLCHAIN)objcopy
OBJDUMP = $(TOOLCHAIN)objdump
SIZE = $(TOOLCHAIN)size
OPENOCD = openocd
READELF = readelf
+AR = $(TOOLCHAIN)ar
+CHMOD = chmod
+CHOWN = chown
+CHGRP = chgrp
+RM = rm
RUBY = ruby
GET_TEST = host/get_test.rb
MAKE = make
#define ROTTABLE_INV 0x3F7E
/******************************************************************************/
-void permute(uint8_t *ptable, const uint8_t *in, uint8_t *out){
- uint8_t ib, ob; /* in-bytes and out-bytes */
+void permute(const uint8_t *ptable, const uint8_t *in, uint8_t *out){
+ uint8_t ob; /* in-bytes and out-bytes */
uint8_t byte, bit; /* counter for bit and byte */
- ib = ptable[0];
ob = ptable[1];
ptable = &(ptable[2]);
for(byte=0; byte<ob; ++byte){
aes_keyschedule.o gf256mul.o \
aes128_enc.o aes128_dec.o aes192_enc.o aes192_dec.o \
aes256_enc.o aes256_dec.o
-$(ALGO_NAME)_TEST_BIN := main-aes-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-aes-test.o $(CLI_STD) \
nessie_bc_test.o nessie_common.o performance_test.o memxor.o \
bcal_aes128.o bcal_aes192.o bcal_aes256.o bcal-basic.o bcal-cbc.o \
keysize_descriptor.o bcal-cfb_byte.o bcal-performance.o \
$(ALGO_NAME)_DIR := arcfour/
$(ALGO_NAME)_INCDIR := memxor/ scal/
$(ALGO_NAME)_OBJ := arcfour.o
-$(ALGO_NAME)_TEST_BIN := main-arcfour-test.o scal_arcfour.o $(CLI_STD) $(SCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-arcfour-test.o scal_arcfour.o $(CLI_STD) $(SCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := base64/
$(ALGO_NAME)_OBJ := base64_enc.o base64_dec.o
$(ALGO_NAME)_INCDIR := noekeon/ memxor/
-$(ALGO_NAME)_TEST_BIN := main-base64-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-base64-test.o $(CLI_STD) \
performance_test.o noekeon.o noekeon_prng.o memxor.o
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := bigint/
$(ALGO_NAME)_INCDIR := memxor/ noekeon/
$(ALGO_NAME)_OBJ := bigint.o bigint_io.o
-$(ALGO_NAME)_TEST_BIN := main-bigint-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-bigint-test.o $(CLI_STD) \
performance_test.o noekeon.o noekeon_prng.o memxor.o
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := blake/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := blake_small.o blake_large.o blake_common.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-blake-test.o hfal_blake_small.o hfal_blake_large.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-blake-test.o hfal_blake_small.o hfal_blake_large.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := bmw/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := bmw_small.o bmw_large.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := bmw/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := bmw_small_speed.o bmw_large_speed.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := cast5/
$(ALGO_NAME)_OBJ := cast5.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-cast5-test.o bcal_cast5.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cast5-test.o bcal_cast5.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := cast6/
$(ALGO_NAME)_OBJ := cast6.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-cast6-test.o bcal_cast6.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cast6-test.o bcal_cast6.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := cscipher/
$(ALGO_NAME)_INCDIR := bcal/ memxor/
$(ALGO_NAME)_OBJ := cscipher_small.o cscipher_sbox.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DEF := SBOX_PROG=0
$(ALGO_NAME)_DIR := cscipher/
$(ALGO_NAME)_INCDIR := bcal/ memxor/
$(ALGO_NAME)_OBJ := cscipher_small.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DEF := SBOX_PROG=1
$(ALGO_NAME)_DIR := cubehash/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := cubehash.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-cubehash-test.o hfal_cubehash.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cubehash-test.o hfal_cubehash.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := des/
$(ALGO_NAME)_OBJ := des.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-des-test.o bcal_des.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-des-test.o bcal_des.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := echo/
$(ALGO_NAME)_INCDIR := memxor/ aes/ gf256mul/ hfal/
$(ALGO_NAME)_OBJ := echo.o memxor.o aes_enc_round.o aes_sbox.o gf256mul.o
-$(ALGO_NAME)_TEST_BIN := main-echo-test.o hfal_echo.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-echo-test.o hfal_echo.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := grain/
$(ALGO_NAME)_OBJ := grain.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-grain-test.o $(CLI_STD) $(SCAL_STD) scal_grain.o
+$(ALGO_NAME)_TESTBIN := main-grain-test.o $(CLI_STD) $(SCAL_STD) scal_grain.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := NESSIE_ESTREAM=1
$(ALGO_NAME)_DIR := groestl/
$(ALGO_NAME)_INCDIR := memxor/ aes/ gf256mul/ hfal/
$(ALGO_NAME)_OBJ := groestl_small.o groestl_large.o memxor.o aes_sbox.o gf256mul.o
-$(ALGO_NAME)_TEST_BIN := hfal_groestl_large.o hfal_groestl_small.o main-groestl-test.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := hfal_groestl_large.o hfal_groestl_small.o main-groestl-test.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := jh/
$(ALGO_NAME)_INCDIR := hfal/ memxor/
$(ALGO_NAME)_OBJ := jh_simple_small_core.o jh_simple_aux.o memxor.o
-$(ALGO_NAME)_TEST_BIN := hfal_jh.o main-jh-test.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := hfal_jh.o main-jh-test.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := jh/
$(ALGO_NAME)_INCDIR := hfal/ memxor/
$(ALGO_NAME)_OBJ := jh_simple_speed_core.o jh_simple_aux.o jh_tables.o memxor.o
-$(ALGO_NAME)_TEST_BIN := hfal_jh.o main-jh-test.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := hfal_jh.o main-jh-test.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := keccak/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := keccak.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-keccak-test.o hfal_keccak.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-keccak-test.o hfal_keccak.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := khazad/
$(ALGO_NAME)_INCDIR := bcal/ memxor/ gf256mul/
$(ALGO_NAME)_OBJ := khazad.o memxor.o gf256mul.o
-$(ALGO_NAME)_TEST_BIN := main-khazad-test.o bcal_khazad.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-khazad-test.o bcal_khazad.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DEF := SBOX_PROG=0
$(ALGO_NAME)_DIR := mickey128/
$(ALGO_NAME)_OBJ := mickey128.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-mickey128-test.o $(CLI_STD) $(SCAL_STD) scal_mickey128.o
+$(ALGO_NAME)_TESTBIN := main-mickey128-test.o $(CLI_STD) $(SCAL_STD) scal_mickey128.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := NESSIE_ESTREAM=1
$(ALGO_NAME)_OBJ := noekeon.o
$(ALGO_NAME)_DIR := noekeon/
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-noekeon-test.o bcal_noekeon.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-noekeon-test.o bcal_noekeon.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := present/
$(ALGO_NAME)_OBJ := present.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-present-test.o bcal_present.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-present-test.o bcal_present.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := rabbit/
$(ALGO_NAME)_OBJ := rabbit_c.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-rabbit-test.o $(CLI_STD) $(SCAL_STD) scal_rabbit.o
+$(ALGO_NAME)_TESTBIN := main-rabbit-test.o $(CLI_STD) $(SCAL_STD) scal_rabbit.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := ESTREAM=0
$(ALGO_NAME)_DIR := rabbit/
$(ALGO_NAME)_OBJ := rabbit_c.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-rabbit-test.o $(CLI_STD) $(SCAL_STD) scal_rabbit.o
+$(ALGO_NAME)_TESTBIN := main-rabbit-test.o $(CLI_STD) $(SCAL_STD) scal_rabbit.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := ESTREAM=1
$(ALGO_NAME)_DIR := rc5/
$(ALGO_NAME)_OBJ := rc5.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-rc5-test.o bcal_rc5.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-rc5-test.o bcal_rc5.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := rc6/
$(ALGO_NAME)_OBJ := rc6.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-rc6-test.o bcal_rc6.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-rc6-test.o bcal_rc6.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := salsa20/
$(ALGO_NAME)_OBJ := salsa20.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-salsa20-test.o $(CLI_STD) $(SCAL_STD) scal_salsa20.o
+$(ALGO_NAME)_TESTBIN := main-salsa20-test.o $(CLI_STD) $(SCAL_STD) scal_salsa20.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := seed/
$(ALGO_NAME)_OBJ := seed_c.o seed_sbox.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-seed-test.o bcal_seed.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-seed-test.o bcal_seed.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := serpent/
$(ALGO_NAME)_INCDIR := bcal/ memxor/
$(ALGO_NAME)_OBJ := serpent.o serpent-sboxes-bitslice.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := serpent/
$(ALGO_NAME)_INCDIR := bcal/ memxor/
$(ALGO_NAME)_OBJ := serpent.o serpent-sboxes_c.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := sha1/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := sha1.o
-$(ALGO_NAME)_TEST_BIN := main-sha1-test.o hfal_sha1.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-sha1-test.o hfal_sha1.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := sha256/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := sha256.o
-$(ALGO_NAME)_TEST_BIN := main-sha256-test.o $(CLI_STD) $(HFAL_STD) hfal_sha256.o
+$(ALGO_NAME)_TESTBIN := main-sha256-test.o $(CLI_STD) $(HFAL_STD) hfal_sha256.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := shabal/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := shabal.o shabal192.o shabal224.o shabal256.o shabal384.o shabal512.o
-$(ALGO_NAME)_TEST_BIN := main-shabal-test.o hfal_shabal.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-shabal-test.o hfal_shabal.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_INCDIR := threefish/ memxor/ hfal/
$(ALGO_NAME)_OBJ := threefish256_enc.o threefish512_enc.o threefish1024_enc.o threefish_mix_c.o\
ubi256.o ubi512.o ubi1024.o memxor.o skein256.o skein512.o skein1024.o
-$(ALGO_NAME)_TEST_BIN := main-skein-test.o hfal_skein256.o hfal_skein512.o hfal_skein1024.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-skein-test.o hfal_skein256.o hfal_skein512.o hfal_skein1024.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := des/
$(ALGO_NAME)_OBJ := des.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-tdes-test.o bcal_tdes.o bcal_tdes2.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-tdes-test.o bcal_tdes.o bcal_tdes2.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := trivium/
$(ALGO_NAME)_OBJ := trivium.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-trivium-test.o $(CLI_STD) $(SCAL_STD) scal_trivium.o
+$(ALGO_NAME)_TESTBIN := main-trivium-test.o $(CLI_STD) $(SCAL_STD) scal_trivium.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := NESSIE_ESTREAM=1
$(ALGO_NAME)_DIR := xtea/
$(ALGO_NAME)_OBJ := xtea.o
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_TEST_BIN := main-xtea-test.o bcal_xtea.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-xtea-test.o bcal_xtea.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
--- /dev/null
+LIB_ALGOS:= \
+ AES_C \
+ ARCFOUR_C \
+ BASE64 \
+ BIGINT_C \
+ BLAKE_C \
+ BMW \
+ CAST5 \
+ CAST6 \
+ CSCIPHER_SMALL_C \
+ CUBEHASH_C \
+ DES \
+ DSA \
+ ECHO_C \
+ GRAIN \
+ GROESTL_C \
+ JH_SIMPLE_SMALL_C \
+ KECCAK_C \
+ KHAZAD_SMALL_C \
+ MICKEY128 \
+ NOEKEON_C \
+ PRESENT \
+ RABBIT_C \
+ RC5 \
+ RC6 \
+ SALSA20_C \
+ SEED_C \
+ SERPENT_BITSLICE \
+ SHA1_C \
+ SHA256_C \
+ SHABAL_C \
+ SKEIN_C \
+ TDES \
+ TRIVIUM \
+ XTEA_C