2 # Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
4 # SPDX-License-Identifier: BSD-3-Clause
7 ifneq (${MBEDTLS_COMMON_MK},1)
10 # MBEDTLS_DIR must be set to the mbed TLS main directory (it must contain
11 # the 'include' and 'library' subdirectories).
12 ifeq (${MBEDTLS_DIR},)
13 $(error Error
: MBEDTLS_DIR not set
)
16 MBEDTLS_INC
= -I
${MBEDTLS_DIR}/include
17 INCLUDES
+= -Iinclude
/drivers
/auth
/mbedtls
19 # Specify mbed TLS configuration file
20 MBEDTLS_CONFIG_FILE
:= "<mbedtls_config.h>"
21 $(eval
$(call add_define
,MBEDTLS_CONFIG_FILE
))
23 MBEDTLS_SOURCES
+= drivers
/auth
/mbedtls
/mbedtls_common.c
26 LIBMBEDTLS_SRCS
:= $(addprefix ${MBEDTLS_DIR}/library
/, \
29 memory_buffer_alloc.c \
51 # The platform may define the variable 'TF_MBEDTLS_KEY_ALG' to select the key
52 # algorithm to use. If the variable is not defined, select it based on algorithm
53 # used for key generation `KEY_ALG`. If `KEY_ALG` is not defined or is
54 # defined to `rsa`/`rsa_1_5`, then set the variable to `rsa`.
55 ifeq (${TF_MBEDTLS_KEY_ALG},)
56 ifeq (${KEY_ALG}, ecdsa
)
57 TF_MBEDTLS_KEY_ALG
:= ecdsa
59 TF_MBEDTLS_KEY_ALG
:= rsa
63 ifeq (${HASH_ALG}, sha384
)
64 TF_MBEDTLS_HASH_ALG_ID
:= TF_MBEDTLS_SHA384
65 else ifeq (${HASH_ALG}, sha512
)
66 TF_MBEDTLS_HASH_ALG_ID
:= TF_MBEDTLS_SHA512
68 TF_MBEDTLS_HASH_ALG_ID
:= TF_MBEDTLS_SHA256
71 ifeq (${TF_MBEDTLS_KEY_ALG},ecdsa
)
72 TF_MBEDTLS_KEY_ALG_ID
:= TF_MBEDTLS_ECDSA
73 else ifeq (${TF_MBEDTLS_KEY_ALG},rsa
)
74 TF_MBEDTLS_KEY_ALG_ID
:= TF_MBEDTLS_RSA
75 else ifeq (${TF_MBEDTLS_KEY_ALG},rsa
+ecdsa
)
76 TF_MBEDTLS_KEY_ALG_ID
:= TF_MBEDTLS_RSA_AND_ECDSA
78 $(error
"TF_MBEDTLS_KEY_ALG=${TF_MBEDTLS_KEY_ALG} not supported on mbed TLS")
81 # Needs to be set to drive mbed TLS configuration correctly
82 $(eval
$(call add_define
,TF_MBEDTLS_KEY_ALG_ID
))
83 $(eval
$(call add_define
,TF_MBEDTLS_HASH_ALG_ID
))
86 $(eval
$(call MAKE_LIB
,mbedtls
))