1# 2# Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6 7include drivers/auth/mbedtls/mbedtls_common.mk 8 9# The platform may define the variable 'TF_MBEDTLS_KEY_ALG' to select the key 10# algorithm to use. Default algorithm is RSA. 11ifeq (${TF_MBEDTLS_KEY_ALG},) 12 TF_MBEDTLS_KEY_ALG := rsa 13endif 14 15# If MBEDTLS_KEY_ALG build flag is defined use it to set TF_MBEDTLS_KEY_ALG for 16# backward compatibility 17ifdef MBEDTLS_KEY_ALG 18 ifeq (${ERROR_DEPRECATED},1) 19 $(error "MBEDTLS_KEY_ALG is deprecated. Please use the new build flag TF_MBEDTLS_KEY_ALG") 20 endif 21 $(warning "MBEDTLS_KEY_ALG is deprecated. Please use the new build flag TF_MBEDTLS_KEY_ALG") 22 TF_MBEDTLS_KEY_ALG := ${MBEDTLS_KEY_ALG} 23endif 24 25MBEDTLS_CRYPTO_SOURCES := drivers/auth/mbedtls/mbedtls_crypto.c \ 26 $(addprefix ${MBEDTLS_DIR}/library/, \ 27 bignum.c \ 28 md.c \ 29 md_wrap.c \ 30 pk.c \ 31 pk_wrap.c \ 32 pkparse.c \ 33 pkwrite.c \ 34 sha256.c \ 35 ) 36 37# Key algorithm specific files 38ifeq (${TF_MBEDTLS_KEY_ALG},ecdsa) 39 MBEDTLS_CRYPTO_SOURCES += $(addprefix ${MBEDTLS_DIR}/library/, \ 40 ecdsa.c \ 41 ecp_curves.c \ 42 ecp.c \ 43 ) 44 TF_MBEDTLS_KEY_ALG_ID := TF_MBEDTLS_ECDSA 45else ifeq (${TF_MBEDTLS_KEY_ALG},rsa) 46 MBEDTLS_CRYPTO_SOURCES += $(addprefix ${MBEDTLS_DIR}/library/, \ 47 rsa.c \ 48 ) 49 TF_MBEDTLS_KEY_ALG_ID := TF_MBEDTLS_RSA 50else 51 $(error "TF_MBEDTLS_KEY_ALG=${TF_MBEDTLS_KEY_ALG} not supported on mbed TLS") 52endif 53 54# Needs to be set to drive mbed TLS configuration correctly 55$(eval $(call add_define,TF_MBEDTLS_KEY_ALG_ID)) 56 57BL1_SOURCES += ${MBEDTLS_CRYPTO_SOURCES} 58BL2_SOURCES += ${MBEDTLS_CRYPTO_SOURCES} 59