xref: /optee_os/core/lib/libtomcrypt/sub.mk (revision 76c7ba4b9ff76dc053e34ad9f9c790a6c59febf5)
1b0104773SPascal Brandglobal-incdirs-y += include
25a913ee7SJerome Forissierglobal-incdirs-y += src/headers
35a913ee7SJerome Forissier
45a913ee7SJerome Forissiercppflags-lib-y += -DARGTYPE=4  # Make LTC_ARGCHK() return on error
55a913ee7SJerome Forissiercppflags-lib-y += -DLTC_CLEAN_STACK -DLTC_NO_TEST -DLTC_NO_PROTOTYPES
65a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_TABLES -DLTC_HASH_HELPERS
75a913ee7SJerome Forissiercppflags-lib-$(_CFG_CORE_LTC_SIZE_OPTIMIZATION) += -DLTC_SMALL_CODE
85a913ee7SJerome Forissier
95a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_CIPHERS
105a913ee7SJerome Forissier
115a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_AES) $(_CFG_CORE_LTC_AES_DESC)))
125a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_RIJNDAEL
135a913ee7SJerome Forissierendif
145a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_DES),y)
155a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_DES
165a913ee7SJerome Forissierendif
175a913ee7SJerome Forissier
185a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_MODES
195a913ee7SJerome Forissier
205a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_ECB),y)
215a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_ECB_MODE
225a913ee7SJerome Forissierendif
235a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_CBC),y)
245a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_CBC_MODE
255a913ee7SJerome Forissierendif
265a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_CTR),y)
275a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_CTR_MODE
285a913ee7SJerome Forissierendif
295a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_XTS),y)
305a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_XTS_MODE
315a913ee7SJerome Forissierendif
325a913ee7SJerome Forissier
335a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_HASHES
345a913ee7SJerome Forissier
355a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_MD5),y)
365a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_MD5
375a913ee7SJerome Forissierendif
385a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA1),y)
395a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA1
405a913ee7SJerome Forissierendif
415a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA1_ARM32_CE),y)
425a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA1_ARM32_CE
435a913ee7SJerome Forissierendif
445a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA1_ARM64_CE),y)
455a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA1_ARM64_CE
465a913ee7SJerome Forissierendif
475a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA224),y)
485a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA224
495a913ee7SJerome Forissierendif
505a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_SHA256) $(_CFG_CORE_LTC_SHA256_DESC)))
515a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA256
525a913ee7SJerome Forissierendif
535a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA256_ARM32_CE),y)
545a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA256_ARM32_CE
555a913ee7SJerome Forissierendif
565a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA256_ARM64_CE),y)
575a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA256_ARM64_CE
585a913ee7SJerome Forissierendif
595a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_SHA384) $(_CFG_CORE_LTC_SHA384_DESC)))
605a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA384
615a913ee7SJerome Forissierendif
625a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_SHA512) $(_CFG_CORE_LTC_SHA512_DESC)))
635a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA512
645a913ee7SJerome Forissierendif
655a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_SHA512_256),y)
665a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_SHA512_256
675a913ee7SJerome Forissierendif
685a913ee7SJerome Forissier
695a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_MACS
705a913ee7SJerome Forissier
715a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_HMAC),y)
725a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_HMAC
735a913ee7SJerome Forissierendif
745a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_CMAC),y)
755a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_OMAC
765a913ee7SJerome Forissierendif
775a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_CCM),y)
785a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_CCM_MODE
795a913ee7SJerome Forissierendif
805a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_GCM),y)
815a913ee7SJerome Forissier	cppflags-lib-y += -DLTC_GCM_MODE
825a913ee7SJerome Forissierendif
835a913ee7SJerome Forissier
845a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_PK
855a913ee7SJerome Forissier
865a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_RSA),y)
875a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MRSA
885a913ee7SJerome Forissierendif
895a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_DSA),y)
905a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MDSA
915a913ee7SJerome Forissierendif
925a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_DH),y)
935a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MDH
945a913ee7SJerome Forissierendif
955a913ee7SJerome Forissierifeq ($(_CFG_CORE_LTC_ECC),y)
965a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MECC
975a913ee7SJerome Forissier
985a913ee7SJerome Forissier   # use Shamir's trick for point mul (speeds up signature verification)
995a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC_SHAMIR
1005a913ee7SJerome Forissier
1015a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC192
1025a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC224
1035a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC256
1045a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC384
1055a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_ECC521
1065a913ee7SJerome Forissier
1075a913ee7SJerome Forissier   # ECC 521 bits is the max supported key size
1085a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_MAX_ECC=521
1095a913ee7SJerome Forissierendif
110*76c7ba4bSJerome Forissierifeq ($(filter y,$(_CFG_CORE_LTC_SM2_DSA_SM3) $(_CFG_CORE_LTC_SM2_PKE)),y)
111f9a78287SJerome Forissier   cppflags-lib-y += -DLTC_ECC_SM2
112f9a78287SJerome Forissierendif
1135a913ee7SJerome Forissier
1145a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_PKCS
1155a913ee7SJerome Forissier
1165a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_RSA) $(_CFG_CORE_LTC_DSA) $(_CFG_CORE_LTC_ECC) $(_CFG_CORE_LTC_HASH)))
1175a913ee7SJerome Forissier   cppflags-lib-y += -DLTC_DER
1185a913ee7SJerome Forissierendif
1195a913ee7SJerome Forissier
1205a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_PRNGS -DLTC_FORTUNA
1215a913ee7SJerome Forissier
1225a913ee7SJerome Forissiercflags-lib-$(_CFG_CORE_LTC_SIZE_OPTIMIZATION) += -Os
123b0104773SPascal Brand
124b0104773SPascal Brandsubdirs-y += src
1256648f482SJens Wiklander
126a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_HASH) += hash.c
127a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_HMAC) += hmac.c
128a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_CMAC) += cmac.c
129a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_ECB) += ecb.c
130a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_CBC) += cbc.c
131a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_CTR) += ctr.c
132a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_XTS) += xts.c
133a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_CCM) += ccm.c
134a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_GCM) += gcm.c
135a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_DSA) += dsa.c
136a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_ECC) += ecc.c
137a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_RSA) += rsa.c
138a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_DH) += dh.c
139a1cbb728SJens Wiklandersrcs-$(_CFG_CORE_LTC_AES) += aes.c
140*76c7ba4bSJerome Forissiersrcs-$(_CFG_CORE_LTC_SM2_DSA) += sm2-dsa.c
141f9a78287SJerome Forissiersrcs-$(_CFG_CORE_LTC_SM2_PKE) += sm2-pke.c
14278887e60SJens Wiklander
1439e8c816aSJerome Forissierifeq ($(_CFG_CORE_LTC_ACIPHER),y)
144a1cbb728SJens Wiklanderifeq ($(_CFG_CORE_LTC_MPI),y)
14578887e60SJens Wiklandersrcs-y += mpi_desc.c
14678887e60SJens Wiklanderelse
14778887e60SJens Wiklandersrcs-y += mpa_desc.c
14878887e60SJens Wiklander# Get mpa.h which normally is an internal .h file
14978887e60SJens Wiklandercppflags-mpa_desc.c-y += -Ilib/libmpa
15078887e60SJens Wiklandercflags-mpa_desc.c-y += -Wno-unused-parameter
15178887e60SJens Wiklanderendif
15278887e60SJens Wiklanderendif
15378887e60SJens Wiklander
15478887e60SJens Wiklandersrcs-y += tomcrypt.c
15578887e60SJens Wiklander
156