Introduce intermediate variables for various TF-PSA-Crypto lists

Use separate variables for the crypto part of lists of generated C files,
generated objects, sample programs and test data files.

No behavior change.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine
2025-12-12 19:56:26 +01:00
parent ef25955786
commit d9c6a411c6
3 changed files with 52 additions and 34 deletions

View File

@@ -104,11 +104,13 @@ else
gen_file_dep = |
endif
OBJS_CRYPTO = $(patsubst %.c, %.o,$(wildcard $(TF_PSA_CRYPTO_CORE_PATH)/*.c $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/*.c))
GENERATED_OBJS_CRYPTO = $(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers_no_static.o
OBJS_CRYPTO := $(filter-out $(GENERATED_OBJS_CRYPTO),$(OBJS_CRYPTO))
OBJS_CRYPTO += $(GENERATED_OBJS_CRYPTO)
OBJS_CRYPTO+=$(THIRDPARTY_CRYPTO_OBJECTS)
TF_PSA_CRYPTO_LIBRARY_OBJS := $(patsubst %.c, %.o,$(wildcard $(TF_PSA_CRYPTO_CORE_PATH)/*.c $(TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH)/*.c))
TF_PSA_CRYPTO_LIBRARY_GENERATED_OBJS = $(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers_no_static.o
TF_PSA_CRYPTO_LIBRARY_OBJS := $(filter-out $(TF_PSA_CRYPTO_LIBRARY_GENERATED_OBJS),$(TF_PSA_CRYPTO_LIBRARY_OBJS))
TF_PSA_CRYPTO_LIBRARY_OBJS += $(TF_PSA_CRYPTO_LIBRARY_GENERATED_OBJS)
TF_PSA_CRYPTO_LIBRARY_OBJS+=$(THIRDPARTY_CRYPTO_OBJECTS)
OBJS_CRYPTO = $(TF_PSA_CRYPTO_LIBRARY_OBJS)
OBJS_X509= \
mbedtls_config.o \
@@ -268,6 +270,15 @@ libmbedcrypto.dll: $(OBJS_CRYPTO)
echo " CC $<"
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -S -o $@ -c $<
# List the generated files from crypto that are needed in the build,
# because we don't have the list in a consumable form.
TF_PSA_CRYPTO_LIBRARY_GENERATED_FILES := \
$(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers.h \
$(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers_no_static.c \
$(TF_PSA_CRYPTO_CORE_PATH)/tf_psa_crypto_config_check_before.h \
$(TF_PSA_CRYPTO_CORE_PATH)/tf_psa_crypto_config_check_final.h \
$(TF_PSA_CRYPTO_CORE_PATH)/tf_psa_crypto_config_check_user.h
# List the generated files without running a script, so that this
# works with no tooling dependencies when GEN_FILES is disabled.
GENERATED_FILES := \
@@ -276,16 +287,8 @@ GENERATED_FILES := \
mbedtls_config_check_user.h \
error.c \
version_features.c \
ssl_debug_helpers_generated.c
# Also list the generated files from crypto that are needed in the build,
# because we don't have the list in a consumable form.
GENERATED_FILES += \
$(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers.h \
$(TF_PSA_CRYPTO_CORE_PATH)/psa_crypto_driver_wrappers_no_static.c \
$(TF_PSA_CRYPTO_CORE_PATH)/tf_psa_crypto_config_check_before.h \
$(TF_PSA_CRYPTO_CORE_PATH)/tf_psa_crypto_config_check_final.h \
$(TF_PSA_CRYPTO_CORE_PATH)/tf_psa_crypto_config_check_user.h
ssl_debug_helpers_generated.c \
$(TF_PSA_CRYPTO_LIBRARY_GENERATED_FILES)
.PHONY: generated_files
generated_files: $(GENERATED_FILES)

View File

@@ -27,6 +27,16 @@ endif
LOCAL_CFLAGS += -I$(FRAMEWORK)/tests/programs
TF_PSA_CRYPTO_APPS := \
$(TF_PSA_CRYPTO_PATH)/programs/psa/aead_demo \
$(TF_PSA_CRYPTO_PATH)/programs/psa/crypto_examples \
$(TF_PSA_CRYPTO_PATH)/programs/psa/hmac_demo \
$(TF_PSA_CRYPTO_PATH)/programs/psa/key_ladder_demo \
$(TF_PSA_CRYPTO_PATH)/programs/psa/psa_constant_names \
$(TF_PSA_CRYPTO_PATH)/programs/psa/psa_hash \
$(TF_PSA_CRYPTO_PATH)/programs/test/which_aes \
# End of APPS
## The following assignment is the list of base names of applications that
## will be built on Windows. Extra Linux/Unix/POSIX-only applications can
## be declared by appending with `APPS += ...` afterwards.
@@ -36,13 +46,7 @@ LOCAL_CFLAGS += -I$(FRAMEWORK)/tests/programs
## Note: Variables cannot be used to define an apps path. This cannot be
## substituted by the script generate_visualc_files.pl.
APPS = \
../tf-psa-crypto/programs/psa/aead_demo \
../tf-psa-crypto/programs/psa/crypto_examples \
../tf-psa-crypto/programs/psa/hmac_demo \
../tf-psa-crypto/programs/psa/key_ladder_demo \
../tf-psa-crypto/programs/psa/psa_constant_names \
../tf-psa-crypto/programs/psa/psa_hash \
../tf-psa-crypto/programs/test/which_aes \
$(TF_PSA_CRYPTO_APPS) \
ssl/dtls_client \
ssl/dtls_server \
ssl/mini_client \
@@ -107,8 +111,13 @@ fuzz: ${MBEDLIBS} ${MBEDTLS_TEST_OBJS}
${MBEDTLS_TEST_OBJS}:
$(MAKE) -C ../tests mbedtls_test
TF_PSA_CRYPTO_PROGRAMS_GENERATED_FILES := \
$(TF_PSA_CRYPTO_PATH)/programs/psa/psa_constant_names_generated.c
.PHONY: generated_files
GENERATED_FILES = ../tf-psa-crypto/programs/psa/psa_constant_names_generated.c test/query_config.c
GENERATED_FILES := \
test/query_config.c \
$(TF_PSA_CRYPTO_PROGRAMS_GENERATED_FILES)
generated_files: $(GENERATED_FILES)
../tf-psa-crypto/programs/psa/psa_constant_names_generated.c: $(gen_file_dep) ../tf-psa-crypto/scripts/generate_psa_constants.py

View File

@@ -24,7 +24,7 @@ GENERATED_BIGNUM_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
ifeq ($(GENERATED_BIGNUM_DATA_FILES),FAILED)
$(error "$(PYTHON) ../framework/scripts/generate_bignum_tests.py --list" failed)
endif
GENERATED_CRYPTO_DATA_FILES += $(GENERATED_BIGNUM_DATA_FILES)
TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES += $(GENERATED_BIGNUM_DATA_FILES)
GENERATED_MBEDTLS_CONFIG_DATA_FILES := $(patsubst tests/%,%,$(shell \
$(PYTHON) ../framework/scripts/generate_config_tests.py --list || \
@@ -44,7 +44,7 @@ endif
GENERATED_CONFIG_DATA_FILES := $(GENERATED_MBEDTLS_CONFIG_DATA_FILES) $(GENERATED_PSA_CONFIG_DATA_FILES)
GENERATED_DATA_FILES += $(GENERATED_MBEDTLS_CONFIG_DATA_FILES)
GENERATED_CRYPTO_DATA_FILES += $(GENERATED_PSA_CONFIG_DATA_FILES)
TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES += $(GENERATED_PSA_CONFIG_DATA_FILES)
GENERATED_ECP_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
$(PYTHON) ../framework/scripts/generate_ecp_tests.py --list || \
@@ -53,7 +53,7 @@ GENERATED_ECP_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
ifeq ($(GENERATED_ECP_DATA_FILES),FAILED)
$(error "$(PYTHON) ../framework/scripts/generate_ecp_tests.py --list" failed)
endif
GENERATED_CRYPTO_DATA_FILES += $(GENERATED_ECP_DATA_FILES)
TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES += $(GENERATED_ECP_DATA_FILES)
GENERATED_PSA_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
$(PYTHON) ../framework/scripts/generate_psa_tests.py --list || \
@@ -62,12 +62,18 @@ GENERATED_PSA_DATA_FILES := $(addprefix ../tf-psa-crypto/,$(shell \
ifeq ($(GENERATED_PSA_DATA_FILES),FAILED)
$(error "$(PYTHON) ../framework/scripts/generate_psa_tests.py --list" failed)
endif
GENERATED_CRYPTO_DATA_FILES += $(GENERATED_PSA_DATA_FILES)
TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES += $(GENERATED_PSA_DATA_FILES)
GENERATED_FILES = $(GENERATED_DATA_FILES) $(GENERATED_CRYPTO_DATA_FILES)
GENERATED_FILES += include/test/test_keys.h \
../tf-psa-crypto/tests/include/test/test_keys.h \
include/test/test_certs.h
TF_PSA_CRYPTO_TESTS_GENERATED_C_FILES = \
../tf-psa-crypto/tests/include/test/test_keys.h
GENERATED_C_FILES = \
include/test/test_keys.h include/test/test_certs.h
GENERATED_FILES = \
$(GENERATED_DATA_FILES) \
$(TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES) \
$(GENERATED_C_FILES) \
$(TF_PSA_CRYPTO_TESTS_GENERATED_C_FILES)
# Generated files needed to (fully) run ssl-opt.sh
.PHONY: ssl-opt
@@ -163,15 +169,15 @@ generated_psa_test_data:
# Application name is same as .data file's base name and can be
# constructed by stripping path 'suites/' and extension .data.
DATA_FILES = $(filter-out $(GENERATED_DATA_FILES), $(wildcard suites/test_suite_*.data))
CRYPTO_DATA_FILES = $(filter-out $(GENERATED_CRYPTO_DATA_FILES), $(wildcard ../tf-psa-crypto/tests/suites/test_suite_*.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.
DATA_FILES += $(GENERATED_DATA_FILES)
CRYPTO_DATA_FILES += $(GENERATED_CRYPTO_DATA_FILES)
TF_PSA_CRYPTO_TESTS_DATA_FILES += $(TF_PSA_CRYPTO_TESTS_GENERATED_DATA_FILES)
APPS = $(basename $(subst suites/,,$(DATA_FILES)))
CRYPTO_APPS = $(basename $(subst suites/,,$(CRYPTO_DATA_FILES)))
CRYPTO_APPS = $(basename $(subst suites/,,$(TF_PSA_CRYPTO_TESTS_DATA_FILES)))
# Construct executable name by adding OS specific suffix $(EXEXT).
BINARIES := $(addsuffix $(EXEXT),$(APPS))