mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-04-25 21:18:53 +02:00
Have crypto handle the crypto part and tls handle the tls part. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
122 lines
6.7 KiB
Makefile
122 lines
6.7 KiB
Makefile
# Helper code for tests/Makefile in Mbed TLS.
|
|
# This file is only meant to be included by tests/Makefile in Mbed TLS and
|
|
# is unlikely to work in another context.
|
|
|
|
GENERATED_BIGNUM_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
|
|
$(PYTHON) ../framework/scripts/generate_bignum_tests.py --list || \
|
|
echo FAILED \
|
|
))
|
|
ifeq ($(GENERATED_BIGNUM_DATA_FILES),FAILED)
|
|
$(error "$(PYTHON) ../framework/scripts/generate_bignum_tests.py --list" failed)
|
|
endif
|
|
TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES += $(GENERATED_BIGNUM_DATA_FILES)
|
|
|
|
# generate_bignum_tests.py and generate_psa_tests.py spend more time analyzing
|
|
# inputs than generating outputs. Its inputs are the same no matter which files
|
|
# are being generated.
|
|
# It's rare not to want all the outputs. So always generate all of its outputs.
|
|
# Use an intermediate phony dependency so that parallel builds don't run
|
|
# a separate instance of the recipe for each output file.
|
|
$(GENERATED_BIGNUM_DATA_FILES): $(gen_file_dep) generated_bignum_test_data
|
|
generated_bignum_test_data: ../framework/scripts/generate_bignum_tests.py
|
|
generated_bignum_test_data: ../framework/scripts/mbedtls_framework/bignum_common.py
|
|
generated_bignum_test_data: ../framework/scripts/mbedtls_framework/bignum_core.py
|
|
generated_bignum_test_data: ../framework/scripts/mbedtls_framework/bignum_mod_raw.py
|
|
generated_bignum_test_data: ../framework/scripts/mbedtls_framework/bignum_mod.py
|
|
generated_bignum_test_data: ../framework/scripts/mbedtls_framework/test_case.py
|
|
generated_bignum_test_data: ../framework/scripts/mbedtls_framework/test_data_generation.py
|
|
generated_bignum_test_data:
|
|
echo " Gen $(GENERATED_BIGNUM_DATA_FILES)"
|
|
$(PYTHON) ../framework/scripts/generate_bignum_tests.py --directory ../tf-psa-crypto/tests/suites
|
|
.SECONDARY: generated_bignum_test_data
|
|
|
|
GENERATED_CRYPTO_CONFIG_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
|
|
$(PYTHON) ../tf-psa-crypto/framework/scripts/generate_config_tests.py --list || \
|
|
echo FAILED \
|
|
))
|
|
ifeq ($(GENERATED_CRYPTO_CONFIG_DATA_FILES),FAILED)
|
|
$(error "$(PYTHON) ../tf-psa-crypto/framework/scripts/generate_config_tests.py --list" failed)
|
|
endif
|
|
TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES += $(GENERATED_CRYPTO_CONFIG_DATA_FILES)
|
|
|
|
# We deliberately omit the configuration files (mbedtls_config.h,
|
|
# crypto_config.h) from the depenency list because during development
|
|
# and on the CI, we often edit those in a way that doesn't change the
|
|
# output, to comment out certain options, or even to remove certain
|
|
# lines which do affect the output negatively (it will miss the
|
|
# corresponding test cases).
|
|
$(GENERATED_CRYPTO_CONFIG_DATA_FILES): $(gen_file_dep) generated_crypto_config_test_data
|
|
generated_crypto_config_test_data: ../framework/scripts/generate_config_tests.py
|
|
generated_crypto_config_test_data: ../scripts/config.py
|
|
generated_crypto_config_test_data: ../framework/scripts/mbedtls_framework/test_case.py
|
|
generated_crypto_config_test_data: ../framework/scripts/mbedtls_framework/test_data_generation.py
|
|
generated_crypto_config_test_data:
|
|
echo " Gen $(GENERATED_CRYPTO_CONFIG_DATA_FILES)"
|
|
cd ../tf-psa-crypto && $(PYTHON) ./framework/scripts/generate_config_tests.py
|
|
.SECONDARY: generated_crypto_config_test_data
|
|
|
|
GENERATED_ECP_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
|
|
$(PYTHON) ../framework/scripts/generate_ecp_tests.py --list || \
|
|
echo FAILED \
|
|
))
|
|
ifeq ($(GENERATED_ECP_DATA_FILES),FAILED)
|
|
$(error "$(PYTHON) ../framework/scripts/generate_ecp_tests.py --list" failed)
|
|
endif
|
|
TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES += $(GENERATED_ECP_DATA_FILES)
|
|
|
|
$(GENERATED_ECP_DATA_FILES): $(gen_file_dep) generated_ecp_test_data
|
|
generated_ecp_test_data: ../framework/scripts/generate_ecp_tests.py
|
|
generated_ecp_test_data: ../framework/scripts/mbedtls_framework/bignum_common.py
|
|
generated_ecp_test_data: ../framework/scripts/mbedtls_framework/ecp.py
|
|
generated_ecp_test_data: ../framework/scripts/mbedtls_framework/test_case.py
|
|
generated_ecp_test_data: ../framework/scripts/mbedtls_framework/test_data_generation.py
|
|
generated_ecp_test_data:
|
|
echo " Gen $(GENERATED_ECP_DATA_FILES)"
|
|
$(PYTHON) ../framework/scripts/generate_ecp_tests.py --directory ../tf-psa-crypto/tests/suites
|
|
.SECONDARY: generated_ecp_test_data
|
|
|
|
GENERATED_PSA_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
|
|
$(PYTHON) ../framework/scripts/generate_psa_tests.py --list || \
|
|
echo FAILED \
|
|
))
|
|
ifeq ($(GENERATED_PSA_DATA_FILES),FAILED)
|
|
$(error "$(PYTHON) ../framework/scripts/generate_psa_tests.py --list" failed)
|
|
endif
|
|
TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES += $(GENERATED_PSA_DATA_FILES)
|
|
|
|
$(GENERATED_PSA_DATA_FILES): $(gen_file_dep) generated_psa_test_data
|
|
generated_psa_test_data: ../framework/scripts/generate_psa_tests.py
|
|
generated_psa_test_data: ../framework/scripts/mbedtls_framework/crypto_data_tests.py
|
|
generated_psa_test_data: ../framework/scripts/mbedtls_framework/crypto_knowledge.py
|
|
generated_psa_test_data: ../framework/scripts/mbedtls_framework/macro_collector.py
|
|
generated_psa_test_data: ../framework/scripts/mbedtls_framework/psa_information.py
|
|
generated_psa_test_data: ../framework/scripts/mbedtls_framework/psa_storage.py
|
|
generated_psa_test_data: ../framework/scripts/mbedtls_framework/psa_test_case.py
|
|
generated_psa_test_data: ../framework/scripts/mbedtls_framework/test_case.py
|
|
generated_psa_test_data: ../framework/scripts/mbedtls_framework/test_data_generation.py
|
|
## The generated file only depends on the options that are present in
|
|
## crypto_config.h, not on which options are set. To avoid regenerating this
|
|
## file all the time when switching between configurations, don't declare
|
|
## crypto_config.h as a dependency. Remove this file from your working tree
|
|
## if you've just added or removed an option in crypto_config.h.
|
|
#generated_psa_test_data: ../tf-psa-crypto/include/psa/crypto_config.h
|
|
generated_psa_test_data: ../tf-psa-crypto/include/psa/crypto_values.h
|
|
generated_psa_test_data: ../tf-psa-crypto/include/psa/crypto_extra.h
|
|
generated_psa_test_data: ../tf-psa-crypto/tests/suites/test_suite_psa_crypto_metadata.data
|
|
generated_psa_test_data:
|
|
echo " Gen $(GENERATED_PSA_DATA_FILES) ..."
|
|
$(PYTHON) ../framework/scripts/generate_psa_tests.py --directory ../tf-psa-crypto/tests/suites
|
|
.SECONDARY: generated_psa_test_data
|
|
|
|
TF_PSA_CRYPTO_TESTS_DATA_FILES = $(filter-out $(TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES), $(wildcard $(TF_PSA_CRYPTO_PATH)/tests/suites/test_suite_*.data))
|
|
# Make sure that generated data files are included even if they don't
|
|
# exist yet when the makefile is parsed.
|
|
TF_PSA_CRYPTO_TESTS_DATA_FILES += $(TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES)
|
|
|
|
../tf-psa-crypto/tests/include/test/test_keys.h: ../tf-psa-crypto/framework/scripts/generate_test_keys.py
|
|
echo " Gen $@"
|
|
$(PYTHON) ../tf-psa-crypto/framework/scripts/generate_test_keys.py --output $@
|
|
|
|
TF_PSA_CRYPTO_TESTS_GENERATED_C_FILES = \
|
|
../tf-psa-crypto/tests/include/test/test_keys.h
|