Index: tests/Makefile |
diff --git a/tests/Makefile b/tests/Makefile |
index c2075648e9a3bfa82a6a49ba76aff83fda3b1120..dc8620e4015ab879d251e815bd5cb3d813522da4 100644 |
--- a/tests/Makefile |
+++ b/tests/Makefile |
@@ -13,7 +13,6 @@ INCLUDES += -I./include \ |
IMAGE_LIBS = $(BUILD)/vkernel/kernel_image.o \ |
$(BUILD)/vkernel/kernel_image_fw.o |
UTIL_LIBS = $(BUILD)/misclibs/file_keys.o $(BUILD)/misclibs/signature_digest.o |
-LIBS = $(IMAGE_LIBS) $(UTIL_LIBS) $(HOSTLIB) $(FWLIB) -lcrypto |
BUILD_ROOT = ${BUILD}/tests |
TEST_NAMES = big_kernel_tests \ |
@@ -31,7 +30,26 @@ TEST_NAMES = big_kernel_tests \ |
vboot_common3_tests \ |
verify_kernel_fuzz_driver |
TEST_BINS = $(addprefix ${BUILD_ROOT}/,$(TEST_NAMES)) |
-ALL_DEPS = $(addsuffix .d,${TEST_BINS}) |
+ |
+TEST_LIB = ${BUILD_ROOT}/test.a |
+TEST_LIB_SRCS = rollback_index_mock.c test_common.c timer_utils.c crc32_test.c |
+TEST_LIB_OBJS = $(TEST_LIB_SRCS:%.c=${BUILD_ROOT}/%.o) |
+ALL_DEPS = $(addsuffix .d,${TEST_BINS} ${TEST_LIB_OBJS}) |
+CFLAGS += -MMD -MF $@.d |
+ |
+LIBS := ${TEST_LIB} $(IMAGE_LIBS) $(UTIL_LIBS) $(HOSTLIB) $(FWLIB) |
+ |
+all: $(TEST_BINS) ${EXTRA_TARGET} |
+ |
+${TEST_LIB}: ${TEST_LIB_OBJS} |
+ rm -f $@ |
+ ar qc $@ $^ |
+ |
+${BUILD_ROOT}/%.o : %.c |
+ $(CC) $(CFLAGS) $(INCLUDES) -MMD -MF $@.d -c -o $@ $< |
+ |
+${BUILD_ROOT}/%: %.c ${LIBS} |
+ $(CC) $(CFLAGS) $(INCLUDES) $< ${LIBS} -o $@ -lcrypto -lrt |
# TODO: port these tests to vboot_firmware, if not already eqivalent |
# functionality |
@@ -47,85 +65,6 @@ ifneq (${RUNTESTS},) |
EXTRA_TARGET = runtests |
endif |
-all: $(TEST_BINS) ${EXTRA_TARGET} |
- |
-${BUILD_ROOT}/big_firmware_tests: big_firmware_tests.c \ |
- rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/big_kernel_tests: big_kernel_tests.c rollback_index_mock.c \ |
- test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/cgptlib_test: cgptlib_test.c crc32_test.c |
- $(CC) $(CFLAGS) -ansi $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/firmware_image_tests: firmware_image_tests.c \ |
- rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/firmware_rollback_tests: firmware_rollback_tests.c \ |
- rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/firmware_splicing_tests: firmware_splicing_tests.c \ |
- rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/firmware_verify_benchmark: firmware_verify_benchmark.c \ |
- timer_utils.c rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ -lrt $(LIBS) |
- |
-${BUILD_ROOT}/kernel_image_tests: kernel_image_tests.c rollback_index_mock.c \ |
- test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/kernel_rollback_tests: kernel_rollback_tests.c \ |
- rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/kernel_splicing_tests: kernel_splicing_tests.c \ |
- rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/kernel_verify_benchmark: kernel_verify_benchmark.c timer_utils.c \ |
- rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ -lrt $(LIBS) |
- |
-${BUILD_ROOT}/rsa_padding_test: rsa_padding_test.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(UTIL_LIBS) $(FWLIB) \ |
- -lcrypto |
- |
-${BUILD_ROOT}/rsa_verify_benchmark: rsa_verify_benchmark.c timer_utils.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ -lrt $(UTIL_LIBS) $(FWLIB) \ |
- -lcrypto |
- |
-${BUILD_ROOT}/sha_benchmark: sha_benchmark.c timer_utils.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ -lrt $(FWLIB) |
- |
-${BUILD_ROOT}/sha_tests: sha_tests.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(FWLIB) |
- |
-${BUILD_ROOT}/vboot_common_tests: vboot_common_tests.c \ |
- rollback_index_mock.c test_common.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/vboot_common2_tests: vboot_common2_tests.c \ |
- test_common.c $(HOSTLIB) $(FWLIB) |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/vboot_common3_tests: vboot_common3_tests.c \ |
- test_common.c $(HOSTLIB) $(FWLIB) |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/verify_firmware_fuzz_driver: verify_firmware_fuzz_driver.c \ |
- rollback_index_mock.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
-${BUILD_ROOT}/verify_kernel_fuzz_driver: verify_kernel_fuzz_driver.c \ |
- rollback_index_mock.c |
- $(CC) $(CFLAGS) $(INCLUDES) $^ -o $@ $(LIBS) |
- |
runtests: |
./gen_test_keys.sh |
# Crypto tests |
@@ -144,3 +83,5 @@ runtests: |
${BUILD_ROOT}/cgptlib_test |
# Tool tests |
./run_cgpt_tests.sh ${BUILD}/cgpt/cgpt |
+ |
+-include ${ALL_DEPS} |