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 1105a913ee7SJerome Forissier 1115a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_PKCS 1125a913ee7SJerome Forissier 1135a913ee7SJerome Forissierifneq (,$(filter y,$(_CFG_CORE_LTC_RSA) $(_CFG_CORE_LTC_DSA) $(_CFG_CORE_LTC_ECC) $(_CFG_CORE_LTC_HASH))) 1145a913ee7SJerome Forissier cppflags-lib-y += -DLTC_DER 1155a913ee7SJerome Forissierendif 1165a913ee7SJerome Forissier 1175a913ee7SJerome Forissiercppflags-lib-y += -DLTC_NO_PRNGS -DLTC_FORTUNA 1185a913ee7SJerome Forissier 1195a913ee7SJerome 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 138*9e8c816aSJerome Forissierifeq ($(_CFG_CORE_LTC_ACIPHER),y) 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