xref: /optee_os/core/lib/libtomcrypt/sub.mk (revision 6cfa381e534b362afbd103f526b132048e54ba47)
1global-incdirs-y += include
2global-incdirs-y += src/headers
3
4cflags-lib-y += -Wno-declaration-after-statement
5
6cppflags-lib-y += -DARGTYPE=4  # Make LTC_ARGCHK() return on error
7cppflags-lib-y += -DLTC_NO_TEST -DLTC_NO_PROTOTYPES
8cppflags-lib-y += -DLTC_NO_TABLES -DLTC_HASH_HELPERS
9cppflags-lib-y += -DLTC_NO_MISC
10cppflags-lib-y += -DLTC_HMAC
11cppflags-lib-$(_CFG_CORE_LTC_SIZE_OPTIMIZATION) += -DLTC_SMALL_CODE
12
13cppflags-lib-y += -DLTC_NO_CIPHERS
14
15ifeq ($(_CFG_CORE_LTC_AES_DESC),y)
16	cppflags-lib-y += -DLTC_RIJNDAEL
17endif
18ifeq ($(_CFG_CORE_LTC_DES),y)
19	cppflags-lib-y += -DLTC_DES
20endif
21
22cppflags-lib-y += -DLTC_NO_MODES
23
24ifeq ($(_CFG_CORE_LTC_ECB),y)
25	cppflags-lib-y += -DLTC_ECB_MODE
26endif
27ifeq ($(_CFG_CORE_LTC_CBC),y)
28	cppflags-lib-y += -DLTC_CBC_MODE
29endif
30ifeq ($(_CFG_CORE_LTC_CTR),y)
31	cppflags-lib-y += -DLTC_CTR_MODE
32endif
33ifeq ($(_CFG_CORE_LTC_XTS),y)
34	cppflags-lib-y += -DLTC_XTS_MODE
35endif
36
37cppflags-lib-y += -DLTC_NO_HASHES
38
39ifeq ($(_CFG_CORE_LTC_MD5_DESC),y)
40	cppflags-lib-y += -DLTC_MD5
41endif
42ifeq ($(_CFG_CORE_LTC_SHA1_DESC),y)
43	cppflags-lib-y += -DLTC_SHA1
44endif
45ifeq ($(_CFG_CORE_LTC_SHA224_DESC),y)
46	cppflags-lib-y += -DLTC_SHA224
47endif
48ifeq ($(_CFG_CORE_LTC_SHA256_DESC),y)
49	cppflags-lib-y += -DLTC_SHA256
50endif
51ifeq ($(_CFG_CORE_LTC_SHA384_DESC),y)
52	cppflags-lib-y += -DLTC_SHA384
53endif
54ifeq ($(_CFG_CORE_LTC_SHA512_DESC),y)
55	cppflags-lib-y += -DLTC_SHA512
56endif
57ifeq ($(_CFG_CORE_LTC_SHA512_256),y)
58	cppflags-lib-y += -DLTC_SHA512_256
59endif
60cppflags-lib-$(_CFG_CORE_LTC_SHA3_DESC) += -DLTC_SHA3
61
62
63cppflags-lib-y += -DLTC_NO_MACS
64
65ifeq ($(_CFG_CORE_LTC_HMAC),y)
66	cppflags-lib-y += -DLTC_HMAC
67endif
68ifeq ($(_CFG_CORE_LTC_CMAC),y)
69	cppflags-lib-y += -DLTC_OMAC
70endif
71ifeq ($(_CFG_CORE_LTC_CCM),y)
72	cppflags-lib-y += -DLTC_CCM_MODE
73endif
74ifeq ($(_CFG_CORE_LTC_GCM),y)
75	cppflags-lib-y += -DLTC_GCM_MODE
76endif
77
78cppflags-lib-y += -DLTC_NO_PK
79
80ifeq ($(_CFG_CORE_LTC_RSA),y)
81   cppflags-lib-y += -DLTC_MRSA
82endif
83ifeq ($(_CFG_CORE_LTC_DSA),y)
84   cppflags-lib-y += -DLTC_MDSA
85endif
86ifeq ($(_CFG_CORE_LTC_DH),y)
87   cppflags-lib-y += -DLTC_MDH
88endif
89ifeq ($(_CFG_CORE_LTC_ECC),y)
90   cppflags-lib-y += -DLTC_MECC
91
92   # use Shamir's trick for point mul (speeds up signature verification)
93   cppflags-lib-y += -DLTC_ECC_SHAMIR
94
95   cppflags-lib-y += -DLTC_ECC192
96   cppflags-lib-y += -DLTC_ECC224
97   cppflags-lib-y += -DLTC_ECC256
98   cppflags-lib-y += -DLTC_ECC384
99   cppflags-lib-y += -DLTC_ECC521
100   cppflags-lib-y += -DLTC_CURVE25519
101
102   # ECC 521 bits is the max supported key size
103   cppflags-lib-y += -DLTC_MAX_ECC=521
104endif
105ifneq (,$(filter y,$(_CFG_CORE_LTC_SM2_DSA) $(_CFG_CORE_LTC_SM2_PKE)))
106   cppflags-lib-y += -DLTC_ECC_SM2
107endif
108
109cppflags-lib-$(_CFG_CORE_LTC_X25519) += -DLTC_CURVE25519
110cppflags-lib-$(_CFG_CORE_LTC_ED25519) += -DLTC_CURVE25519
111
112cppflags-lib-y += -DLTC_NO_PRNGS -DLTC_FORTUNA
113
114cflags-lib-$(_CFG_CORE_LTC_SIZE_OPTIMIZATION) += -Os
115
116subdirs-y += src
117
118srcs-$(_CFG_CORE_LTC_HASH) += hash.c
119srcs-$(_CFG_CORE_LTC_HMAC) += hmac.c
120srcs-$(_CFG_CORE_LTC_CMAC) += cmac.c
121srcs-$(_CFG_CORE_LTC_ECB) += ecb.c
122srcs-$(_CFG_CORE_LTC_CBC) += cbc.c
123srcs-$(_CFG_CORE_LTC_CTR) += ctr.c
124srcs-$(_CFG_CORE_LTC_XTS) += xts.c
125srcs-$(_CFG_CORE_LTC_CCM) += ccm.c
126srcs-$(_CFG_CORE_LTC_GCM) += gcm.c
127srcs-$(_CFG_CORE_LTC_DSA) += dsa.c
128srcs-$(_CFG_CORE_LTC_ECC) += ecc.c
129srcs-$(_CFG_CORE_LTC_RSA) += rsa.c
130srcs-$(_CFG_CORE_LTC_DH) += dh.c
131srcs-$(_CFG_CORE_LTC_AES) += aes.c
132srcs-$(_CFG_CORE_LTC_AES_ACCEL) += aes_accel.c
133srcs-$(_CFG_CORE_LTC_SHA1_ACCEL) += sha1_accel.c
134ifeq ($(_CFG_CORE_LTC_SHA256_DESC),y)
135srcs-$(_CFG_CORE_LTC_SHA256_ACCEL) += sha256_accel.c
136endif
137ifeq ($(_CFG_CORE_LTC_SHA512_DESC),y)
138srcs-$(_CFG_CORE_LTC_SHA512_ACCEL) += sha512_accel.c
139endif
140ifeq ($(_CFG_CORE_LTC_SHA3_DESC),y)
141srcs-y += shake.c
142srcs-$(_CFG_CORE_LTC_SHA3_ACCEL) += sha3_accel.c
143endif
144srcs-$(_CFG_CORE_LTC_SM2_DSA) += sm2-dsa.c
145srcs-$(_CFG_CORE_LTC_SM2_PKE) += sm2-pke.c
146srcs-$(_CFG_CORE_LTC_SM2_KEP) += sm2-kep.c
147srcs-$(_CFG_CORE_LTC_X25519) += x25519.c
148srcs-$(_CFG_CORE_LTC_ED25519) += ed25519.c
149ifeq ($(_CFG_CORE_LTC_ACIPHER),y)
150srcs-y += mpi_desc.c
151cppflags-mpi_desc.c-y += -DMBEDTLS_ALLOW_PRIVATE_ACCESS
152endif
153
154srcs-y += tomcrypt.c
155
156