1# Copyright (C) 2022 Huawei Technologies Co., Ltd. 2# Licensed under the Mulan PSL v2. 3# You can use this software according to the terms and conditions of the Mulan PSL v2. 4# You may obtain a copy of Mulan PSL v2 at: 5# http://license.coscl.org.cn/MulanPSL2 6# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR 7# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR 8# PURPOSE. 9# See the Mulan PSL v2 for more details. 10 11OPENSSL_CRYPTO_PATH := $(TEELIB)/libopenssl/openssl/crypto 12 13LOCAL_SRC_FILES := \ 14 $(wildcard $(OPENSSL_CRYPTO_PATH)/aes/*.c) \ 15 $(wildcard $(OPENSSL_CRYPTO_PATH)/asn1/*.c) \ 16 $(wildcard $(OPENSSL_CRYPTO_PATH)/bn/*.c) \ 17 $(wildcard $(OPENSSL_CRYPTO_PATH)/cmac/*.c) \ 18 $(wildcard $(OPENSSL_CRYPTO_PATH)/ec/*.c) \ 19 $(wildcard $(OPENSSL_CRYPTO_PATH)/evp/*.c) \ 20 $(wildcard $(OPENSSL_CRYPTO_PATH)/hmac/*.c) \ 21 $(wildcard $(OPENSSL_CRYPTO_PATH)/md5/*.c) \ 22 $(wildcard $(OPENSSL_CRYPTO_PATH)/modes/*.c) \ 23 $(wildcard $(OPENSSL_CRYPTO_PATH)/objects/*.c) \ 24 $(wildcard $(OPENSSL_CRYPTO_PATH)/pem/*.c) \ 25 $(wildcard $(OPENSSL_CRYPTO_PATH)/rsa/*.c) \ 26 $(wildcard $(OPENSSL_CRYPTO_PATH)/sha/*.c) \ 27 $(wildcard $(OPENSSL_CRYPTO_PATH)/x509/x509_set.c) \ 28 $(wildcard $(OPENSSL_CRYPTO_PATH)/x509/t_x509.c) \ 29 $(wildcard $(OPENSSL_CRYPTO_PATH)/x509/x_attrib.c) \ 30 $(wildcard $(OPENSSL_CRYPTO_PATH)/x509/x_pubkey.c) \ 31 $(wildcard $(OPENSSL_CRYPTO_PATH)/pkcs7/*.c) \ 32 $(wildcard $(OPENSSL_CRYPTO_PATH)/pkcs12/*.c) \ 33 $(wildcard $(OPENSSL_CRYPTO_PATH)/bio/*.c) \ 34 $(wildcard $(OPENSSL_CRYPTO_PATH)/stack/*.c) \ 35 $(wildcard $(OPENSSL_CRYPTO_PATH)/buffer/*.c) \ 36 $(wildcard $(OPENSSL_CRYPTO_PATH)/lhash/lhash.c) \ 37 $(wildcard $(OPENSSL_CRYPTO_PATH)/conf/*.c) \ 38 $(wildcard $(OPENSSL_CRYPTO_PATH)/kdf/*.c) \ 39 $(wildcard $(TEELIB)/libopenssl/src/openssl_stub.c) 40 41LOCAL_SRC_FILES += \ 42 $(wildcard $(OPENSSL_CRYPTO_PATH)/des/*.c) 43 44LOCAL_SRC_FILES += \ 45 $(wildcard $(OPENSSL_CRYPTO_PATH)/x509/*.c) \ 46 $(wildcard $(OPENSSL_CRYPTO_PATH)/x509v3/*.c) 47LOCAL_SRC_FILES += \ 48 $(wildcard $(OPENSSL_CRYPTO_PATH)/siphash/*.c) 49 50LOCAL_SRC_FILES += \ 51 $(wildcard $(OPENSSL_CRYPTO_PATH)/sm2/*.c) \ 52 $(wildcard $(OPENSSL_CRYPTO_PATH)/sm3/*.c) \ 53 $(wildcard $(OPENSSL_CRYPTO_PATH)/sm4/*.c) 54 55LOCAL_SRC_FILES += \ 56 $(OPENSSL_CRYPTO_PATH)/cryptlib.c \ 57 $(OPENSSL_CRYPTO_PATH)/mem.c \ 58 $(OPENSSL_CRYPTO_PATH)/mem_sec.c \ 59 $(OPENSSL_CRYPTO_PATH)/mem_dbg.c \ 60 $(OPENSSL_CRYPTO_PATH)/ex_data.c \ 61 62LOCAL_SRC_FILES := $(filter-out $(OPENSSL_CRYPTO_PATH)/ec/ecp_nistz256_table.c \ 63 $(OPENSSL_CRYPTO_PATH)/aes/aes_ige.c \ 64 $(OPENSSL_CRYPTO_PATH)/aes/aes_x86core.c \ 65 $(OPENSSL_CRYPTO_PATH)/x509/x509_def.c \ 66 $(OPENSSL_CRYPTO_PATH)/evp/e_camellia.c \ 67 $(OPENSSL_CRYPTO_PATH)/evp/e_bf.c \ 68 $(OPENSSL_CRYPTO_PATH)/evp/e_cast.c \ 69 $(OPENSSL_CRYPTO_PATH)/evp/e_chacha20_poly1305.c \ 70 $(OPENSSL_CRYPTO_PATH)/evp/e_idea.c \ 71 $(OPENSSL_CRYPTO_PATH)/evp/e_rc2.c \ 72 $(OPENSSL_CRYPTO_PATH)/evp/e_rc4.c \ 73 $(OPENSSL_CRYPTO_PATH)/evp/e_rc4_hmac_md5.c \ 74 $(OPENSSL_CRYPTO_PATH)/evp/m_md4.c \ 75 $(OPENSSL_CRYPTO_PATH)/evp/m_mdc2.c \ 76 $(OPENSSL_CRYPTO_PATH)/evp/m_ripemd.c \ 77 $(OPENSSL_CRYPTO_PATH)/conf/conf_sap.c \ 78 $(OPENSSL_CRYPTO_PATH)/evp/m_wp.c, $(LOCAL_SRC_FILES)) 79 80CFILES := $(patsubst $(TEELIB)/libopenssl/%,%,$(LOCAL_SRC_FILES)) 81 82ifeq ($(CONFIG_OPENSSL_NO_ASM),true) 83A32_CFLAGS += -DCONFIG_OPENSSL_NO_ASM 84CFLAGS += -DCONFIG_OPENSSL_NO_ASM 85endif 86 87ifneq ($(CONFIG_OPENSSL_NO_ASM),true) 88A32_CFLAGS += -DOPENSSL_BN_ASM_MONT -DOPENSSL_CPUID_OBJ -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DBSAES_ASM -DOPENSSL_BN_ASM_GF2m 89CFLAGS += -DOPENSSL_BN_ASM_MONT -DOPENSSL_CPUID_OBJ -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DECP_NISTZ256_ASM 90endif 91 92ifeq ($(CONFIG_CRYPTO_GET_ENTROPY),true) 93CFLAGS += -DOPENSSL_THREADS -DPTHREAD_RWLOCK_INITIALIZER 94endif 95CFLAGS += -DOPENSSL_NO_UI_CONSOLE -DOPENSSL_NO_EC448 -DOPENSSL_NO_KECCAK1600 96CFLAGS += -DCC_DRIVER -O3 97CFLAGS += -DOPENSSL_RAND_SEED_ENTROPY_CUSTOMER=crypto_driver_get_entropy 98