diff --git a/library/Makefile b/library/Makefile index 807e3f1adb..8195e2423a 100644 --- a/library/Makefile +++ b/library/Makefile @@ -14,6 +14,8 @@ This is a fatal error endif include $(MBEDTLS_PATH)/framework/exported.make +include $(MBEDTLS_PATH)/scripts/crypto-common.make + TF_PSA_CRYPTO_CORE_PATH = $(MBEDTLS_PATH)/tf-psa-crypto/core TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_PATH = $(MBEDTLS_PATH)/tf-psa-crypto/drivers/builtin/src diff --git a/scripts/common.make b/scripts/common.make index 5350d87efc..9be3b2db53 100644 --- a/scripts/common.make +++ b/scripts/common.make @@ -16,6 +16,8 @@ This is a fatal error endif include $(MBEDTLS_PATH)/framework/exported.make +include $(MBEDTLS_PATH)/scripts/crypto-common.make + CFLAGS ?= -O2 WARNING_CFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral WARNING_CXXFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral -std=c++11 -pedantic diff --git a/scripts/crypto-common.make b/scripts/crypto-common.make new file mode 100644 index 0000000000..5a79bc482b --- /dev/null +++ b/scripts/crypto-common.make @@ -0,0 +1,25 @@ +# Helper code for the make build system in Mbed TLS: define some variables +# providing information such as file paths. +# This file is only meant to exist for a short transition period. +# It may change or be removed without notice. +# Do not use it if you are not Mbed TLS! + +# Assume that this makefile is located in a first-level subdirectory of the +# Mbed TLS root, and is accessed directly (not via VPATH or such). +# If this is not the case, TF_PSA_CRYPTO_PATH or MBEDTLS_PATH must be defined +# before including this file. +ifneq ($(origin TF_PSA_CRYPTO_PATH), undefined) + # TF_PSA_CRYPTO_PATH was defined before including this file, good. +else ifneq ($(origin MBEDTLS_PATH), undefined) + TF_PSA_CRYPTO_PATH := $(MBEDTLS_PATH)/tf-psa-crypto +else + # $(dir $(lastword $(MAKEFILE_LIST))) is the path to this file, possibly + # a relative path, with a trailing slash. Strip off another directory + # from that. + TF_PSA_CRYPTO_PATH := $(patsubst %/,%,$(dir $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))))/tf-psa-crypto +endif + +ifeq (,$(wildcard $(TF_PSA_CRYPTO_PATH)/core/psa_crypto.c)) + $(error $$(TF_PSA_CRYPTO_PATH)/core/psa_crypto.c not found) +endif +