+define BLA_TEMPLATE2
+$(2): $(3)
+ echo $$@
+ echo $$^
+ $(CC) $(CFLAGS) $(LDFLAGS)$(patsubst %.elf,%.map,$(2)) -o \
+ $(2) \
+ $(3) \
+ $(LIBS)
+endef
+
+$(foreach algo, $(ALGORITHMS), $(eval $(call BLA_TEMPLATE2, $(algo), $(patsubst %.o,%.elf,$(firstword $($(algo)_TEST_BIN))), $($(algo)_TEST_BIN) )))
+
+.PHONY: info
+info:
+ echo $(ALGORITHMS_TEST_BIN_MAIN)
+ echo $(ALGORITHMS)
+ echo $(firstword $(XTEA_TEST_BIN))
+ echo $(patsubst %.o,%.elf,$(firstword $(XTEA_TEST_BIN)))
+# echo $(ALGORITHMS_OBJ)
+# echo $(ALGORITHMS_OBJ_IMM)
+# echo $(ALGORITHMS_TEST_BIN)
+# echo $(ALGORITHMS_NESSIE_TEST)
+# echo $(ALGORITHMS_PERFORMANCE_TEST)
+
+bc: $(ALGORITHMS_OBJ)
+
+tests: $(ALGORITHMS_TEST_BIN) \
+ $(ALGORITHMS_TEST_BIN_MAIN_ELF) \
+ $(ALGORITHMS_TEST_BIN_MAIN_HEX)
+
+
+$(ALGORITHMS_OBJ): $(ALGORITHMS_OBJ_IMM)
+$(ALGORITHMS_TEST_BIN): $(ALGORITHMS_TEST_BIN_IMM)
+
+$(ALGORITHMS):
+
+.PHONY: all
+all: $(PRG).elf lst text eeprom
+
+
+.PHONY: clean