blob: ce0a61e40541a24cdc67ae3659028cfce9a16e7e [file] [log] [blame]
Raymond Mao87010c32024-10-03 14:50:15 -07001# SPDX-License-Identifier: GPL-2.0+
2#
3# Copyright (c) 2024 Linaro Limited
4# Author: Raymond Mao <raymond.mao@linaro.org>
5
6MBEDTLS_LIB_DIR = external/mbedtls/library
7
Raymond Maof51f3552024-10-03 14:50:19 -07008# shim layer for hash
9obj-$(CONFIG_$(SPL_)MD5_MBEDTLS) += md5.o
10obj-$(CONFIG_$(SPL_)SHA1_MBEDTLS) += sha1.o
11obj-$(CONFIG_$(SPL_)SHA256_MBEDTLS) += sha256.o
12obj-$(CONFIG_$(SPL_)SHA512_MBEDTLS) += sha512.o
13
Raymond Mao702817b2024-10-03 14:50:28 -070014# x509 libraries
15obj-$(CONFIG_$(SPL_)ASYMMETRIC_PUBLIC_KEY_MBEDTLS) += \
16 public_key.o
Raymond Mao7deec0f2024-10-03 14:50:30 -070017obj-$(CONFIG_$(SPL_)X509_CERTIFICATE_PARSER_MBEDTLS) += \
18 x509_cert_parser.o
Raymond Mao7b3dfd02024-10-03 14:50:32 -070019obj-$(CONFIG_$(SPL_)PKCS7_MESSAGE_PARSER_MBEDTLS) += pkcs7_parser.o
Raymond Maocd17ac22024-10-03 14:50:34 -070020obj-$(CONFIG_$(SPL_)MSCODE_PARSER_MBEDTLS) += mscode_parser.o
Raymond Mao42948e82024-10-03 14:50:36 -070021obj-$(CONFIG_$(SPL_)RSA_PUBLIC_KEY_PARSER_MBEDTLS) += rsa_helper.o
Raymond Mao702817b2024-10-03 14:50:28 -070022
Raymond Mao87010c32024-10-03 14:50:15 -070023# MbedTLS crypto library
24obj-$(CONFIG_MBEDTLS_LIB) += mbedtls_lib_crypto.o
25mbedtls_lib_crypto-y := \
26 $(MBEDTLS_LIB_DIR)/platform_util.o \
27 $(MBEDTLS_LIB_DIR)/constant_time.o \
28 $(MBEDTLS_LIB_DIR)/md.o
Ilias Apalodimas9f75dc12024-11-10 10:28:37 +020029
Raymond Maof51f3552024-10-03 14:50:19 -070030mbedtls_lib_crypto-$(CONFIG_$(SPL_)MD5_MBEDTLS) += $(MBEDTLS_LIB_DIR)/md5.o
31mbedtls_lib_crypto-$(CONFIG_$(SPL_)SHA1_MBEDTLS) += $(MBEDTLS_LIB_DIR)/sha1.o
32mbedtls_lib_crypto-$(CONFIG_$(SPL_)SHA256_MBEDTLS) += \
Raymond Mao87010c32024-10-03 14:50:15 -070033 $(MBEDTLS_LIB_DIR)/sha256.o
Raymond Maof51f3552024-10-03 14:50:19 -070034mbedtls_lib_crypto-$(CONFIG_$(SPL_)SHA512_MBEDTLS) += \
Raymond Mao87010c32024-10-03 14:50:15 -070035 $(MBEDTLS_LIB_DIR)/sha512.o
36
37# MbedTLS X509 library
38obj-$(CONFIG_MBEDTLS_LIB_X509) += mbedtls_lib_x509.o
39mbedtls_lib_x509-y := $(MBEDTLS_LIB_DIR)/x509.o
Raymond Mao2faa4bd2024-10-03 14:50:38 -070040mbedtls_lib_x509-$(CONFIG_$(SPL_)ASN1_DECODER_MBEDTLS) += \
Raymond Mao87010c32024-10-03 14:50:15 -070041 $(MBEDTLS_LIB_DIR)/asn1parse.o \
42 $(MBEDTLS_LIB_DIR)/asn1write.o \
43 $(MBEDTLS_LIB_DIR)/oid.o
Raymond Mao42948e82024-10-03 14:50:36 -070044mbedtls_lib_x509-$(CONFIG_$(SPL_)RSA_PUBLIC_KEY_PARSER_MBEDTLS) += \
Raymond Mao87010c32024-10-03 14:50:15 -070045 $(MBEDTLS_LIB_DIR)/bignum.o \
46 $(MBEDTLS_LIB_DIR)/bignum_core.o \
47 $(MBEDTLS_LIB_DIR)/rsa.o \
48 $(MBEDTLS_LIB_DIR)/rsa_alt_helpers.o
Raymond Mao702817b2024-10-03 14:50:28 -070049mbedtls_lib_x509-$(CONFIG_$(SPL_)ASYMMETRIC_PUBLIC_KEY_MBEDTLS) += \
Raymond Mao87010c32024-10-03 14:50:15 -070050 $(MBEDTLS_LIB_DIR)/pk.o \
51 $(MBEDTLS_LIB_DIR)/pk_wrap.o \
52 $(MBEDTLS_LIB_DIR)/pkparse.o
Raymond Mao7deec0f2024-10-03 14:50:30 -070053mbedtls_lib_x509-$(CONFIG_$(SPL_)X509_CERTIFICATE_PARSER_MBEDTLS) += \
Raymond Mao87010c32024-10-03 14:50:15 -070054 $(MBEDTLS_LIB_DIR)/x509_crl.o \
55 $(MBEDTLS_LIB_DIR)/x509_crt.o
Raymond Mao7b3dfd02024-10-03 14:50:32 -070056mbedtls_lib_x509-$(CONFIG_$(SPL_)PKCS7_MESSAGE_PARSER_MBEDTLS) += \
Raymond Mao87010c32024-10-03 14:50:15 -070057 $(MBEDTLS_LIB_DIR)/pkcs7.o
Ilias Apalodimas9f75dc12024-11-10 10:28:37 +020058
59#mbedTLS TLS support
60obj-$(CONFIG_MBEDTLS_LIB_TLS) += mbedtls_lib_tls.o
61mbedtls_lib_tls-y := \
62 $(MBEDTLS_LIB_DIR)/mps_reader.o \
63 $(MBEDTLS_LIB_DIR)/mps_trace.o \
64 $(MBEDTLS_LIB_DIR)/net_sockets.o \
65 $(MBEDTLS_LIB_DIR)/pk_ecc.o \
66 $(MBEDTLS_LIB_DIR)/ssl_cache.o \
67 $(MBEDTLS_LIB_DIR)/ssl_ciphersuites.o \
68 $(MBEDTLS_LIB_DIR)/ssl_client.o \
69 $(MBEDTLS_LIB_DIR)/ssl_cookie.o \
70 $(MBEDTLS_LIB_DIR)/ssl_debug_helpers_generated.o \
71 $(MBEDTLS_LIB_DIR)/ssl_msg.o \
72 $(MBEDTLS_LIB_DIR)/ssl_ticket.o \
73 $(MBEDTLS_LIB_DIR)/ssl_tls.o \
74 $(MBEDTLS_LIB_DIR)/ssl_tls12_client.o \
75 $(MBEDTLS_LIB_DIR)/hmac_drbg.o \
76 $(MBEDTLS_LIB_DIR)/ctr_drbg.o \
77 $(MBEDTLS_LIB_DIR)/entropy.o \
78 $(MBEDTLS_LIB_DIR)/entropy_poll.o \
79 $(MBEDTLS_LIB_DIR)/aes.o \
80 $(MBEDTLS_LIB_DIR)/cipher.o \
81 $(MBEDTLS_LIB_DIR)/cipher_wrap.o \
82 $(MBEDTLS_LIB_DIR)/ecdh.o \
83 $(MBEDTLS_LIB_DIR)/ecdsa.o \
84 $(MBEDTLS_LIB_DIR)/ecp.o \
85 $(MBEDTLS_LIB_DIR)/ecp_curves.o \
86 $(MBEDTLS_LIB_DIR)/ecp_curves_new.o \
87 $(MBEDTLS_LIB_DIR)/gcm.o \