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