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