1a8e1175bSopenharmony_ciifndef MBEDTLS_PATH 2a8e1175bSopenharmony_ciMBEDTLS_PATH := .. 3a8e1175bSopenharmony_ciendif 4a8e1175bSopenharmony_ci 5a8e1175bSopenharmony_ciGENERATED_FILES := \ 6a8e1175bSopenharmony_ci error.c version_features.c \ 7a8e1175bSopenharmony_ci ssl_debug_helpers_generated.c \ 8a8e1175bSopenharmony_ci psa_crypto_driver_wrappers.h \ 9a8e1175bSopenharmony_ci psa_crypto_driver_wrappers_no_static.c 10a8e1175bSopenharmony_ci 11a8e1175bSopenharmony_ciifneq ($(GENERATED_FILES),$(wildcard $(GENERATED_FILES))) 12a8e1175bSopenharmony_ci ifeq (,$(wildcard $(MBEDTLS_PATH)/framework/exported.make)) 13a8e1175bSopenharmony_ci # Use the define keyword to get a multi-line message. 14a8e1175bSopenharmony_ci # GNU make appends ". Stop.", so tweak the ending of our message accordingly. 15a8e1175bSopenharmony_ci define error_message 16a8e1175bSopenharmony_ci$(MBEDTLS_PATH)/framework/exported.make not found. 17a8e1175bSopenharmony_ciRun `git submodule update --init` to fetch the submodule contents. 18a8e1175bSopenharmony_ciThis is a fatal error 19a8e1175bSopenharmony_ci endef 20a8e1175bSopenharmony_ci $(error $(error_message)) 21a8e1175bSopenharmony_ci endif 22a8e1175bSopenharmony_ci include $(MBEDTLS_PATH)/framework/exported.make 23a8e1175bSopenharmony_ciendif 24a8e1175bSopenharmony_ci 25a8e1175bSopenharmony_ci# Also see "include/mbedtls/mbedtls_config.h" 26a8e1175bSopenharmony_ci 27a8e1175bSopenharmony_ciCFLAGS ?= -O2 28a8e1175bSopenharmony_ciWARNING_CFLAGS ?= -Wall -Wextra -Wformat=2 -Wno-format-nonliteral 29a8e1175bSopenharmony_ciLDFLAGS ?= 30a8e1175bSopenharmony_ci 31a8e1175bSopenharmony_ci# Include ../include for public headers and . for private headers. 32a8e1175bSopenharmony_ci# Note that . needs to be included explicitly for the sake of library 33a8e1175bSopenharmony_ci# files that are not in the /library directory (which currently means 34a8e1175bSopenharmony_ci# under /3rdparty). 35a8e1175bSopenharmony_ciLOCAL_CFLAGS = $(WARNING_CFLAGS) -I. -I../include -D_FILE_OFFSET_BITS=64 36a8e1175bSopenharmony_ciLOCAL_LDFLAGS = 37a8e1175bSopenharmony_ci 38a8e1175bSopenharmony_ciifdef DEBUG 39a8e1175bSopenharmony_ciLOCAL_CFLAGS += -g3 40a8e1175bSopenharmony_ciendif 41a8e1175bSopenharmony_ci 42a8e1175bSopenharmony_ci# MicroBlaze specific options: 43a8e1175bSopenharmony_ci# CFLAGS += -mno-xl-soft-mul -mxl-barrel-shift 44a8e1175bSopenharmony_ci 45a8e1175bSopenharmony_ci# To compile on Plan9: 46a8e1175bSopenharmony_ci# CFLAGS += -D_BSD_EXTENSION 47a8e1175bSopenharmony_ci 48a8e1175bSopenharmony_ciPERL ?= perl 49a8e1175bSopenharmony_ci 50a8e1175bSopenharmony_ciifdef WINDOWS 51a8e1175bSopenharmony_ciPYTHON ?= python 52a8e1175bSopenharmony_cielse 53a8e1175bSopenharmony_ciPYTHON ?= $(shell if type python3 >/dev/null 2>/dev/null; then echo python3; else echo python; fi) 54a8e1175bSopenharmony_ciendif 55a8e1175bSopenharmony_ci 56a8e1175bSopenharmony_ci# if were running on Windows build for Windows 57a8e1175bSopenharmony_ciifdef WINDOWS 58a8e1175bSopenharmony_ciWINDOWS_BUILD=1 59a8e1175bSopenharmony_cielse ifeq ($(shell uname -s),Darwin) 60a8e1175bSopenharmony_ciifeq ($(AR),ar) 61a8e1175bSopenharmony_ciAPPLE_BUILD ?= 1 62a8e1175bSopenharmony_ciendif 63a8e1175bSopenharmony_ciendif 64a8e1175bSopenharmony_ci 65a8e1175bSopenharmony_ciifdef WINDOWS_BUILD 66a8e1175bSopenharmony_ciLOCAL_LDFLAGS += -lbcrypt 67a8e1175bSopenharmony_ciendif 68a8e1175bSopenharmony_ci 69a8e1175bSopenharmony_ci# To compile as a shared library: 70a8e1175bSopenharmony_ciifdef SHARED 71a8e1175bSopenharmony_ci# all code is position-indep with mingw, avoid warning about useless flag 72a8e1175bSopenharmony_ciifndef WINDOWS_BUILD 73a8e1175bSopenharmony_ciLOCAL_CFLAGS += -fPIC -fpic 74a8e1175bSopenharmony_ciendif 75a8e1175bSopenharmony_ciendif 76a8e1175bSopenharmony_ci 77a8e1175bSopenharmony_ciSOEXT_TLS?=so.21 78a8e1175bSopenharmony_ciSOEXT_X509?=so.7 79a8e1175bSopenharmony_ciSOEXT_CRYPTO?=so.16 80a8e1175bSopenharmony_ci 81a8e1175bSopenharmony_ci# Set AR_DASH= (empty string) to use an ar implementation that does not accept 82a8e1175bSopenharmony_ci# the - prefix for command line options (e.g. llvm-ar) 83a8e1175bSopenharmony_ciAR_DASH ?= - 84a8e1175bSopenharmony_ci 85a8e1175bSopenharmony_ciARFLAGS = $(AR_DASH)src 86a8e1175bSopenharmony_ciifdef APPLE_BUILD 87a8e1175bSopenharmony_ciifneq ($(APPLE_BUILD),0) 88a8e1175bSopenharmony_ciARFLAGS = $(AR_DASH)Src 89a8e1175bSopenharmony_ciRLFLAGS = -no_warning_for_no_symbols -c 90a8e1175bSopenharmony_ciRL ?= ranlib 91a8e1175bSopenharmony_ciendif 92a8e1175bSopenharmony_ciendif 93a8e1175bSopenharmony_ci 94a8e1175bSopenharmony_ciDLEXT ?= so 95a8e1175bSopenharmony_ciifdef WINDOWS_BUILD 96a8e1175bSopenharmony_ci# Windows shared library extension: 97a8e1175bSopenharmony_ciDLEXT = dll 98a8e1175bSopenharmony_cielse ifdef APPLE_BUILD 99a8e1175bSopenharmony_ciifneq ($(APPLE_BUILD),0) 100a8e1175bSopenharmony_ci# Mac OS X shared library extension: 101a8e1175bSopenharmony_ciDLEXT = dylib 102a8e1175bSopenharmony_ciendif 103a8e1175bSopenharmony_ciendif 104a8e1175bSopenharmony_ci 105a8e1175bSopenharmony_ciOBJS_CRYPTO= \ 106a8e1175bSopenharmony_ci aes.o \ 107a8e1175bSopenharmony_ci aesni.o \ 108a8e1175bSopenharmony_ci aesce.o \ 109a8e1175bSopenharmony_ci aria.o \ 110a8e1175bSopenharmony_ci asn1parse.o \ 111a8e1175bSopenharmony_ci asn1write.o \ 112a8e1175bSopenharmony_ci base64.o \ 113a8e1175bSopenharmony_ci bignum.o \ 114a8e1175bSopenharmony_ci bignum_core.o \ 115a8e1175bSopenharmony_ci bignum_mod.o \ 116a8e1175bSopenharmony_ci bignum_mod_raw.o \ 117a8e1175bSopenharmony_ci block_cipher.o \ 118a8e1175bSopenharmony_ci camellia.o \ 119a8e1175bSopenharmony_ci ccm.o \ 120a8e1175bSopenharmony_ci chacha20.o \ 121a8e1175bSopenharmony_ci chachapoly.o \ 122a8e1175bSopenharmony_ci cipher.o \ 123a8e1175bSopenharmony_ci cipher_wrap.o \ 124a8e1175bSopenharmony_ci cmac.o \ 125a8e1175bSopenharmony_ci constant_time.o \ 126a8e1175bSopenharmony_ci ctr_drbg.o \ 127a8e1175bSopenharmony_ci des.o \ 128a8e1175bSopenharmony_ci dhm.o \ 129a8e1175bSopenharmony_ci ecdh.o \ 130a8e1175bSopenharmony_ci ecdsa.o \ 131a8e1175bSopenharmony_ci ecjpake.o \ 132a8e1175bSopenharmony_ci ecp.o \ 133a8e1175bSopenharmony_ci ecp_curves.o \ 134a8e1175bSopenharmony_ci ecp_curves_new.o \ 135a8e1175bSopenharmony_ci entropy.o \ 136a8e1175bSopenharmony_ci entropy_poll.o \ 137a8e1175bSopenharmony_ci error.o \ 138a8e1175bSopenharmony_ci gcm.o \ 139a8e1175bSopenharmony_ci hkdf.o \ 140a8e1175bSopenharmony_ci hmac_drbg.o \ 141a8e1175bSopenharmony_ci lmots.o \ 142a8e1175bSopenharmony_ci lms.o \ 143a8e1175bSopenharmony_ci md.o \ 144a8e1175bSopenharmony_ci md5.o \ 145a8e1175bSopenharmony_ci memory_buffer_alloc.o \ 146a8e1175bSopenharmony_ci nist_kw.o \ 147a8e1175bSopenharmony_ci oid.o \ 148a8e1175bSopenharmony_ci padlock.o \ 149a8e1175bSopenharmony_ci pem.o \ 150a8e1175bSopenharmony_ci pk.o \ 151a8e1175bSopenharmony_ci pk_ecc.o \ 152a8e1175bSopenharmony_ci pk_wrap.o \ 153a8e1175bSopenharmony_ci pkcs12.o \ 154a8e1175bSopenharmony_ci pkcs5.o \ 155a8e1175bSopenharmony_ci pkparse.o \ 156a8e1175bSopenharmony_ci pkwrite.o \ 157a8e1175bSopenharmony_ci platform.o \ 158a8e1175bSopenharmony_ci platform_util.o \ 159a8e1175bSopenharmony_ci poly1305.o \ 160a8e1175bSopenharmony_ci psa_crypto.o \ 161a8e1175bSopenharmony_ci psa_crypto_aead.o \ 162a8e1175bSopenharmony_ci psa_crypto_cipher.o \ 163a8e1175bSopenharmony_ci psa_crypto_client.o \ 164a8e1175bSopenharmony_ci psa_crypto_driver_wrappers_no_static.o \ 165a8e1175bSopenharmony_ci psa_crypto_ecp.o \ 166a8e1175bSopenharmony_ci psa_crypto_ffdh.o \ 167a8e1175bSopenharmony_ci psa_crypto_hash.o \ 168a8e1175bSopenharmony_ci psa_crypto_mac.o \ 169a8e1175bSopenharmony_ci psa_crypto_pake.o \ 170a8e1175bSopenharmony_ci psa_crypto_rsa.o \ 171a8e1175bSopenharmony_ci psa_crypto_se.o \ 172a8e1175bSopenharmony_ci psa_crypto_slot_management.o \ 173a8e1175bSopenharmony_ci psa_crypto_storage.o \ 174a8e1175bSopenharmony_ci psa_its_file.o \ 175a8e1175bSopenharmony_ci psa_util.o \ 176a8e1175bSopenharmony_ci ripemd160.o \ 177a8e1175bSopenharmony_ci rsa.o \ 178a8e1175bSopenharmony_ci rsa_alt_helpers.o \ 179a8e1175bSopenharmony_ci sha1.o \ 180a8e1175bSopenharmony_ci sha256.o \ 181a8e1175bSopenharmony_ci sha512.o \ 182a8e1175bSopenharmony_ci sha3.o \ 183a8e1175bSopenharmony_ci threading.o \ 184a8e1175bSopenharmony_ci timing.o \ 185a8e1175bSopenharmony_ci version.o \ 186a8e1175bSopenharmony_ci version_features.o \ 187a8e1175bSopenharmony_ci # This line is intentionally left blank 188a8e1175bSopenharmony_ci 189a8e1175bSopenharmony_ciinclude ../3rdparty/Makefile.inc 190a8e1175bSopenharmony_ciLOCAL_CFLAGS+=$(THIRDPARTY_INCLUDES) 191a8e1175bSopenharmony_ciOBJS_CRYPTO+=$(THIRDPARTY_CRYPTO_OBJECTS) 192a8e1175bSopenharmony_ci 193a8e1175bSopenharmony_ciOBJS_X509= \ 194a8e1175bSopenharmony_ci x509.o \ 195a8e1175bSopenharmony_ci x509_create.o \ 196a8e1175bSopenharmony_ci x509_crl.o \ 197a8e1175bSopenharmony_ci x509_crt.o \ 198a8e1175bSopenharmony_ci x509_csr.o \ 199a8e1175bSopenharmony_ci x509write.o \ 200a8e1175bSopenharmony_ci x509write_crt.o \ 201a8e1175bSopenharmony_ci x509write_csr.o \ 202a8e1175bSopenharmony_ci pkcs7.o \ 203a8e1175bSopenharmony_ci # This line is intentionally left blank 204a8e1175bSopenharmony_ci 205a8e1175bSopenharmony_ciOBJS_TLS= \ 206a8e1175bSopenharmony_ci debug.o \ 207a8e1175bSopenharmony_ci mps_reader.o \ 208a8e1175bSopenharmony_ci mps_trace.o \ 209a8e1175bSopenharmony_ci net_sockets.o \ 210a8e1175bSopenharmony_ci ssl_cache.o \ 211a8e1175bSopenharmony_ci ssl_ciphersuites.o \ 212a8e1175bSopenharmony_ci ssl_client.o \ 213a8e1175bSopenharmony_ci ssl_cookie.o \ 214a8e1175bSopenharmony_ci ssl_debug_helpers_generated.o \ 215a8e1175bSopenharmony_ci ssl_msg.o \ 216a8e1175bSopenharmony_ci ssl_ticket.o \ 217a8e1175bSopenharmony_ci ssl_tls.o \ 218a8e1175bSopenharmony_ci ssl_tls12_client.o \ 219a8e1175bSopenharmony_ci ssl_tls12_server.o \ 220a8e1175bSopenharmony_ci ssl_tls13_keys.o \ 221a8e1175bSopenharmony_ci ssl_tls13_client.o \ 222a8e1175bSopenharmony_ci ssl_tls13_server.o \ 223a8e1175bSopenharmony_ci ssl_tls13_generic.o \ 224a8e1175bSopenharmony_ci # This line is intentionally left blank 225a8e1175bSopenharmony_ci 226a8e1175bSopenharmony_ci.SILENT: 227a8e1175bSopenharmony_ci 228a8e1175bSopenharmony_ci.PHONY: all static shared clean 229a8e1175bSopenharmony_ci 230a8e1175bSopenharmony_ciifndef SHARED 231a8e1175bSopenharmony_ciall: static 232a8e1175bSopenharmony_cielse 233a8e1175bSopenharmony_ciall: shared static 234a8e1175bSopenharmony_ciendif 235a8e1175bSopenharmony_ci 236a8e1175bSopenharmony_cistatic: libmbedcrypto.a libmbedx509.a libmbedtls.a 237a8e1175bSopenharmony_ci cd ../tests && echo "This is a seedfile that contains 64 bytes (65 on Windows)......" > seedfile 238a8e1175bSopenharmony_ci 239a8e1175bSopenharmony_cishared: libmbedcrypto.$(DLEXT) libmbedx509.$(DLEXT) libmbedtls.$(DLEXT) 240a8e1175bSopenharmony_ci 241a8e1175bSopenharmony_ci# Windows builds under Mingw can fail if make tries to create archives in the same 242a8e1175bSopenharmony_ci# directory at the same time - see https://bugs.launchpad.net/gcc-arm-embedded/+bug/1848002. 243a8e1175bSopenharmony_ci# This forces builds of the .a files to be serialised. 244a8e1175bSopenharmony_ciifdef WINDOWS 245a8e1175bSopenharmony_cilibmbedtls.a: | libmbedx509.a 246a8e1175bSopenharmony_cilibmbedx509.a: | libmbedcrypto.a 247a8e1175bSopenharmony_ciendif 248a8e1175bSopenharmony_ci 249a8e1175bSopenharmony_ci# tls 250a8e1175bSopenharmony_cilibmbedtls.a: $(OBJS_TLS) 251a8e1175bSopenharmony_ci echo " AR $@" 252a8e1175bSopenharmony_ci $(AR) $(ARFLAGS) $@ $(OBJS_TLS) 253a8e1175bSopenharmony_ciifdef APPLE_BUILD 254a8e1175bSopenharmony_ciifneq ($(APPLE_BUILD),0) 255a8e1175bSopenharmony_ci echo " RL $@" 256a8e1175bSopenharmony_ci $(RL) $(RLFLAGS) $@ 257a8e1175bSopenharmony_ciendif 258a8e1175bSopenharmony_ciendif 259a8e1175bSopenharmony_ci 260a8e1175bSopenharmony_cilibmbedtls.$(SOEXT_TLS): $(OBJS_TLS) libmbedx509.so 261a8e1175bSopenharmony_ci echo " LD $@" 262a8e1175bSopenharmony_ci $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_TLS) -L. -lmbedx509 -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) 263a8e1175bSopenharmony_ci 264a8e1175bSopenharmony_ciifneq ($(SOEXT_TLS),so) 265a8e1175bSopenharmony_cilibmbedtls.so: libmbedtls.$(SOEXT_TLS) 266a8e1175bSopenharmony_ci echo " LN $@ -> $<" 267a8e1175bSopenharmony_ci ln -sf $< $@ 268a8e1175bSopenharmony_ciendif 269a8e1175bSopenharmony_ci 270a8e1175bSopenharmony_cilibmbedtls.dylib: $(OBJS_TLS) libmbedx509.dylib 271a8e1175bSopenharmony_ci echo " LD $@" 272a8e1175bSopenharmony_ci $(CC) -dynamiclib -o $@ $(OBJS_TLS) -L. -lmbedx509 -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) 273a8e1175bSopenharmony_ci 274a8e1175bSopenharmony_cilibmbedtls.dll: $(OBJS_TLS) libmbedx509.dll 275a8e1175bSopenharmony_ci echo " LD $@" 276a8e1175bSopenharmony_ci $(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_TLS) -lws2_32 -lwinmm -lgdi32 -L. -lmbedx509 -lmbedcrypto -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS) 277a8e1175bSopenharmony_ci 278a8e1175bSopenharmony_ci# x509 279a8e1175bSopenharmony_cilibmbedx509.a: $(OBJS_X509) 280a8e1175bSopenharmony_ci echo " AR $@" 281a8e1175bSopenharmony_ci $(AR) $(ARFLAGS) $@ $(OBJS_X509) 282a8e1175bSopenharmony_ciifdef APPLE_BUILD 283a8e1175bSopenharmony_ciifneq ($(APPLE_BUILD),0) 284a8e1175bSopenharmony_ci echo " RL $@" 285a8e1175bSopenharmony_ci $(RL) $(RLFLAGS) $@ 286a8e1175bSopenharmony_ciendif 287a8e1175bSopenharmony_ciendif 288a8e1175bSopenharmony_ci 289a8e1175bSopenharmony_cilibmbedx509.$(SOEXT_X509): $(OBJS_X509) libmbedcrypto.so 290a8e1175bSopenharmony_ci echo " LD $@" 291a8e1175bSopenharmony_ci $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_X509) -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) 292a8e1175bSopenharmony_ci 293a8e1175bSopenharmony_ciifneq ($(SOEXT_X509),so) 294a8e1175bSopenharmony_cilibmbedx509.so: libmbedx509.$(SOEXT_X509) 295a8e1175bSopenharmony_ci echo " LN $@ -> $<" 296a8e1175bSopenharmony_ci ln -sf $< $@ 297a8e1175bSopenharmony_ciendif 298a8e1175bSopenharmony_ci 299a8e1175bSopenharmony_cilibmbedx509.dylib: $(OBJS_X509) libmbedcrypto.dylib 300a8e1175bSopenharmony_ci echo " LD $@" 301a8e1175bSopenharmony_ci $(CC) -dynamiclib -o $@ $(OBJS_X509) -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) 302a8e1175bSopenharmony_ci 303a8e1175bSopenharmony_cilibmbedx509.dll: $(OBJS_X509) libmbedcrypto.dll 304a8e1175bSopenharmony_ci echo " LD $@" 305a8e1175bSopenharmony_ci $(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_X509) -lws2_32 -lwinmm -lgdi32 -L. -lmbedcrypto -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS) 306a8e1175bSopenharmony_ci 307a8e1175bSopenharmony_ci# crypto 308a8e1175bSopenharmony_cilibmbedcrypto.a: $(OBJS_CRYPTO) 309a8e1175bSopenharmony_ci echo " AR $@" 310a8e1175bSopenharmony_ci $(AR) $(ARFLAGS) $@ $(OBJS_CRYPTO) 311a8e1175bSopenharmony_ciifdef APPLE_BUILD 312a8e1175bSopenharmony_ciifneq ($(APPLE_BUILD),0) 313a8e1175bSopenharmony_ci echo " RL $@" 314a8e1175bSopenharmony_ci $(RL) $(RLFLAGS) $@ 315a8e1175bSopenharmony_ciendif 316a8e1175bSopenharmony_ciendif 317a8e1175bSopenharmony_ci 318a8e1175bSopenharmony_cilibmbedcrypto.$(SOEXT_CRYPTO): $(OBJS_CRYPTO) 319a8e1175bSopenharmony_ci echo " LD $@" 320a8e1175bSopenharmony_ci $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_CRYPTO) $(LOCAL_LDFLAGS) $(LDFLAGS) 321a8e1175bSopenharmony_ci 322a8e1175bSopenharmony_ciifneq ($(SOEXT_CRYPTO),so) 323a8e1175bSopenharmony_cilibmbedcrypto.so: libmbedcrypto.$(SOEXT_CRYPTO) 324a8e1175bSopenharmony_ci echo " LN $@ -> $<" 325a8e1175bSopenharmony_ci ln -sf $< $@ 326a8e1175bSopenharmony_ciendif 327a8e1175bSopenharmony_ci 328a8e1175bSopenharmony_cilibmbedcrypto.dylib: $(OBJS_CRYPTO) 329a8e1175bSopenharmony_ci echo " LD $@" 330a8e1175bSopenharmony_ci $(CC) -dynamiclib -o $@ $(OBJS_CRYPTO) $(LOCAL_LDFLAGS) $(LDFLAGS) 331a8e1175bSopenharmony_ci 332a8e1175bSopenharmony_cilibmbedcrypto.dll: $(OBJS_CRYPTO) 333a8e1175bSopenharmony_ci echo " LD $@" 334a8e1175bSopenharmony_ci $(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_CRYPTO) -lws2_32 -lwinmm -lgdi32 -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS) 335a8e1175bSopenharmony_ci 336a8e1175bSopenharmony_ci.c.o: 337a8e1175bSopenharmony_ci echo " CC $<" 338a8e1175bSopenharmony_ci $(CC) $(LOCAL_CFLAGS) $(CFLAGS) -o $@ -c $< 339a8e1175bSopenharmony_ci 340a8e1175bSopenharmony_ci.PHONY: generated_files 341a8e1175bSopenharmony_cigenerated_files: $(GENERATED_FILES) 342a8e1175bSopenharmony_ci 343a8e1175bSopenharmony_ci# See root Makefile 344a8e1175bSopenharmony_ciGEN_FILES ?= 345a8e1175bSopenharmony_ciifdef GEN_FILES 346a8e1175bSopenharmony_cigen_file_dep = 347a8e1175bSopenharmony_cielse 348a8e1175bSopenharmony_cigen_file_dep = | 349a8e1175bSopenharmony_ciendif 350a8e1175bSopenharmony_ci 351a8e1175bSopenharmony_cierror.c: $(gen_file_dep) ../scripts/generate_errors.pl 352a8e1175bSopenharmony_cierror.c: $(gen_file_dep) ../scripts/data_files/error.fmt 353a8e1175bSopenharmony_cierror.c: $(gen_file_dep) $(filter-out %config%,$(wildcard ../include/mbedtls/*.h)) 354a8e1175bSopenharmony_cierror.c: 355a8e1175bSopenharmony_ci echo " Gen $@" 356a8e1175bSopenharmony_ci $(PERL) ../scripts/generate_errors.pl 357a8e1175bSopenharmony_ci 358a8e1175bSopenharmony_cissl_debug_helpers_generated.c: $(gen_file_dep) ../scripts/generate_ssl_debug_helpers.py 359a8e1175bSopenharmony_cissl_debug_helpers_generated.c: $(gen_file_dep) $(filter-out %config%,$(wildcard ../include/mbedtls/*.h)) 360a8e1175bSopenharmony_cissl_debug_helpers_generated.c: 361a8e1175bSopenharmony_ci echo " Gen $@" 362a8e1175bSopenharmony_ci $(PYTHON) ../scripts/generate_ssl_debug_helpers.py --mbedtls-root .. . 363a8e1175bSopenharmony_ci 364a8e1175bSopenharmony_civersion_features.c: $(gen_file_dep) ../scripts/generate_features.pl 365a8e1175bSopenharmony_civersion_features.c: $(gen_file_dep) ../scripts/data_files/version_features.fmt 366a8e1175bSopenharmony_ci## The generated file only depends on the options that are present in mbedtls_config.h, 367a8e1175bSopenharmony_ci## not on which options are set. To avoid regenerating this file all the time 368a8e1175bSopenharmony_ci## when switching between configurations, don't declare mbedtls_config.h as a 369a8e1175bSopenharmony_ci## dependency. Remove this file from your working tree if you've just added or 370a8e1175bSopenharmony_ci## removed an option in mbedtls_config.h. 371a8e1175bSopenharmony_ci#version_features.c: ../include/mbedtls/mbedtls_config.h 372a8e1175bSopenharmony_civersion_features.c: 373a8e1175bSopenharmony_ci echo " Gen $@" 374a8e1175bSopenharmony_ci $(PERL) ../scripts/generate_features.pl 375a8e1175bSopenharmony_ci 376a8e1175bSopenharmony_ciGENERATED_WRAPPER_FILES = \ 377a8e1175bSopenharmony_ci psa_crypto_driver_wrappers.h \ 378a8e1175bSopenharmony_ci psa_crypto_driver_wrappers_no_static.c 379a8e1175bSopenharmony_ci$(GENERATED_WRAPPER_FILES): ../scripts/generate_driver_wrappers.py 380a8e1175bSopenharmony_ci$(GENERATED_WRAPPER_FILES): ../scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja 381a8e1175bSopenharmony_ci$(GENERATED_WRAPPER_FILES): ../scripts/data_files/driver_templates/psa_crypto_driver_wrappers_no_static.c.jinja 382a8e1175bSopenharmony_ci$(GENERATED_WRAPPER_FILES): 383a8e1175bSopenharmony_ci echo " Gen $(GENERATED_WRAPPER_FILES)" 384a8e1175bSopenharmony_ci $(PYTHON) ../scripts/generate_driver_wrappers.py 385a8e1175bSopenharmony_ci 386a8e1175bSopenharmony_cipsa_crypto.o:psa_crypto_driver_wrappers.h 387a8e1175bSopenharmony_ci 388a8e1175bSopenharmony_ciclean: 389a8e1175bSopenharmony_ciifndef WINDOWS 390a8e1175bSopenharmony_ci rm -f *.o libmbed* 391a8e1175bSopenharmony_ci rm -f $(THIRDPARTY_CRYPTO_OBJECTS) 392a8e1175bSopenharmony_cielse 393a8e1175bSopenharmony_ci if exist *.o del /Q /F *.o 394a8e1175bSopenharmony_ci if exist libmbed* del /Q /F libmbed* 395a8e1175bSopenharmony_ci del /Q /F del_errors_out_if_the_file_list_is_empty_but_not_if_a_file_does_not_exist $(subst /,\,$(THIRDPARTY_CRYPTO_OBJECTS)) 396a8e1175bSopenharmony_ciendif 397a8e1175bSopenharmony_ci 398a8e1175bSopenharmony_cineat: clean 399a8e1175bSopenharmony_ciifndef WINDOWS 400a8e1175bSopenharmony_ci rm -f $(GENERATED_FILES) 401a8e1175bSopenharmony_cielse 402a8e1175bSopenharmony_ci for %f in ($(subst /,\,$(GENERATED_FILES))) if exist %f del /Q /F %f 403a8e1175bSopenharmony_ciendif 404