| CFLAGS ?= -O2 -I../include -I../library |
| WARNING_CFLAGS ?= \ |
| -Werror -Wall -Wextra \ |
| -Wno-unused-function \ |
| -Wno-overlength-strings \ |
| -Wdeclaration-after-statement \ |
| # Don't delete this line. |
| |
| LDFLAGS ?= -L../library -lmbedcrypto |
| |
| DEP := ../library/libmbedcrypto.a |
| |
| # Python executable |
| PYTHON ?= python |
| |
| APPS := \ |
| test_suite_psa_crypto \ |
| test_suite_psa_crypto_metadata \ |
| # Don't delete this line. |
| |
| # Look up for associated function files |
| func.test_suite_psa_crypto := test_suite_psa_crypto |
| func.test_suite_psa_crypto_metadata := test_suite_psa_crypto_metadata |
| |
| .SILENT: |
| |
| .PHONY: all test clean |
| |
| all: $(APPS) |
| |
| $(DEP): |
| $(MAKE) -C ../library |
| |
| C_FILES := $(addsuffix .c,$(APPS)) |
| |
| .SECONDEXPANSION: |
| $(C_FILES): %.c: suites/$$(func.$$*).function suites/%.data scripts/generate_test_code.py suites/helpers.function suites/main_test.function suites/host_test.function |
| echo " Gen $@" |
| $(PYTHON) scripts/generate_test_code.py -f suites/$(func.$*).function \ |
| -d suites/$*.data \ |
| -t suites/main_test.function \ |
| -p suites/host_test.function \ |
| -s suites \ |
| --helpers-file suites/helpers.function \ |
| -o . |
| |
| |
| $(APPS): %: %.c $(DEP) |
| echo " CC $<" |
| $(CC) $(CFLAGS) $(WARNING_CFLAGS) $< $(LDFLAGS) -o $@ |
| |
| clean: |
| rm -rf $(APPS) *.c *.data TESTS |
| rm -rf data_files/ctr_drbg_seed data_files/hmac_drbg_seed data_files/mpi_write |
| |
| test: $(APPS) |
| ./test_suite_psa_crypto_metadata |
| ./test_suite_psa_crypto |
| |
| # Create separate targets for generating embedded tests. |
| EMBEDDED_TESTS := $(addprefix embedded_,$(APPS)) |
| |
| # Generate test code for target. |
| |
| .SECONDEXPANSION: |
| $(EMBEDDED_TESTS): embedded_%: suites/$$(func.$$*).function suites/%.data scripts/generate_test_code.py suites/helpers.function suites/main_test.function suites/target_test.function |
| echo " Gen ./TESTS/mbedcrypto/$*/$*.c" |
| $(PYTHON) scripts/generate_test_code.py -f suites/$(func.$*).function \ |
| -d suites/$*.data \ |
| -t suites/main_test.function \ |
| -p suites/target_test.function \ |
| -s suites \ |
| --helpers-file suites/helpers.function \ |
| -o ./TESTS/mbedcrypto/$* |
| |
| gen-embedded-test: $(EMBEDDED_TESTS) |