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_CLEAN_STACK -DLTC_NO_TEST -DLTC_NO_PROTOTYPES
8cppflags-lib-y += -DLTC_NO_TABLES -DLTC_HASH_HELPERS
9cppflags-lib-$(_CFG_CORE_LTC_SIZE_OPTIMIZATION) += -DLTC_SMALL_CODE
10
11cppflags-lib-y += -DLTC_NO_CIPHERS
12
13ifeq ($(_CFG_CORE_LTC_AES_DESC),y)
14	cppflags-lib-y += -DLTC_RIJNDAEL
15endif
16ifeq ($(_CFG_CORE_LTC_DES),y)
17	cppflags-lib-y += -DLTC_DES
18endif
19
20cppflags-lib-y += -DLTC_NO_MODES
21
22ifeq ($(_CFG_CORE_LTC_ECB),y)
23	cppflags-lib-y += -DLTC_ECB_MODE
24endif
25ifeq ($(_CFG_CORE_LTC_CBC),y)
26	cppflags-lib-y += -DLTC_CBC_MODE
27endif
28ifeq ($(_CFG_CORE_LTC_CTR),y)
29	cppflags-lib-y += -DLTC_CTR_MODE
30endif
31ifeq ($(_CFG_CORE_LTC_XTS),y)
32	cppflags-lib-y += -DLTC_XTS_MODE
33endif
34
35cppflags-lib-y += -DLTC_NO_HASHES
36
37ifeq ($(_CFG_CORE_LTC_MD5),y)
38	cppflags-lib-y += -DLTC_MD5
39endif
40ifeq ($(_CFG_CORE_LTC_SHA1),y)
41	cppflags-lib-y += -DLTC_SHA1
42endif
43ifeq ($(_CFG_CORE_LTC_SHA224),y)
44	cppflags-lib-y += -DLTC_SHA224
45endif
46ifeq ($(_CFG_CORE_LTC_SHA256_DESC),y)
47	cppflags-lib-y += -DLTC_SHA256
48endif
49ifeq ($(_CFG_CORE_LTC_SHA384_DESC),y)
50	cppflags-lib-y += -DLTC_SHA384
51endif
52ifeq ($(_CFG_CORE_LTC_SHA512_DESC),y)
53	cppflags-lib-y += -DLTC_SHA512
54endif
55ifeq ($(_CFG_CORE_LTC_SHA512_256),y)
56	cppflags-lib-y += -DLTC_SHA512_256
57endif
58
59cppflags-lib-y += -DLTC_NO_MACS
60
61ifeq ($(_CFG_CORE_LTC_HMAC),y)
62	cppflags-lib-y += -DLTC_HMAC
63endif
64ifeq ($(_CFG_CORE_LTC_CMAC),y)
65	cppflags-lib-y += -DLTC_OMAC
66endif
67ifeq ($(_CFG_CORE_LTC_CCM),y)
68	cppflags-lib-y += -DLTC_CCM_MODE
69endif
70ifeq ($(_CFG_CORE_LTC_GCM),y)
71	cppflags-lib-y += -DLTC_GCM_MODE
72endif
73
74cppflags-lib-y += -DLTC_NO_PK
75
76ifeq ($(_CFG_CORE_LTC_RSA),y)
77   cppflags-lib-y += -DLTC_MRSA
78endif
79ifeq ($(_CFG_CORE_LTC_DSA),y)
80   cppflags-lib-y += -DLTC_MDSA
81endif
82ifeq ($(_CFG_CORE_LTC_DH),y)
83   cppflags-lib-y += -DLTC_MDH
84endif
85ifeq ($(_CFG_CORE_LTC_ECC),y)
86   cppflags-lib-y += -DLTC_MECC
87
88   # use Shamir's trick for point mul (speeds up signature verification)
89   cppflags-lib-y += -DLTC_ECC_SHAMIR
90
91   cppflags-lib-y += -DLTC_ECC192
92   cppflags-lib-y += -DLTC_ECC224
93   cppflags-lib-y += -DLTC_ECC256
94   cppflags-lib-y += -DLTC_ECC384
95   cppflags-lib-y += -DLTC_ECC521
96
97   # ECC 521 bits is the max supported key size
98   cppflags-lib-y += -DLTC_MAX_ECC=521
99endif
100ifneq (,$(filter y,$(_CFG_CORE_LTC_SM2_DSA) $(_CFG_CORE_LTC_SM2_PKE)))
101   cppflags-lib-y += -DLTC_ECC_SM2
102endif
103
104cppflags-lib-y += -DLTC_NO_PKCS
105
106cppflags-lib-y += -DLTC_DER
107
108cppflags-lib-y += -DLTC_NO_PRNGS -DLTC_FORTUNA
109
110cflags-lib-$(_CFG_CORE_LTC_SIZE_OPTIMIZATION) += -Os
111
112subdirs-y += src
113
114srcs-$(_CFG_CORE_LTC_HASH) += hash.c
115srcs-$(_CFG_CORE_LTC_HMAC) += hmac.c
116srcs-$(_CFG_CORE_LTC_CMAC) += cmac.c
117srcs-$(_CFG_CORE_LTC_ECB) += ecb.c
118srcs-$(_CFG_CORE_LTC_CBC) += cbc.c
119srcs-$(_CFG_CORE_LTC_CTR) += ctr.c
120srcs-$(_CFG_CORE_LTC_XTS) += xts.c
121srcs-$(_CFG_CORE_LTC_CCM) += ccm.c
122srcs-$(_CFG_CORE_LTC_GCM) += gcm.c
123srcs-$(_CFG_CORE_LTC_DSA) += dsa.c
124srcs-$(_CFG_CORE_LTC_ECC) += ecc.c
125srcs-$(_CFG_CORE_LTC_RSA) += rsa.c
126srcs-$(_CFG_CORE_LTC_DH) += dh.c
127srcs-$(_CFG_CORE_LTC_AES) += aes.c
128srcs-$(_CFG_CORE_LTC_AES_ACCEL) += aes_accel.c
129srcs-$(_CFG_CORE_LTC_SHA1_ACCEL) += sha1_accel.c
130ifeq ($(_CFG_CORE_LTC_SHA256_DESC),y)
131srcs-$(_CFG_CORE_LTC_SHA256_ACCEL) += sha256_accel.c
132endif
133srcs-$(_CFG_CORE_LTC_SM2_DSA) += sm2-dsa.c
134srcs-$(_CFG_CORE_LTC_SM2_PKE) += sm2-pke.c
135srcs-$(_CFG_CORE_LTC_SM2_KEP) += sm2-kep.c
136
137ifeq ($(_CFG_CORE_LTC_ACIPHER),y)
138srcs-y += mpi_desc.c
139endif
140
141srcs-y += tomcrypt.c
142
143