xref: /optee_os/core/lib/libtomcrypt/sub.mk (revision 5a913ee74d3c71af2a2860ce8a4e7aeab2916f9b)
1b0104773SPascal Brandglobal-incdirs-y += include
2*5a913ee7SJerome Forissierglobal-incdirs-y += src/headers
3*5a913ee7SJerome Forissier
4*5a913ee7SJerome Forissiercppflags-lib-y += -DARGTYPE=4  # Make LTC_ARGCHK() return on error
5*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_CLEAN_STACK -DLTC_NO_TEST -DLTC_NO_PROTOTYPES
6*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_TABLES -DLTC_HASH_HELPERS
7*5a913ee7SJerome Forissiercppflags-lib-$(_CFG_CORE_LTC_SIZE_OPTIMIZATION) += -DLTC_SMALL_CODE
8*5a913ee7SJerome Forissier
9*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_CIPHERS
10*5a913ee7SJerome Forissier
11*5a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_AES) $(_CFG_CORE_LTC_AES_DESC)))
12*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_RIJNDAEL
13*5a913ee7SJerome Forissierendif
14*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_DES),y)
15*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_DES
16*5a913ee7SJerome Forissierendif
17*5a913ee7SJerome Forissier
18*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_MODES
19*5a913ee7SJerome Forissier
20*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_ECB),y)
21*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_ECB_MODE
22*5a913ee7SJerome Forissierendif
23*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_CBC),y)
24*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_CBC_MODE
25*5a913ee7SJerome Forissierendif
26*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_CTR),y)
27*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_CTR_MODE
28*5a913ee7SJerome Forissierendif
29*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_XTS),y)
30*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_XTS_MODE
31*5a913ee7SJerome Forissierendif
32*5a913ee7SJerome Forissier
33*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_HASHES
34*5a913ee7SJerome Forissier
35*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_MD5),y)
36*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_MD5
37*5a913ee7SJerome Forissierendif
38*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA1),y)
39*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA1
40*5a913ee7SJerome Forissierendif
41*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA1_ARM32_CE),y)
42*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA1_ARM32_CE
43*5a913ee7SJerome Forissierendif
44*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA1_ARM64_CE),y)
45*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA1_ARM64_CE
46*5a913ee7SJerome Forissierendif
47*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA224),y)
48*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA224
49*5a913ee7SJerome Forissierendif
50*5a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_SHA256) $(_CFG_CORE_LTC_SHA256_DESC)))
51*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA256
52*5a913ee7SJerome Forissierendif
53*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA256_ARM32_CE),y)
54*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA256_ARM32_CE
55*5a913ee7SJerome Forissierendif
56*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA256_ARM64_CE),y)
57*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA256_ARM64_CE
58*5a913ee7SJerome Forissierendif
59*5a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_SHA384) $(_CFG_CORE_LTC_SHA384_DESC)))
60*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA384
61*5a913ee7SJerome Forissierendif
62*5a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_SHA512) $(_CFG_CORE_LTC_SHA512_DESC)))
63*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA512
64*5a913ee7SJerome Forissierendif
65*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA512_256),y)
66*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA512_256
67*5a913ee7SJerome Forissierendif
68*5a913ee7SJerome Forissier
69*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_MACS
70*5a913ee7SJerome Forissier
71*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_HMAC),y)
72*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_HMAC
73*5a913ee7SJerome Forissierendif
74*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_CMAC),y)
75*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_OMAC
76*5a913ee7SJerome Forissierendif
77*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_CCM),y)
78*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_CCM_MODE
79*5a913ee7SJerome Forissierendif
80*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_GCM),y)
81*5a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_GCM_MODE
82*5a913ee7SJerome Forissierendif
83*5a913ee7SJerome Forissier
84*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_PK
85*5a913ee7SJerome Forissier
86*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_RSA),y)
87*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MRSA
88*5a913ee7SJerome Forissierendif
89*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_DSA),y)
90*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MDSA
91*5a913ee7SJerome Forissierendif
92*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_DH),y)
93*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MDH
94*5a913ee7SJerome Forissierendif
95*5a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_ECC),y)
96*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MECC
97*5a913ee7SJerome Forissier
98*5a913ee7SJerome Forissier   # use Shamir's trick for point mul (speeds up signature verification)
99*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC_SHAMIR
100*5a913ee7SJerome Forissier
101*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC192
102*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC224
103*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC256
104*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC384
105*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC521
106*5a913ee7SJerome Forissier
107*5a913ee7SJerome Forissier   # ECC 521 bits is the max supported key size
108*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MAX_ECC=521
109*5a913ee7SJerome Forissierendif
110*5a913ee7SJerome Forissier
111*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_PKCS
112*5a913ee7SJerome Forissier
113*5a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_RSA) $(_CFG_CORE_LTC_DSA) $(_CFG_CORE_LTC_ECC) $(_CFG_CORE_LTC_HASH)))
114*5a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_DER
115*5a913ee7SJerome Forissierendif
116*5a913ee7SJerome Forissier
117*5a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_PRNGS -DLTC_FORTUNA
118*5a913ee7SJerome Forissier
119*5a913ee7SJerome Forissiercflags-lib-$(_CFG_CORE_LTC_SIZE_OPTIMIZATION) += -Os
120b0104773SPascal Brand
121b0104773SPascal Brandsubdirs-y += src
1226648f482SJens Wiklander
123a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_HASH) += hash.c
124a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_HMAC) += hmac.c
125a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_CMAC) += cmac.c
126a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_ECB) += ecb.c
127a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_CBC) += cbc.c
128a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_CTR) += ctr.c
129a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_XTS) += xts.c
130a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_CCM) += ccm.c
131a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_GCM) += gcm.c
132a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_DSA) += dsa.c
133a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_ECC) += ecc.c
134a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_RSA) += rsa.c
135a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_DH) += dh.c
136a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_AES) += aes.c
13778887e60SJens Wiklander
138a1cbb728SJens Wiklanderifdef _CFG_CORE_LTC_ACIPHER
139a1cbb728SJens Wiklanderifeq ($(_CFG_CORE_LTC_MPI),y)
14078887e60SJens Wiklandersrcs-y += mpi_desc.c
14178887e60SJens Wiklanderelse
14278887e60SJens Wiklandersrcs-y += mpa_desc.c
14378887e60SJens Wiklander# Get mpa.h which normally is an internal .h file
14478887e60SJens Wiklandercppflags-mpa_desc.c-y += -Ilib/libmpa
14578887e60SJens Wiklandercflags-mpa_desc.c-y += -Wno-unused-parameter
14678887e60SJens Wiklanderendif
14778887e60SJens Wiklanderendif
14878887e60SJens Wiklander
14978887e60SJens Wiklandersrcs-y += tomcrypt.c
15078887e60SJens Wiklander
151