# This makefile has been automatically generated from the OpenSSL distribution.
# This single makefile will build the complete OpenSSL distribution and
# by default leave the 'intertesting' output files in .\out and the stuff
# that needs deleting in .\tmp.
# The file was generated by running 'make makefile.one', which
# does a 'make files', which writes all the environment variables from all
# the makefiles to the file call MINFO.  This file is used by
# util\mk1mf.pl to generate makefile.one.
# The 'makefile per directory' system suites me when developing this
# library and also so I can 'distribute' indervidual library sections.
# The one monster makefile better suits building in non-unix
# environments.

# The makefile was further modified for WinSCP build.

!include ../Makefile.inc

# Set your compiler options

CFLAG_WARNINGS=-Wno-incompatible-function-pointer-types -Wno-deprecated-declarations
CFLAG=$(CFLAG_COMMON) $(CFLAG_WARNINGS)

DEFINES=AES_ASM;MD5_ASM;OPENSSL_BN_ASM_GF2m;OPENSSL_BN_ASM_MONT;SHA1_ASM;SHA256_ASM;SHA512_ASM
DEFINES=$(DEFINES);DES_ASM;RMD160_ASM;OPENSSL_BN_ASM_PART_WORDS
DEFINES=$(DEFINES);OPENSSL_SYS_WIN32

DEFINES=$(DEFINES);OPENSSL_NO_CAMELLIA;OPENSSL_NO_RC5;OPENSSL_NO_MDC2;OPENSSL_NO_WHIRLPOOL
DEFINES=$(DEFINES);OPENSSL_NO_SEED;OPENSSL_NO_CAPIENG;OPENSSL_NO_ENGINE
DEFINES=$(DEFINES);OPENSSL_NO_QUIC;OPENSSL_NO_COMP;OPENSSL_NO_QLOG;OPENSSL_NO_DGRAM;OPENSSL_NO_TS
DEFINES=$(DEFINES);WINSCP

CFLAG=$(CFLAG) $(CFLAG_OPENSSL) -D$(DEFINES:;= -D)

# Copied from OpenSSL "makefile" generated with "perl Configure BC-32 --prefix=%CD%"
# (but the OPENSSL_BUILDING_OPENSSL, _stricmp and _strnicmp are not needed)
# (and DSO_WIN32 removed as it clashes with dso_conf.h)
# (and L_ENDIAN is determined automatically in endian.h)
CFLAG= $(CFLAG) \
    -D"OPENSSL_BUILDING_OPENSSL" -D"WIN32_LEAN_AND_MEAN" -D"L_ENDIAN" \
    -D"_stricmp=stricmp" -D"_strnicmp=strnicmp" -D"_malloca=malloc" -D"_freea=free" -D"_setmode=setmode" \
    -D"NDEBUG"

# The OpenSSL directory
SRC_D=.

# The output directory for everything intersting
OUT_D=$(LIB_PATH)
# The output directory for all the temporary muck
TMP_D=tmp
INCO_D=openssl

CP=copy
RM=del
MKDIR=-mkdir

ASM_ARG=-d__omf__ -f obj

ASM=$(BUILDTOOLS)\tools\nasm $(ASM_ARG) -DWINSCP

######################################################
# You should not need to touch anything below this point
######################################################

SSL=ssleay32
CRYPTO=libeay32

# OBJ_D  - temp object file directory
OBJ_D=$(TMP_D)

O_SSL=     $(OUT_D)\$(SSL).lib
O_CRYPTO=  $(OUT_D)\$(CRYPTO).lib

######################################################
# Don't touch anything below this point
######################################################

INC=-Iinclude -Icommon\include \
    -Iproviders\implementations\include -Iproviders\common\include \
    -Iproviders\fips\include \
    -I.
LIB_CFLAGS=$(CFLAG) $(INC)
LIBS_DEP=$(O_CRYPTO) $(O_SSL)

#############################################
SSLOBJ= \
    $(OBJ_D)\s3_lib.obj $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_msg.obj \
    $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj \
    $(OBJ_D)\tls_srp.obj \
    $(OBJ_D)\tls13_enc.obj \
    $(OBJ_D)\d1_srtp.obj $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_msg.obj \
    $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \
    $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj $(OBJ_D)\ssl_txt.obj \
    $(OBJ_D)\ssl_init.obj $(OBJ_D)\ssl_mcnf.obj \
    $(OBJ_D)\bio_ssl.obj \
    $(OBJ_D)\pqueue.obj $(OBJ_D)\methods.obj \
    $(OBJ_D)\ssl_conf.obj \
    $(OBJ_D)\tls_depr.obj \
    $(OBJ_D)\ssl_cert_comp.obj \
    $(OBJ_D)\statem.obj \
    $(OBJ_D)\statem_clnt.obj $(OBJ_D)\statem_dtls.obj $(OBJ_D)\statem_lib.obj $(OBJ_D)\statem_srvr.obj \
    $(OBJ_D)\extensions.obj \
    $(OBJ_D)\extensions_clnt.obj $(OBJ_D)\extensions_cust.obj $(OBJ_D)\extensions_srvr.obj \
    $(OBJ_D)\rec_layer_s3.obj $(OBJ_D)\rec_layer_d1.obj \
    $(OBJ_D)\ssl3_cbc.obj \
    $(OBJ_D)\tls_pad.obj \
    $(OBJ_D)\dtls_meth.obj \
    $(OBJ_D)\tls_common.obj \
    $(OBJ_D)\tlsany_meth.obj \
    $(OBJ_D)\tls13_meth.obj \
    $(OBJ_D)\tls1_meth.obj \
    $(OBJ_D)\ssl3_meth.obj \
    $(OBJ_D)\tls_multib.obj \
    $(OBJ_D)\quic_tls.obj

CRYPTOOBJ= \
    $(OBJ_D)\cryptlib.obj $(OBJ_D)\ctype.obj $(OBJ_D)\init.obj $(OBJ_D)\mem.obj \
    $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj $(OBJ_D)\uid.obj \
    $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fopen.obj \
    $(OBJ_D)\getenv.obj $(OBJ_D)\mem_sec.obj $(OBJ_D)\threads_win.obj $(OBJ_D)\packet.obj \
    $(OBJ_D)\bsearch.obj $(OBJ_D)\context.obj $(OBJ_D)\cpuid.obj $(OBJ_D)\initthread.obj \
    $(OBJ_D)\param_build_set.obj $(OBJ_D)\params.obj $(OBJ_D)\params_dup.obj $(OBJ_D)\params_idx.obj \
    $(OBJ_D)\sparse_array.obj $(OBJ_D)\provider.obj $(OBJ_D)\provider_core.obj $(OBJ_D)\provider_conf.obj \
    $(OBJ_D)\provider_child.obj $(OBJ_D)\provider_predefined.obj $(OBJ_D)\core_algorithm.obj $(OBJ_D)\core_namemap.obj \
    $(OBJ_D)\core_fetch.obj $(OBJ_D)\asn1_dsa.obj $(OBJ_D)\self_test_core.obj $(OBJ_D)\passphrase.obj \
    $(OBJ_D)\punycode.obj $(OBJ_D)\param_build.obj $(OBJ_D)\params_from_text.obj $(OBJ_D)\trace.obj \
    $(OBJ_D)\der_writer.obj $(OBJ_D)\sleep.obj $(OBJ_D)\deterministic_nonce.obj $(OBJ_D)\time.obj \
    $(OBJ_D)\ssl_err.obj $(OBJ_D)\defaults.obj $(OBJ_D)\comp_methods.obj $(OBJ_D)\indicator_core.obj \
    $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj \
    $(OBJ_D)\md5_dgst.obj $(OBJ_D)\md5_one.obj $(OBJ_D)\md5_sha1.obj \
    $(OBJ_D)\cbc128.obj $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\ccm128.obj \
    $(OBJ_D)\gcm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\xts128gb.obj $(OBJ_D)\wrap128.obj \
    $(OBJ_D)\ctr128.obj $(OBJ_D)\ocb128.obj $(OBJ_D)\siv128.obj \
    $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha1_one.obj $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj \
    $(OBJ_D)\sha3.obj \
    $(OBJ_D)\hmac.obj \
    $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \
    $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \
    $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj \
    $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj \
    $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\cbc_cksm.obj \
    $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj \
    $(OBJ_D)\rc2ofb64.obj \
    $(OBJ_D)\i_cbc.obj $(OBJ_D)\i_cfb64.obj $(OBJ_D)\i_ofb64.obj $(OBJ_D)\i_ecb.obj \
    $(OBJ_D)\i_skey.obj \
    $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \
    $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \
    $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \
    $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \
    $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj \
    $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \
    $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \
    $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj \
    $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \
    $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj \
    $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_intern.obj $(OBJ_D)\bn_dh.obj \
    $(OBJ_D)\bn_srp.obj $(OBJ_D)\bn_conv.obj $(OBJ_D)\bn_rsa_fips186_4.obj \
    $(OBJ_D)\rsa_ossl.obj $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \
    $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_none.obj \
    $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \
    $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \
    $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_mp.obj $(OBJ_D)\rsa_backend.obj $(OBJ_D)\rsa_sp800_56b_check.obj \
    $(OBJ_D)\rsa_sp800_56b_gen.obj $(OBJ_D)\rsa_mp_names.obj $(OBJ_D)\rsa_schemes.obj \
    $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj \
    $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \
    $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_backend.obj \
    $(OBJ_D)\dsa_check.obj \
    $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj \
    $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj \
    $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj \
    $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_pmeth.obj \
    $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj $(OBJ_D)\dh_backend.obj \
    $(OBJ_D)\dh_group_params.obj \
    $(OBJ_D)\buffer.obj $(OBJ_D)\buf_err.obj \
    $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj \
    $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj \
    $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bf_prefix.obj \
    $(OBJ_D)\bf_readbuff.obj $(OBJ_D)\bio_addr.obj $(OBJ_D)\bio_dump.obj $(OBJ_D)\bio_meth.obj \
    $(OBJ_D)\bio_print.obj $(OBJ_D)\bio_sock.obj $(OBJ_D)\bio_sock2.obj $(OBJ_D)\bss_bio.obj \
    $(OBJ_D)\bss_conn.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bss_core.obj \
    $(OBJ_D)\ossl_core_bio.obj \
    $(OBJ_D)\stack.obj \
    $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj \
    $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_pool.obj \
    $(OBJ_D)\rand_meth.obj $(OBJ_D)\prov_seed.obj $(OBJ_D)\rand_uniform.obj \
    $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj $(OBJ_D)\err_blocks.obj \
    $(OBJ_D)\err_mark.obj $(OBJ_D)\err_save.obj \
    $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj \
    $(OBJ_D)\obj_xref.obj \
    $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj \
    $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj \
    $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \
    $(OBJ_D)\names.obj $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \
    $(OBJ_D)\m_null.obj $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj \
    $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \
    $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj \
    $(OBJ_D)\e_null.obj $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \
    $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj \
    $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_gn.obj \
    $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\pbe_scrypt.obj $(OBJ_D)\evp_cnf.obj \
    $(OBJ_D)\e_aria.obj $(OBJ_D)\e_chacha20_poly1305.obj $(OBJ_D)\e_sm4.obj $(OBJ_D)\evp_rand.obj \
    $(OBJ_D)\evp_utils.obj $(OBJ_D)\evp_fetch.obj $(OBJ_D)\keymgmt_meth.obj $(OBJ_D)\keymgmt_lib.obj \
    $(OBJ_D)\ec_support.obj $(OBJ_D)\legacy_sha.obj $(OBJ_D)\signature.obj $(OBJ_D)\asymcipher.obj \
    $(OBJ_D)\legacy_md5.obj $(OBJ_D)\p_legacy.obj $(OBJ_D)\kdf_meth.obj $(OBJ_D)\ctrl_params_translate.obj \
    $(OBJ_D)\exchange.obj $(OBJ_D)\kem.obj $(OBJ_D)\dh_ctrl.obj $(OBJ_D)\dsa_ctrl.obj \
    $(OBJ_D)\ec_ctrl.obj $(OBJ_D)\legacy_md4.obj $(OBJ_D)\legacy_md5_sha1.obj $(OBJ_D)\legacy_ripemd.obj \
    $(OBJ_D)\kdf_lib.obj $(OBJ_D)\dh_support.obj $(OBJ_D)\pmeth_check.obj $(OBJ_D)\legacy_blake2.obj \
    $(OBJ_D)\mac_lib.obj $(OBJ_D)\mac_meth.obj $(OBJ_D)\s_lib.obj $(OBJ_D)\skeymgmt_meth.obj \
    $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj \
    $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \
    $(OBJ_D)\a_type.obj $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj \
    $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj \
    $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\x_algor.obj \
    $(OBJ_D)\x_val.obj $(OBJ_D)\x_sig.obj $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj \
    $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj $(OBJ_D)\d2i_pu.obj \
    $(OBJ_D)\d2i_pr.obj $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \
    $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj \
    $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj $(OBJ_D)\f_int.obj \
    $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\x_pkey.obj $(OBJ_D)\asn_mime.obj \
    $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_parse.obj $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj \
    $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj \
    $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj \
    $(OBJ_D)\asn_moid.obj $(OBJ_D)\p5_scrypt.obj $(OBJ_D)\asn_mstbl.obj $(OBJ_D)\x_int64.obj \
    $(OBJ_D)\i2d_evp.obj \
    $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj \
    $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \
    $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \
    $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj \
    $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj \
    $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \
    $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj \
    $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj \
    $(OBJ_D)\x509_trust.obj $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \
    $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_name.obj \
    $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj $(OBJ_D)\t_req.obj \
    $(OBJ_D)\t_x509.obj $(OBJ_D)\t_crl.obj $(OBJ_D)\x_exten.obj $(OBJ_D)\by_store.obj \
    $(OBJ_D)\x509_acert.obj $(OBJ_D)\v3_audit_id.obj $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj \
    $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \
    $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj \
    $(OBJ_D)\v3_san.obj $(OBJ_D)\v3_skid.obj $(OBJ_D)\v3_akid.obj $(OBJ_D)\v3_pku.obj \
    $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \
    $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_akeya.obj \
    $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \
    $(OBJ_D)\v3_pci.obj $(OBJ_D)\v3_ac_tgt.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \
    $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj \
    $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_tlsf.obj $(OBJ_D)\v3_admis.obj \
    $(OBJ_D)\v3_utf8.obj $(OBJ_D)\v3_ist.obj $(OBJ_D)\v3_no_rev_avail.obj $(OBJ_D)\v3_soa_id.obj \
    $(OBJ_D)\v3_ind_iss.obj $(OBJ_D)\v3_no_ass.obj $(OBJ_D)\v3_single_use.obj $(OBJ_D)\v3_group_ac.obj \
    $(OBJ_D)\v3_aaa.obj $(OBJ_D)\v3_attrdesc.obj $(OBJ_D)\v3_attrmap.obj $(OBJ_D)\v3_authattid.obj \
    $(OBJ_D)\v3_battcons.obj $(OBJ_D)\v3_iobo.obj $(OBJ_D)\v3_rolespec.obj $(OBJ_D)\v3_sda.obj \
    $(OBJ_D)\v3_timespec.obj $(OBJ_D)\v3_usernotice.obj \
    $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj \
    $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj $(OBJ_D)\conf_ssl.obj \
    $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \
    $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \
    $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj \
    $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \
    $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj \
    $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj $(OBJ_D)\p12_sbag.obj \
    $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \
    $(OBJ_D)\cmac.obj \
    $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_http.obj $(OBJ_D)\ocsp_lib.obj \
    $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj \
    $(OBJ_D)\ocsp_err.obj $(OBJ_D)\v3_ocsp.obj \
    $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj \
    $(OBJ_D)\ui_null.obj \
    $(OBJ_D)\o_init.obj \
    $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj \
    $(OBJ_D)\txt_db.obj \
    $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_cvt.obj \
    $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_key.obj $(OBJ_D)\ec_lib.obj \
    $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_oct.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\ec_print.obj \
    $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_mont.obj \
    $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecdh_ossl.obj \
    $(OBJ_D)\ec_kmeth.obj $(OBJ_D)\ecx_meth.obj $(OBJ_D)\ecdsa_ossl.obj $(OBJ_D)\curve25519.obj \
    $(OBJ_D)\ecdsa_sign.obj $(OBJ_D)\ecdsa_vrf.obj $(OBJ_D)\ec_backend.obj $(OBJ_D)\ecx_key.obj \
    $(OBJ_D)\ecx_backend.obj \
    $(OBJ_D)\eddsa.obj $(OBJ_D)\curve448.obj $(OBJ_D)\scalar.obj $(OBJ_D)\curve448_tables.obj \
    $(OBJ_D)\f_generic.obj \
    $(OBJ_D)\f_impl32.obj \
    $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_env.obj \
    $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_kari.obj $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_enc.obj \
    $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_att.obj \
    $(OBJ_D)\ct_oct.obj $(OBJ_D)\ct_prn.obj $(OBJ_D)\ct_err.obj $(OBJ_D)\ct_x509v3.obj \
    $(OBJ_D)\ct_sct.obj $(OBJ_D)\ct_log.obj $(OBJ_D)\ct_policy.obj $(OBJ_D)\ct_sct_ctx.obj \
    $(OBJ_D)\ct_b64.obj $(OBJ_D)\ct_vfy.obj \
    $(OBJ_D)\async.obj $(OBJ_D)\async_err.obj $(OBJ_D)\async_wait.obj \
    $(OBJ_D)\async_win.obj \
    $(OBJ_D)\ecdh_kdf.obj \
    $(OBJ_D)\store_lib.obj $(OBJ_D)\store_init.obj $(OBJ_D)\store_register.obj $(OBJ_D)\store_err.obj \
    $(OBJ_D)\store_meth.obj $(OBJ_D)\store_result.obj \
    $(OBJ_D)\aria.obj \
    $(OBJ_D)\sm3.obj $(OBJ_D)\legacy_sm3.obj \
    $(OBJ_D)\sm4.obj \
    $(OBJ_D)\poly1305.obj \
    $(OBJ_D)\siphash.obj \
    $(OBJ_D)\sm2_crypt.obj $(OBJ_D)\sm2_sign.obj $(OBJ_D)\sm2_key.obj \
    $(OBJ_D)\http_err.obj $(OBJ_D)\http_client.obj $(OBJ_D)\http_lib.obj \
    $(OBJ_D)\crmf_err.obj \
    $(OBJ_D)\cmp_err.obj $(OBJ_D)\cmp_util.obj \
    $(OBJ_D)\ess_err.obj \
    $(OBJ_D)\property_err.obj $(OBJ_D)\property.obj $(OBJ_D)\property_parse.obj $(OBJ_D)\property_string.obj \
    $(OBJ_D)\defn_cache.obj $(OBJ_D)\property_query.obj \
    $(OBJ_D)\decoder_meth.obj $(OBJ_D)\decoder_lib.obj $(OBJ_D)\decoder_pkey.obj $(OBJ_D)\encoder_meth.obj \
    $(OBJ_D)\encoder_lib.obj $(OBJ_D)\encoder_pkey.obj \
    $(OBJ_D)\ffc_params.obj $(OBJ_D)\ffc_params_validate.obj $(OBJ_D)\ffc_params_generate.obj $(OBJ_D)\ffc_key_generate.obj \
    $(OBJ_D)\ffc_key_validate.obj $(OBJ_D)\ffc_dh.obj $(OBJ_D)\ffc_backend.obj \
    $(OBJ_D)\hpke_util.obj \
    $(OBJ_D)\internal.obj $(OBJ_D)\arch.obj \
    $(OBJ_D)\thread_win.obj \
    $(OBJ_D)\hashtable.obj $(OBJ_D)\hashfunc.obj \
    $(OBJ_D)\slh_dsa_key.obj $(OBJ_D)\slh_adrs.obj $(OBJ_D)\slh_dsa_hash_ctx.obj $(OBJ_D)\slh_hash.obj \
    $(OBJ_D)\slh_params.obj $(OBJ_D)\slh_xmss.obj $(OBJ_D)\slh_dsa.obj $(OBJ_D)\slh_wots.obj \
    $(OBJ_D)\slh_fors.obj $(OBJ_D)\slh_hypertree.obj \
    $(OBJ_D)\ml_kem.obj \
    $(OBJ_D)\ml_dsa_encoders.obj $(OBJ_D)\ml_dsa_key.obj $(OBJ_D)\ml_dsa_params.obj $(OBJ_D)\ml_dsa_key_compress.obj \
    $(OBJ_D)\ml_dsa_matrix.obj $(OBJ_D)\ml_dsa_ntt.obj $(OBJ_D)\ml_dsa_sample.obj $(OBJ_D)\ml_dsa_sign.obj \
    $(OBJ_D)\prov_running.obj $(OBJ_D)\nullprov.obj $(OBJ_D)\baseprov.obj $(OBJ_D)\defltprov.obj \
    $(OBJ_D)\bio_prov.obj $(OBJ_D)\digest_to_nid.obj $(OBJ_D)\provider_err.obj $(OBJ_D)\provider_ctx.obj \
    $(OBJ_D)\provider_util.obj $(OBJ_D)\provider_seeding.obj $(OBJ_D)\securitycheck.obj $(OBJ_D)\securitycheck_default.obj \
    $(OBJ_D)\capabilities.obj \
    $(OBJ_D)\der_dsa_key.obj $(OBJ_D)\der_dsa_sig.obj $(OBJ_D)\der_ec_key.obj $(OBJ_D)\der_ec_sig.obj \
    $(OBJ_D)\der_ecx_key.obj $(OBJ_D)\der_rsa_key.obj $(OBJ_D)\der_rsa_sig.obj $(OBJ_D)\der_sm2_key.obj \
    $(OBJ_D)\der_sm2_sig.obj $(OBJ_D)\der_digests_gen.obj $(OBJ_D)\der_dsa_gen.obj $(OBJ_D)\der_ec_gen.obj \
    $(OBJ_D)\der_ecx_gen.obj $(OBJ_D)\der_rsa_gen.obj $(OBJ_D)\der_sm2_gen.obj $(OBJ_D)\der_wrap_gen.obj \
    $(OBJ_D)\der_ml_dsa_key.obj $(OBJ_D)\der_slh_dsa_key.obj $(OBJ_D)\der_slh_dsa_gen.obj $(OBJ_D)\der_ml_dsa_gen.obj \
    $(OBJ_D)\blake2_prov.obj $(OBJ_D)\blake2b_prov.obj $(OBJ_D)\blake2s_prov.obj $(OBJ_D)\digestcommon.obj \
    $(OBJ_D)\sha2_prov.obj $(OBJ_D)\sha3_prov.obj $(OBJ_D)\sm3_prov.obj $(OBJ_D)\md5_prov.obj \
    $(OBJ_D)\ripemd_prov.obj $(OBJ_D)\md5_sha1_prov.obj $(OBJ_D)\null_prov.obj \
    $(OBJ_D)\drbg.obj $(OBJ_D)\drbg_ctr.obj $(OBJ_D)\drbg_hash.obj $(OBJ_D)\drbg_hmac.obj \
    $(OBJ_D)\seed_src.obj $(OBJ_D)\test_rng.obj \
    $(OBJ_D)\ciphercommon_block.obj $(OBJ_D)\ciphercommon_hw.obj $(OBJ_D)\ciphercommon_gcm.obj $(OBJ_D)\ciphercommon_gcm_hw.obj \
    $(OBJ_D)\ciphercommon_ccm.obj $(OBJ_D)\ciphercommon_ccm_hw.obj $(OBJ_D)\cipher_null.obj $(OBJ_D)\cipher_aes.obj \
    $(OBJ_D)\ciphercommon.obj $(OBJ_D)\cipher_cts.obj $(OBJ_D)\cipher_aes_hw.obj $(OBJ_D)\cipher_aria.obj \
    $(OBJ_D)\cipher_aria_ccm.obj $(OBJ_D)\cipher_aria_ccm_hw.obj $(OBJ_D)\cipher_aes_xts.obj $(OBJ_D)\cipher_aes_xts_hw.obj \
    $(OBJ_D)\cipher_aes_ocb.obj $(OBJ_D)\cipher_aes_ocb_hw.obj $(OBJ_D)\cipher_aes_siv.obj $(OBJ_D)\cipher_aes_siv_hw.obj \
    $(OBJ_D)\cipher_aes_gcm.obj $(OBJ_D)\cipher_aes_gcm_hw.obj $(OBJ_D)\cipher_aes_gcm_siv.obj $(OBJ_D)\cipher_aes_gcm_siv_hw.obj \
    $(OBJ_D)\cipher_aes_gcm_siv_polyval.obj $(OBJ_D)\cipher_aes_ccm.obj $(OBJ_D)\cipher_aes_ccm_hw.obj $(OBJ_D)\cipher_aes_wrp.obj \
    $(OBJ_D)\cipher_aes_cbc_hmac_sha.obj $(OBJ_D)\cipher_aes_cbc_hmac_sha1_hw.obj $(OBJ_D)\cipher_aes_cbc_hmac_sha256_hw.obj $(OBJ_D)\cipher_aes_xts_fips.obj \
    $(OBJ_D)\cipher_aria_gcm.obj $(OBJ_D)\cipher_aria_gcm_hw.obj $(OBJ_D)\cipher_aria_hw.obj $(OBJ_D)\cipher_tdes.obj \
    $(OBJ_D)\cipher_tdes_common.obj $(OBJ_D)\cipher_tdes_default.obj $(OBJ_D)\cipher_tdes_default_hw.obj $(OBJ_D)\cipher_tdes_hw.obj \
    $(OBJ_D)\cipher_tdes_wrap.obj $(OBJ_D)\cipher_tdes_wrap_hw.obj $(OBJ_D)\cipher_sm4.obj $(OBJ_D)\cipher_sm4_ccm.obj \
    $(OBJ_D)\cipher_sm4_gcm.obj $(OBJ_D)\cipher_sm4_ccm_hw.obj $(OBJ_D)\cipher_sm4_gcm_hw.obj $(OBJ_D)\cipher_sm4_hw.obj \
    $(OBJ_D)\cipher_sm4_xts.obj $(OBJ_D)\cipher_sm4_xts_hw.obj $(OBJ_D)\cipher_chacha20.obj $(OBJ_D)\cipher_chacha20_hw.obj \
    $(OBJ_D)\cipher_chacha20_poly1305.obj $(OBJ_D)\cipher_chacha20_poly1305_hw.obj \
    $(OBJ_D)\blake2b_mac.obj $(OBJ_D)\blake2s_mac.obj $(OBJ_D)\cmac_prov.obj $(OBJ_D)\gmac_prov.obj \
    $(OBJ_D)\hmac_prov.obj $(OBJ_D)\kmac_prov.obj $(OBJ_D)\poly1305_prov.obj $(OBJ_D)\siphash_prov.obj \
    $(OBJ_D)\hkdf.obj $(OBJ_D)\kbkdf.obj $(OBJ_D)\krb5kdf.obj $(OBJ_D)\pbkdf2.obj \
    $(OBJ_D)\pbkdf2_fips.obj $(OBJ_D)\pkcs12kdf.obj $(OBJ_D)\scrypt.obj $(OBJ_D)\sshkdf.obj \
    $(OBJ_D)\sskdf.obj $(OBJ_D)\tls1_prf.obj $(OBJ_D)\x942kdf.obj $(OBJ_D)\hmacdrbg_kdf.obj \
    $(OBJ_D)\argon2.obj \
    $(OBJ_D)\dh_exch.obj $(OBJ_D)\ecdh_exch.obj $(OBJ_D)\ecx_exch.obj $(OBJ_D)\kdf_exch.obj \
    $(OBJ_D)\dsa_sig.obj $(OBJ_D)\ecdsa_sig.obj $(OBJ_D)\eddsa_sig.obj $(OBJ_D)\mac_legacy_sig.obj \
    $(OBJ_D)\rsa_sig.obj $(OBJ_D)\sm2_sig.obj $(OBJ_D)\ml_dsa_sig.obj $(OBJ_D)\slh_dsa_sig.obj \
    $(OBJ_D)\rsa_enc.obj $(OBJ_D)\sm2_enc.obj \
    $(OBJ_D)\rsa_kem.obj $(OBJ_D)\ec_kem.obj $(OBJ_D)\kem_util.obj $(OBJ_D)\ecx_kem.obj \
    $(OBJ_D)\mlx_kem.obj $(OBJ_D)\ml_kem_kem.obj \
    $(OBJ_D)\dh_kmgmt.obj $(OBJ_D)\dsa_kmgmt.obj $(OBJ_D)\ec_kmgmt.obj $(OBJ_D)\ecx_kmgmt.obj \
    $(OBJ_D)\kdf_legacy_kmgmt.obj $(OBJ_D)\mac_legacy_kmgmt.obj $(OBJ_D)\rsa_kmgmt.obj $(OBJ_D)\mlx_kmgmt.obj \
    $(OBJ_D)\ml_dsa_kmgmt.obj $(OBJ_D)\ml_kem_kmgmt.obj $(OBJ_D)\slh_dsa_kmgmt.obj \
    $(OBJ_D)\decode_der2key.obj $(OBJ_D)\decode_epki2pki.obj $(OBJ_D)\decode_msblob2key.obj $(OBJ_D)\decode_pem2der.obj \
    $(OBJ_D)\decode_pvk2key.obj $(OBJ_D)\decode_spki2typespki.obj $(OBJ_D)\encode_key2any.obj $(OBJ_D)\encode_key2blob.obj \
    $(OBJ_D)\encode_key2ms.obj $(OBJ_D)\encode_key2text.obj $(OBJ_D)\endecoder_common.obj $(OBJ_D)\ml_dsa_codecs.obj \
    $(OBJ_D)\ml_kem_codecs.obj $(OBJ_D)\ml_common_codecs.obj \
    $(OBJ_D)\file_store.obj $(OBJ_D)\file_store_any2obj.obj $(OBJ_D)\winstore_store.obj \
    $(OBJ_D)\aes_skmgmt.obj $(OBJ_D)\generic.obj

CRYPTOOBJ32= \
    $(OBJ_D)\mem_clr.obj \
    $(OBJ_D)\chacha_enc.obj \
    $(OBJ_D)\rc4_enc.obj $(OBJ_D)\rc4_skey.obj \
    $(OBJ_D)\keccak1600.obj

CRYPTOOBJASM32= \
    $(OBJ_D)\des-586.obj \
    $(OBJ_D)\bf-586.obj \
    $(OBJ_D)\cast-586.obj \
    $(OBJ_D)\md5-586.obj \
    $(OBJ_D)\sha1-586.obj \
    $(OBJ_D)\bn-586.obj \
    $(OBJ_D)\x86-mont.obj \
    $(OBJ_D)\x86-gf2m.obj \
    $(OBJ_D)\co-586.obj \
    $(OBJ_D)\rmd-586.obj \
    $(OBJ_D)\sha256-586.obj \
    $(OBJ_D)\sha512-586.obj \
    $(OBJ_D)\aes-586.obj

CRYPTOOBJASM=$(CRYPTOOBJASM32)
CRYPTOOBJ=$(CRYPTOOBJ) $(CRYPTOOBJ32)

###################################################################
all: banner $(TMP_D) lib

banner:
    @echo Building OpenSSL

$(TMP_D):
    $(MKDIR) "$(TMP_D)"

lib: $(LIBS_DEP)

SSLSRC= \
    $(SRC_D)\ssl\s3_lib.c \
    $(SRC_D)\ssl\s3_enc.c \
    $(SRC_D)\ssl\s3_msg.c \
    $(SRC_D)\ssl\t1_lib.c \
    $(SRC_D)\ssl\t1_enc.c \
    $(SRC_D)\ssl\tls_srp.c \
    $(SRC_D)\ssl\tls13_enc.c \
    $(SRC_D)\ssl\d1_srtp.c \
    $(SRC_D)\ssl\d1_lib.c \
    $(SRC_D)\ssl\d1_msg.c \
    $(SRC_D)\ssl\ssl_lib.c \
    $(SRC_D)\ssl\ssl_cert.c \
    $(SRC_D)\ssl\ssl_sess.c \
    $(SRC_D)\ssl\ssl_ciph.c \
    $(SRC_D)\ssl\ssl_stat.c \
    $(SRC_D)\ssl\ssl_rsa.c \
    $(SRC_D)\ssl\ssl_asn1.c \
    $(SRC_D)\ssl\ssl_txt.c \
    $(SRC_D)\ssl\ssl_init.c \
    $(SRC_D)\ssl\ssl_mcnf.c \
    $(SRC_D)\ssl\bio_ssl.c \
    $(SRC_D)\ssl\pqueue.c \
    $(SRC_D)\ssl\methods.c \
    $(SRC_D)\ssl\ssl_conf.c \
    $(SRC_D)\ssl\tls_depr.c \
    $(SRC_D)\ssl\ssl_cert_comp.c \
    $(SRC_D)\ssl\statem\statem.c \
    $(SRC_D)\ssl\statem\statem_clnt.c \
    $(SRC_D)\ssl\statem\statem_dtls.c \
    $(SRC_D)\ssl\statem\statem_lib.c \
    $(SRC_D)\ssl\statem\statem_srvr.c \
    $(SRC_D)\ssl\statem\extensions.c \
    $(SRC_D)\ssl\statem\extensions_clnt.c \
    $(SRC_D)\ssl\statem\extensions_cust.c \
    $(SRC_D)\ssl\statem\extensions_srvr.c \
    $(SRC_D)\ssl\record\rec_layer_s3.c \
    $(SRC_D)\ssl\record\rec_layer_d1.c \
    $(SRC_D)\ssl\record\methods\ssl3_cbc.c \
    $(SRC_D)\ssl\record\methods\tls_pad.c \
    $(SRC_D)\ssl\record\methods\dtls_meth.c \
    $(SRC_D)\ssl\record\methods\tls_common.c \
    $(SRC_D)\ssl\record\methods\tlsany_meth.c \
    $(SRC_D)\ssl\record\methods\tls13_meth.c \
    $(SRC_D)\ssl\record\methods\tls1_meth.c \
    $(SRC_D)\ssl\record\methods\ssl3_meth.c \
    $(SRC_D)\ssl\record\methods\tls_multib.c \
    $(SRC_D)\ssl\quic\quic_tls.c

CRYPTOSRC= \
    $(SRC_D)\crypto\cryptlib.c \
    $(SRC_D)\crypto\ctype.c \
    $(SRC_D)\crypto\init.c \
    $(SRC_D)\crypto\mem.c \
    $(SRC_D)\crypto\ex_data.c \
    $(SRC_D)\crypto\cpt_err.c \
    $(SRC_D)\crypto\ebcdic.c \
    $(SRC_D)\crypto\uid.c \
    $(SRC_D)\crypto\o_time.c \
    $(SRC_D)\crypto\o_str.c \
    $(SRC_D)\crypto\o_dir.c \
    $(SRC_D)\crypto\o_fopen.c \
    $(SRC_D)\crypto\getenv.c \
    $(SRC_D)\crypto\mem_sec.c \
    $(SRC_D)\crypto\threads_win.c \
    $(SRC_D)\crypto\packet.c \
    $(SRC_D)\crypto\bsearch.c \
    $(SRC_D)\crypto\context.c \
    $(SRC_D)\crypto\cpuid.c \
    $(SRC_D)\crypto\initthread.c \
    $(SRC_D)\crypto\param_build_set.c \
    $(SRC_D)\crypto\params.c \
    $(SRC_D)\crypto\params_dup.c \
    $(SRC_D)\crypto\params_idx.c \
    $(SRC_D)\crypto\sparse_array.c \
    $(SRC_D)\crypto\provider.c \
    $(SRC_D)\crypto\provider_core.c \
    $(SRC_D)\crypto\provider_conf.c \
    $(SRC_D)\crypto\provider_child.c \
    $(SRC_D)\crypto\provider_predefined.c \
    $(SRC_D)\crypto\core_algorithm.c \
    $(SRC_D)\crypto\core_namemap.c \
    $(SRC_D)\crypto\core_fetch.c \
    $(SRC_D)\crypto\asn1_dsa.c \
    $(SRC_D)\crypto\self_test_core.c \
    $(SRC_D)\crypto\passphrase.c \
    $(SRC_D)\crypto\punycode.c \
    $(SRC_D)\crypto\param_build.c \
    $(SRC_D)\crypto\params_from_text.c \
    $(SRC_D)\crypto\trace.c \
    $(SRC_D)\crypto\der_writer.c \
    $(SRC_D)\crypto\sleep.c \
    $(SRC_D)\crypto\deterministic_nonce.c \
    $(SRC_D)\crypto\time.c \
    $(SRC_D)\crypto\ssl_err.c \
    $(SRC_D)\crypto\defaults.c \
    $(SRC_D)\crypto\comp_methods.c \
    $(SRC_D)\crypto\indicator_core.c \
    $(SRC_D)\crypto\md4\md4_dgst.c \
    $(SRC_D)\crypto\md4\md4_one.c \
    $(SRC_D)\crypto\md5\md5_dgst.c \
    $(SRC_D)\crypto\md5\md5_one.c \
    $(SRC_D)\crypto\md5\md5_sha1.c \
    $(SRC_D)\crypto\modes\cbc128.c \
    $(SRC_D)\crypto\modes\cfb128.c \
    $(SRC_D)\crypto\modes\ofb128.c \
    $(SRC_D)\crypto\modes\ccm128.c \
    $(SRC_D)\crypto\modes\gcm128.c \
    $(SRC_D)\crypto\modes\xts128.c \
    $(SRC_D)\crypto\modes\xts128gb.c \
    $(SRC_D)\crypto\modes\wrap128.c \
    $(SRC_D)\crypto\modes\ctr128.c \
    $(SRC_D)\crypto\modes\ocb128.c \
    $(SRC_D)\crypto\modes\siv128.c \
    $(SRC_D)\crypto\sha\sha1dgst.c \
    $(SRC_D)\crypto\sha\sha1_one.c \
    $(SRC_D)\crypto\sha\sha256.c \
    $(SRC_D)\crypto\sha\sha512.c \
    $(SRC_D)\crypto\sha\sha3.c \
    $(SRC_D)\crypto\hmac\hmac.c \
    $(SRC_D)\crypto\ripemd\rmd_dgst.c \
    $(SRC_D)\crypto\ripemd\rmd_one.c \
    $(SRC_D)\crypto\des\set_key.c \
    $(SRC_D)\crypto\des\ecb_enc.c \
    $(SRC_D)\crypto\des\cbc_enc.c \
    $(SRC_D)\crypto\des\ecb3_enc.c \
    $(SRC_D)\crypto\des\cfb64enc.c \
    $(SRC_D)\crypto\des\cfb64ede.c \
    $(SRC_D)\crypto\des\cfb_enc.c \
    $(SRC_D)\crypto\des\ofb64ede.c \
    $(SRC_D)\crypto\des\ofb64enc.c \
    $(SRC_D)\crypto\des\ofb_enc.c \
    $(SRC_D)\crypto\des\str2key.c \
    $(SRC_D)\crypto\des\pcbc_enc.c \
    $(SRC_D)\crypto\des\qud_cksm.c \
    $(SRC_D)\crypto\des\rand_key.c \
    $(SRC_D)\crypto\des\xcbc_enc.c \
    $(SRC_D)\crypto\des\cbc_cksm.c \
    $(SRC_D)\crypto\rc2\rc2_ecb.c \
    $(SRC_D)\crypto\rc2\rc2_skey.c \
    $(SRC_D)\crypto\rc2\rc2_cbc.c \
    $(SRC_D)\crypto\rc2\rc2cfb64.c \
    $(SRC_D)\crypto\rc2\rc2ofb64.c \
    $(SRC_D)\crypto\idea\i_cbc.c \
    $(SRC_D)\crypto\idea\i_cfb64.c \
    $(SRC_D)\crypto\idea\i_ofb64.c \
    $(SRC_D)\crypto\idea\i_ecb.c \
    $(SRC_D)\crypto\idea\i_skey.c \
    $(SRC_D)\crypto\bf\bf_skey.c \
    $(SRC_D)\crypto\bf\bf_ecb.c \
    $(SRC_D)\crypto\bf\bf_cfb64.c \
    $(SRC_D)\crypto\bf\bf_ofb64.c \
    $(SRC_D)\crypto\cast\c_skey.c \
    $(SRC_D)\crypto\cast\c_ecb.c \
    $(SRC_D)\crypto\cast\c_cfb64.c \
    $(SRC_D)\crypto\cast\c_ofb64.c \
    $(SRC_D)\crypto\aes\aes_misc.c \
    $(SRC_D)\crypto\aes\aes_ecb.c \
    $(SRC_D)\crypto\aes\aes_cfb.c \
    $(SRC_D)\crypto\aes\aes_ofb.c \
    $(SRC_D)\crypto\aes\aes_ige.c \
    $(SRC_D)\crypto\aes\aes_wrap.c \
    $(SRC_D)\crypto\bn\bn_add.c \
    $(SRC_D)\crypto\bn\bn_div.c \
    $(SRC_D)\crypto\bn\bn_exp.c \
    $(SRC_D)\crypto\bn\bn_lib.c \
    $(SRC_D)\crypto\bn\bn_ctx.c \
    $(SRC_D)\crypto\bn\bn_mul.c \
    $(SRC_D)\crypto\bn\bn_mod.c \
    $(SRC_D)\crypto\bn\bn_print.c \
    $(SRC_D)\crypto\bn\bn_rand.c \
    $(SRC_D)\crypto\bn\bn_shift.c \
    $(SRC_D)\crypto\bn\bn_word.c \
    $(SRC_D)\crypto\bn\bn_blind.c \
    $(SRC_D)\crypto\bn\bn_kron.c \
    $(SRC_D)\crypto\bn\bn_sqrt.c \
    $(SRC_D)\crypto\bn\bn_gcd.c \
    $(SRC_D)\crypto\bn\bn_prime.c \
    $(SRC_D)\crypto\bn\bn_err.c \
    $(SRC_D)\crypto\bn\bn_sqr.c \
    $(SRC_D)\crypto\bn\bn_recp.c \
    $(SRC_D)\crypto\bn\bn_mont.c \
    $(SRC_D)\crypto\bn\bn_mpi.c \
    $(SRC_D)\crypto\bn\bn_exp2.c \
    $(SRC_D)\crypto\bn\bn_gf2m.c \
    $(SRC_D)\crypto\bn\bn_nist.c \
    $(SRC_D)\crypto\bn\bn_depr.c \
    $(SRC_D)\crypto\bn\bn_const.c \
    $(SRC_D)\crypto\bn\bn_intern.c \
    $(SRC_D)\crypto\bn\bn_dh.c \
    $(SRC_D)\crypto\bn\bn_srp.c \
    $(SRC_D)\crypto\bn\bn_conv.c \
    $(SRC_D)\crypto\bn\bn_rsa_fips186_4.c \
    $(SRC_D)\crypto\rsa\rsa_ossl.c \
    $(SRC_D)\crypto\rsa\rsa_gen.c \
    $(SRC_D)\crypto\rsa\rsa_lib.c \
    $(SRC_D)\crypto\rsa\rsa_sign.c \
    $(SRC_D)\crypto\rsa\rsa_saos.c \
    $(SRC_D)\crypto\rsa\rsa_err.c \
    $(SRC_D)\crypto\rsa\rsa_pk1.c \
    $(SRC_D)\crypto\rsa\rsa_none.c \
    $(SRC_D)\crypto\rsa\rsa_oaep.c \
    $(SRC_D)\crypto\rsa\rsa_chk.c \
    $(SRC_D)\crypto\rsa\rsa_pss.c \
    $(SRC_D)\crypto\rsa\rsa_x931.c \
    $(SRC_D)\crypto\rsa\rsa_asn1.c \
    $(SRC_D)\crypto\rsa\rsa_depr.c \
    $(SRC_D)\crypto\rsa\rsa_pmeth.c \
    $(SRC_D)\crypto\rsa\rsa_crpt.c \
    $(SRC_D)\crypto\rsa\rsa_ameth.c \
    $(SRC_D)\crypto\rsa\rsa_mp.c \
    $(SRC_D)\crypto\rsa\rsa_backend.c \
    $(SRC_D)\crypto\rsa\rsa_sp800_56b_check.c \
    $(SRC_D)\crypto\rsa\rsa_sp800_56b_gen.c \
    $(SRC_D)\crypto\rsa\rsa_mp_names.c \
    $(SRC_D)\crypto\rsa\rsa_schemes.c \
    $(SRC_D)\crypto\dsa\dsa_gen.c \
    $(SRC_D)\crypto\dsa\dsa_key.c \
    $(SRC_D)\crypto\dsa\dsa_lib.c \
    $(SRC_D)\crypto\dsa\dsa_asn1.c \
    $(SRC_D)\crypto\dsa\dsa_vrf.c \
    $(SRC_D)\crypto\dsa\dsa_sign.c \
    $(SRC_D)\crypto\dsa\dsa_err.c \
    $(SRC_D)\crypto\dsa\dsa_ossl.c \
    $(SRC_D)\crypto\dsa\dsa_depr.c \
    $(SRC_D)\crypto\dsa\dsa_pmeth.c \
    $(SRC_D)\crypto\dsa\dsa_ameth.c \
    $(SRC_D)\crypto\dsa\dsa_backend.c \
    $(SRC_D)\crypto\dsa\dsa_check.c \
    $(SRC_D)\crypto\dso\dso_dl.c \
    $(SRC_D)\crypto\dso\dso_dlfcn.c \
    $(SRC_D)\crypto\dso\dso_err.c \
    $(SRC_D)\crypto\dso\dso_lib.c \
    $(SRC_D)\crypto\dso\dso_openssl.c \
    $(SRC_D)\crypto\dso\dso_win32.c \
    $(SRC_D)\crypto\dh\dh_asn1.c \
    $(SRC_D)\crypto\dh\dh_gen.c \
    $(SRC_D)\crypto\dh\dh_key.c \
    $(SRC_D)\crypto\dh\dh_lib.c \
    $(SRC_D)\crypto\dh\dh_check.c \
    $(SRC_D)\crypto\dh\dh_err.c \
    $(SRC_D)\crypto\dh\dh_depr.c \
    $(SRC_D)\crypto\dh\dh_pmeth.c \
    $(SRC_D)\crypto\dh\dh_ameth.c \
    $(SRC_D)\crypto\dh\dh_rfc5114.c \
    $(SRC_D)\crypto\dh\dh_kdf.c \
    $(SRC_D)\crypto\dh\dh_backend.c \
    $(SRC_D)\crypto\dh\dh_group_params.c \
    $(SRC_D)\crypto\buffer\buffer.c \
    $(SRC_D)\crypto\buffer\buf_err.c \
    $(SRC_D)\crypto\bio\bio_lib.c \
    $(SRC_D)\crypto\bio\bio_cb.c \
    $(SRC_D)\crypto\bio\bio_err.c \
    $(SRC_D)\crypto\bio\bss_mem.c \
    $(SRC_D)\crypto\bio\bss_null.c \
    $(SRC_D)\crypto\bio\bss_fd.c \
    $(SRC_D)\crypto\bio\bss_file.c \
    $(SRC_D)\crypto\bio\bss_sock.c \
    $(SRC_D)\crypto\bio\bf_null.c \
    $(SRC_D)\crypto\bio\bf_buff.c \
    $(SRC_D)\crypto\bio\bf_nbio.c \
    $(SRC_D)\crypto\bio\bf_prefix.c \
    $(SRC_D)\crypto\bio\bf_readbuff.c \
    $(SRC_D)\crypto\bio\bio_addr.c \
    $(SRC_D)\crypto\bio\bio_dump.c \
    $(SRC_D)\crypto\bio\bio_meth.c \
    $(SRC_D)\crypto\bio\bio_print.c \
    $(SRC_D)\crypto\bio\bio_sock.c \
    $(SRC_D)\crypto\bio\bio_sock2.c \
    $(SRC_D)\crypto\bio\bss_bio.c \
    $(SRC_D)\crypto\bio\bss_conn.c \
    $(SRC_D)\crypto\bio\bss_log.c \
    $(SRC_D)\crypto\bio\bss_acpt.c \
    $(SRC_D)\crypto\bio\bss_core.c \
    $(SRC_D)\crypto\bio\ossl_core_bio.c \
    $(SRC_D)\crypto\stack\stack.c \
    $(SRC_D)\crypto\lhash\lhash.c \
    $(SRC_D)\crypto\lhash\lh_stats.c \
    $(SRC_D)\crypto\rand\rand_lib.c \
    $(SRC_D)\crypto\rand\rand_err.c \
    $(SRC_D)\crypto\rand\rand_win.c \
    $(SRC_D)\crypto\rand\rand_pool.c \
    $(SRC_D)\crypto\rand\rand_meth.c \
    $(SRC_D)\crypto\rand\prov_seed.c \
    $(SRC_D)\crypto\rand\rand_uniform.c \
    $(SRC_D)\crypto\err\err.c \
    $(SRC_D)\crypto\err\err_all.c \
    $(SRC_D)\crypto\err\err_prn.c \
    $(SRC_D)\crypto\err\err_blocks.c \
    $(SRC_D)\crypto\err\err_mark.c \
    $(SRC_D)\crypto\err\err_save.c \
    $(SRC_D)\crypto\objects\o_names.c \
    $(SRC_D)\crypto\objects\obj_dat.c \
    $(SRC_D)\crypto\objects\obj_lib.c \
    $(SRC_D)\crypto\objects\obj_err.c \
    $(SRC_D)\crypto\objects\obj_xref.c \
    $(SRC_D)\crypto\evp\encode.c \
    $(SRC_D)\crypto\evp\digest.c \
    $(SRC_D)\crypto\evp\evp_enc.c \
    $(SRC_D)\crypto\evp\evp_key.c \
    $(SRC_D)\crypto\evp\e_des.c \
    $(SRC_D)\crypto\evp\e_bf.c \
    $(SRC_D)\crypto\evp\e_idea.c \
    $(SRC_D)\crypto\evp\e_des3.c \
    $(SRC_D)\crypto\evp\e_rc4.c \
    $(SRC_D)\crypto\evp\e_aes.c \
    $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c \
    $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c \
    $(SRC_D)\crypto\evp\names.c \
    $(SRC_D)\crypto\evp\e_xcbc_d.c \
    $(SRC_D)\crypto\evp\e_rc2.c \
    $(SRC_D)\crypto\evp\e_cast.c \
    $(SRC_D)\crypto\evp\m_null.c \
    $(SRC_D)\crypto\evp\p_open.c \
    $(SRC_D)\crypto\evp\p_seal.c \
    $(SRC_D)\crypto\evp\p_sign.c \
    $(SRC_D)\crypto\evp\p_verify.c \
    $(SRC_D)\crypto\evp\p_lib.c \
    $(SRC_D)\crypto\evp\p_enc.c \
    $(SRC_D)\crypto\evp\p_dec.c \
    $(SRC_D)\crypto\evp\bio_md.c \
    $(SRC_D)\crypto\evp\bio_b64.c \
    $(SRC_D)\crypto\evp\bio_enc.c \
    $(SRC_D)\crypto\evp\evp_err.c \
    $(SRC_D)\crypto\evp\e_null.c \
    $(SRC_D)\crypto\evp\c_allc.c \
    $(SRC_D)\crypto\evp\c_alld.c \
    $(SRC_D)\crypto\evp\evp_lib.c \
    $(SRC_D)\crypto\evp\bio_ok.c \
    $(SRC_D)\crypto\evp\evp_pkey.c \
    $(SRC_D)\crypto\evp\evp_pbe.c \
    $(SRC_D)\crypto\evp\p5_crpt.c \
    $(SRC_D)\crypto\evp\p5_crpt2.c \
    $(SRC_D)\crypto\evp\e_old.c \
    $(SRC_D)\crypto\evp\pmeth_lib.c \
    $(SRC_D)\crypto\evp\pmeth_gn.c \
    $(SRC_D)\crypto\evp\m_sigver.c \
    $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c \
    $(SRC_D)\crypto\evp\pbe_scrypt.c \
    $(SRC_D)\crypto\evp\evp_cnf.c \
    $(SRC_D)\crypto\evp\e_aria.c \
    $(SRC_D)\crypto\evp\e_chacha20_poly1305.c \
    $(SRC_D)\crypto\evp\e_sm4.c \
    $(SRC_D)\crypto\evp\evp_rand.c \
    $(SRC_D)\crypto\evp\evp_utils.c \
    $(SRC_D)\crypto\evp\evp_fetch.c \
    $(SRC_D)\crypto\evp\keymgmt_meth.c \
    $(SRC_D)\crypto\evp\keymgmt_lib.c \
    $(SRC_D)\crypto\evp\ec_support.c \
    $(SRC_D)\crypto\evp\legacy_sha.c \
    $(SRC_D)\crypto\evp\signature.c \
    $(SRC_D)\crypto\evp\asymcipher.c \
    $(SRC_D)\crypto\evp\legacy_md5.c \
    $(SRC_D)\crypto\evp\p_legacy.c \
    $(SRC_D)\crypto\evp\kdf_meth.c \
    $(SRC_D)\crypto\evp\ctrl_params_translate.c \
    $(SRC_D)\crypto\evp\exchange.c \
    $(SRC_D)\crypto\evp\kem.c \
    $(SRC_D)\crypto\evp\dh_ctrl.c \
    $(SRC_D)\crypto\evp\dsa_ctrl.c \
    $(SRC_D)\crypto\evp\ec_ctrl.c \
    $(SRC_D)\crypto\evp\legacy_md4.c \
    $(SRC_D)\crypto\evp\legacy_md5_sha1.c \
    $(SRC_D)\crypto\evp\legacy_ripemd.c \
    $(SRC_D)\crypto\evp\kdf_lib.c \
    $(SRC_D)\crypto\evp\dh_support.c \
    $(SRC_D)\crypto\evp\pmeth_check.c \
    $(SRC_D)\crypto\evp\legacy_blake2.c \
    $(SRC_D)\crypto\evp\mac_lib.c \
    $(SRC_D)\crypto\evp\mac_meth.c \
    $(SRC_D)\crypto\evp\s_lib.c \
    $(SRC_D)\crypto\evp\skeymgmt_meth.c \
    $(SRC_D)\crypto\asn1\a_object.c \
    $(SRC_D)\crypto\asn1\a_bitstr.c \
    $(SRC_D)\crypto\asn1\a_utctm.c \
    $(SRC_D)\crypto\asn1\a_gentm.c \
    $(SRC_D)\crypto\asn1\a_time.c \
    $(SRC_D)\crypto\asn1\a_int.c \
    $(SRC_D)\crypto\asn1\a_octet.c \
    $(SRC_D)\crypto\asn1\a_print.c \
    $(SRC_D)\crypto\asn1\a_type.c \
    $(SRC_D)\crypto\asn1\a_dup.c \
    $(SRC_D)\crypto\asn1\a_d2i_fp.c \
    $(SRC_D)\crypto\asn1\a_i2d_fp.c \
    $(SRC_D)\crypto\asn1\a_utf8.c \
    $(SRC_D)\crypto\asn1\a_sign.c \
    $(SRC_D)\crypto\asn1\a_digest.c \
    $(SRC_D)\crypto\asn1\a_verify.c \
    $(SRC_D)\crypto\asn1\a_mbstr.c \
    $(SRC_D)\crypto\asn1\a_strex.c \
    $(SRC_D)\crypto\asn1\ameth_lib.c \
    $(SRC_D)\crypto\asn1\x_algor.c \
    $(SRC_D)\crypto\asn1\x_val.c \
    $(SRC_D)\crypto\asn1\x_sig.c \
    $(SRC_D)\crypto\asn1\x_bignum.c \
    $(SRC_D)\crypto\asn1\x_long.c \
    $(SRC_D)\crypto\asn1\x_info.c \
    $(SRC_D)\crypto\asn1\x_spki.c \
    $(SRC_D)\crypto\asn1\nsseq.c \
    $(SRC_D)\crypto\asn1\d2i_pu.c \
    $(SRC_D)\crypto\asn1\d2i_pr.c \
    $(SRC_D)\crypto\asn1\t_pkey.c \
    $(SRC_D)\crypto\asn1\t_spki.c \
    $(SRC_D)\crypto\asn1\t_bitst.c \
    $(SRC_D)\crypto\asn1\tasn_new.c \
    $(SRC_D)\crypto\asn1\tasn_fre.c \
    $(SRC_D)\crypto\asn1\tasn_enc.c \
    $(SRC_D)\crypto\asn1\tasn_dec.c \
    $(SRC_D)\crypto\asn1\tasn_utl.c \
    $(SRC_D)\crypto\asn1\tasn_typ.c \
    $(SRC_D)\crypto\asn1\tasn_prn.c \
    $(SRC_D)\crypto\asn1\f_int.c \
    $(SRC_D)\crypto\asn1\f_string.c \
    $(SRC_D)\crypto\asn1\n_pkey.c \
    $(SRC_D)\crypto\asn1\x_pkey.c \
    $(SRC_D)\crypto\asn1\asn_mime.c \
    $(SRC_D)\crypto\asn1\asn1_gen.c \
    $(SRC_D)\crypto\asn1\asn1_parse.c \
    $(SRC_D)\crypto\asn1\asn1_lib.c \
    $(SRC_D)\crypto\asn1\asn1_err.c \
    $(SRC_D)\crypto\asn1\bio_asn1.c \
    $(SRC_D)\crypto\asn1\bio_ndef.c \
    $(SRC_D)\crypto\asn1\a_strnid.c \
    $(SRC_D)\crypto\asn1\evp_asn1.c \
    $(SRC_D)\crypto\asn1\asn_pack.c \
    $(SRC_D)\crypto\asn1\p5_pbe.c \
    $(SRC_D)\crypto\asn1\p5_pbev2.c \
    $(SRC_D)\crypto\asn1\p8_pkey.c \
    $(SRC_D)\crypto\asn1\asn_moid.c \
    $(SRC_D)\crypto\asn1\p5_scrypt.c \
    $(SRC_D)\crypto\asn1\asn_mstbl.c \
    $(SRC_D)\crypto\asn1\x_int64.c \
    $(SRC_D)\crypto\asn1\i2d_evp.c \
    $(SRC_D)\crypto\pem\pem_sign.c \
    $(SRC_D)\crypto\pem\pem_info.c \
    $(SRC_D)\crypto\pem\pem_lib.c \
    $(SRC_D)\crypto\pem\pem_all.c \
    $(SRC_D)\crypto\pem\pem_err.c \
    $(SRC_D)\crypto\pem\pem_x509.c \
    $(SRC_D)\crypto\pem\pem_xaux.c \
    $(SRC_D)\crypto\pem\pem_oth.c \
    $(SRC_D)\crypto\pem\pem_pk8.c \
    $(SRC_D)\crypto\pem\pem_pkey.c \
    $(SRC_D)\crypto\pem\pvkfmt.c \
    $(SRC_D)\crypto\x509\x509_def.c \
    $(SRC_D)\crypto\x509\x509_d2.c \
    $(SRC_D)\crypto\x509\x509_r2x.c \
    $(SRC_D)\crypto\x509\x509_cmp.c \
    $(SRC_D)\crypto\x509\x509_obj.c \
    $(SRC_D)\crypto\x509\x509_req.c \
    $(SRC_D)\crypto\x509\x509spki.c \
    $(SRC_D)\crypto\x509\x509_vfy.c \
    $(SRC_D)\crypto\x509\x509_set.c \
    $(SRC_D)\crypto\x509\x509cset.c \
    $(SRC_D)\crypto\x509\x509rset.c \
    $(SRC_D)\crypto\x509\x509_err.c \
    $(SRC_D)\crypto\x509\x509name.c \
    $(SRC_D)\crypto\x509\x509_v3.c \
    $(SRC_D)\crypto\x509\x509_ext.c \
    $(SRC_D)\crypto\x509\x509_att.c \
    $(SRC_D)\crypto\x509\x509type.c \
    $(SRC_D)\crypto\x509\x509_lu.c \
    $(SRC_D)\crypto\x509\x_all.c \
    $(SRC_D)\crypto\x509\x509_txt.c \
    $(SRC_D)\crypto\x509\x509_trust.c \
    $(SRC_D)\crypto\x509\by_file.c \
    $(SRC_D)\crypto\x509\by_dir.c \
    $(SRC_D)\crypto\x509\x509_vpm.c \
    $(SRC_D)\crypto\x509\x_pubkey.c \
    $(SRC_D)\crypto\x509\x_req.c \
    $(SRC_D)\crypto\x509\x_attrib.c \
    $(SRC_D)\crypto\x509\x_name.c \
    $(SRC_D)\crypto\x509\x_x509.c \
    $(SRC_D)\crypto\x509\x_x509a.c \
    $(SRC_D)\crypto\x509\x_crl.c \
    $(SRC_D)\crypto\x509\t_req.c \
    $(SRC_D)\crypto\x509\t_x509.c \
    $(SRC_D)\crypto\x509\t_crl.c \
    $(SRC_D)\crypto\x509\x_exten.c \
    $(SRC_D)\crypto\x509\by_store.c \
    $(SRC_D)\crypto\x509\x509_acert.c \
    $(SRC_D)\crypto\x509\v3_audit_id.c \
    $(SRC_D)\crypto\x509\v3_bcons.c \
    $(SRC_D)\crypto\x509\v3_bitst.c \
    $(SRC_D)\crypto\x509\v3_conf.c \
    $(SRC_D)\crypto\x509\v3_extku.c \
    $(SRC_D)\crypto\x509\v3_ia5.c \
    $(SRC_D)\crypto\x509\v3_lib.c \
    $(SRC_D)\crypto\x509\v3_prn.c \
    $(SRC_D)\crypto\x509\v3_utl.c \
    $(SRC_D)\crypto\x509\v3err.c \
    $(SRC_D)\crypto\x509\v3_genn.c \
    $(SRC_D)\crypto\x509\v3_san.c \
    $(SRC_D)\crypto\x509\v3_skid.c \
    $(SRC_D)\crypto\x509\v3_akid.c \
    $(SRC_D)\crypto\x509\v3_pku.c \
    $(SRC_D)\crypto\x509\v3_int.c \
    $(SRC_D)\crypto\x509\v3_enum.c \
    $(SRC_D)\crypto\x509\v3_sxnet.c \
    $(SRC_D)\crypto\x509\v3_cpols.c \
    $(SRC_D)\crypto\x509\v3_crld.c \
    $(SRC_D)\crypto\x509\v3_purp.c \
    $(SRC_D)\crypto\x509\v3_info.c \
    $(SRC_D)\crypto\x509\v3_akeya.c \
    $(SRC_D)\crypto\x509\v3_pmaps.c \
    $(SRC_D)\crypto\x509\v3_pcons.c \
    $(SRC_D)\crypto\x509\v3_ncons.c \
    $(SRC_D)\crypto\x509\v3_pcia.c \
    $(SRC_D)\crypto\x509\v3_pci.c \
    $(SRC_D)\crypto\x509\v3_ac_tgt.c \
    $(SRC_D)\crypto\x509\pcy_cache.c \
    $(SRC_D)\crypto\x509\pcy_node.c \
    $(SRC_D)\crypto\x509\pcy_data.c \
    $(SRC_D)\crypto\x509\pcy_map.c \
    $(SRC_D)\crypto\x509\pcy_tree.c \
    $(SRC_D)\crypto\x509\pcy_lib.c \
    $(SRC_D)\crypto\x509\v3_asid.c \
    $(SRC_D)\crypto\x509\v3_addr.c \
    $(SRC_D)\crypto\x509\v3_tlsf.c \
    $(SRC_D)\crypto\x509\v3_admis.c \
    $(SRC_D)\crypto\x509\v3_utf8.c \
    $(SRC_D)\crypto\x509\v3_ist.c \
    $(SRC_D)\crypto\x509\v3_no_rev_avail.c \
    $(SRC_D)\crypto\x509\v3_soa_id.c \
    $(SRC_D)\crypto\x509\v3_ind_iss.c \
    $(SRC_D)\crypto\x509\v3_no_ass.c \
    $(SRC_D)\crypto\x509\v3_single_use.c \
    $(SRC_D)\crypto\x509\v3_group_ac.c \
    $(SRC_D)\crypto\x509\v3_aaa.c \
    $(SRC_D)\crypto\x509\v3_attrdesc.c \
    $(SRC_D)\crypto\x509\v3_attrmap.c \
    $(SRC_D)\crypto\x509\v3_authattid.c \
    $(SRC_D)\crypto\x509\v3_battcons.c \
    $(SRC_D)\crypto\x509\v3_iobo.c \
    $(SRC_D)\crypto\x509\v3_rolespec.c \
    $(SRC_D)\crypto\x509\v3_sda.c \
    $(SRC_D)\crypto\x509\v3_timespec.c \
    $(SRC_D)\crypto\x509\v3_usernotice.c \
    $(SRC_D)\crypto\conf\conf_err.c \
    $(SRC_D)\crypto\conf\conf_lib.c \
    $(SRC_D)\crypto\conf\conf_api.c \
    $(SRC_D)\crypto\conf\conf_def.c \
    $(SRC_D)\crypto\conf\conf_mod.c \
    $(SRC_D)\crypto\conf\conf_mall.c \
    $(SRC_D)\crypto\conf\conf_sap.c \
    $(SRC_D)\crypto\conf\conf_ssl.c \
    $(SRC_D)\crypto\pkcs7\pk7_asn1.c \
    $(SRC_D)\crypto\pkcs7\pk7_lib.c \
    $(SRC_D)\crypto\pkcs7\pkcs7err.c \
    $(SRC_D)\crypto\pkcs7\pk7_doit.c \
    $(SRC_D)\crypto\pkcs7\pk7_smime.c \
    $(SRC_D)\crypto\pkcs7\pk7_attr.c \
    $(SRC_D)\crypto\pkcs7\pk7_mime.c \
    $(SRC_D)\crypto\pkcs12\p12_add.c \
    $(SRC_D)\crypto\pkcs12\p12_asn.c \
    $(SRC_D)\crypto\pkcs12\p12_attr.c \
    $(SRC_D)\crypto\pkcs12\p12_crpt.c \
    $(SRC_D)\crypto\pkcs12\p12_crt.c \
    $(SRC_D)\crypto\pkcs12\p12_decr.c \
    $(SRC_D)\crypto\pkcs12\p12_init.c \
    $(SRC_D)\crypto\pkcs12\p12_key.c \
    $(SRC_D)\crypto\pkcs12\p12_kiss.c \
    $(SRC_D)\crypto\pkcs12\p12_mutl.c \
    $(SRC_D)\crypto\pkcs12\p12_utl.c \
    $(SRC_D)\crypto\pkcs12\p12_npas.c \
    $(SRC_D)\crypto\pkcs12\pk12err.c \
    $(SRC_D)\crypto\pkcs12\p12_p8d.c \
    $(SRC_D)\crypto\pkcs12\p12_p8e.c \
    $(SRC_D)\crypto\pkcs12\p12_sbag.c \
    $(SRC_D)\crypto\comp\comp_lib.c \
    $(SRC_D)\crypto\comp\comp_err.c \
    $(SRC_D)\crypto\cmac\cmac.c \
    $(SRC_D)\crypto\ocsp\ocsp_asn.c \
    $(SRC_D)\crypto\ocsp\ocsp_ext.c \
    $(SRC_D)\crypto\ocsp\ocsp_http.c \
    $(SRC_D)\crypto\ocsp\ocsp_lib.c \
    $(SRC_D)\crypto\ocsp\ocsp_cl.c \
    $(SRC_D)\crypto\ocsp\ocsp_srv.c \
    $(SRC_D)\crypto\ocsp\ocsp_prn.c \
    $(SRC_D)\crypto\ocsp\ocsp_vfy.c \
    $(SRC_D)\crypto\ocsp\ocsp_err.c \
    $(SRC_D)\crypto\ocsp\v3_ocsp.c \
    $(SRC_D)\crypto\ui\ui_err.c \
    $(SRC_D)\crypto\ui\ui_lib.c \
    $(SRC_D)\crypto\ui\ui_openssl.c \
    $(SRC_D)\crypto\ui\ui_util.c \
    $(SRC_D)\crypto\ui\ui_null.c \
    $(SRC_D)\crypto\o_init.c \
    $(SRC_D)\crypto\srp\srp_lib.c \
    $(SRC_D)\crypto\srp\srp_vfy.c \
    $(SRC_D)\crypto\txt_db\txt_db.c \
    $(SRC_D)\crypto\ec\ec_ameth.c \
    $(SRC_D)\crypto\ec\ec_asn1.c \
    $(SRC_D)\crypto\ec\ec_curve.c \
    $(SRC_D)\crypto\ec\ec_cvt.c \
    $(SRC_D)\crypto\ec\ec_err.c \
    $(SRC_D)\crypto\ec\ec_check.c \
    $(SRC_D)\crypto\ec\ec_key.c \
    $(SRC_D)\crypto\ec\ec_lib.c \
    $(SRC_D)\crypto\ec\ec_mult.c \
    $(SRC_D)\crypto\ec\ec_oct.c \
    $(SRC_D)\crypto\ec\ec_pmeth.c \
    $(SRC_D)\crypto\ec\ec_print.c \
    $(SRC_D)\crypto\ec\ec2_oct.c \
    $(SRC_D)\crypto\ec\ec2_smpl.c \
    $(SRC_D)\crypto\ec\eck_prn.c \
    $(SRC_D)\crypto\ec\ecp_mont.c \
    $(SRC_D)\crypto\ec\ecp_nist.c \
    $(SRC_D)\crypto\ec\ecp_oct.c \
    $(SRC_D)\crypto\ec\ecp_smpl.c \
    $(SRC_D)\crypto\ec\ecdh_ossl.c \
    $(SRC_D)\crypto\ec\ec_kmeth.c \
    $(SRC_D)\crypto\ec\ecx_meth.c \
    $(SRC_D)\crypto\ec\ecdsa_ossl.c \
    $(SRC_D)\crypto\ec\curve25519.c \
    $(SRC_D)\crypto\ec\ecdsa_sign.c \
    $(SRC_D)\crypto\ec\ecdsa_vrf.c \
    $(SRC_D)\crypto\ec\ec_backend.c \
    $(SRC_D)\crypto\ec\ecx_key.c \
    $(SRC_D)\crypto\ec\ecx_backend.c \
    $(SRC_D)\crypto\ec\curve448\eddsa.c \
    $(SRC_D)\crypto\ec\curve448\curve448.c \
    $(SRC_D)\crypto\ec\curve448\scalar.c \
    $(SRC_D)\crypto\ec\curve448\curve448_tables.c \
    $(SRC_D)\crypto\ec\curve448\f_generic.c \
    $(SRC_D)\crypto\ec\curve448\arch_32\f_impl32.c \
    $(SRC_D)\crypto\cms\cms_sd.c \
    $(SRC_D)\crypto\cms\cms_err.c \
    $(SRC_D)\crypto\cms\cms_lib.c \
    $(SRC_D)\crypto\cms\cms_env.c \
    $(SRC_D)\crypto\cms\cms_asn1.c \
    $(SRC_D)\crypto\cms\cms_kari.c \
    $(SRC_D)\crypto\cms\cms_dd.c \
    $(SRC_D)\crypto\cms\cms_enc.c \
    $(SRC_D)\crypto\cms\cms_io.c \
    $(SRC_D)\crypto\cms\cms_pwri.c \
    $(SRC_D)\crypto\cms\cms_att.c \
    $(SRC_D)\crypto\ct\ct_oct.c \
    $(SRC_D)\crypto\ct\ct_prn.c \
    $(SRC_D)\crypto\ct\ct_err.c \
    $(SRC_D)\crypto\ct\ct_x509v3.c \
    $(SRC_D)\crypto\ct\ct_sct.c \
    $(SRC_D)\crypto\ct\ct_log.c \
    $(SRC_D)\crypto\ct\ct_policy.c \
    $(SRC_D)\crypto\ct\ct_sct_ctx.c \
    $(SRC_D)\crypto\ct\ct_b64.c \
    $(SRC_D)\crypto\ct\ct_vfy.c \
    $(SRC_D)\crypto\async\async.c \
    $(SRC_D)\crypto\async\async_err.c \
    $(SRC_D)\crypto\async\async_wait.c \
    $(SRC_D)\crypto\async\arch\async_win.c \
    $(SRC_D)\crypto\ec\ecdh_kdf.c \
    $(SRC_D)\crypto\store\store_lib.c \
    $(SRC_D)\crypto\store\store_init.c \
    $(SRC_D)\crypto\store\store_register.c \
    $(SRC_D)\crypto\store\store_err.c \
    $(SRC_D)\crypto\store\store_meth.c \
    $(SRC_D)\crypto\store\store_result.c \
    $(SRC_D)\crypto\aria\aria.c \
    $(SRC_D)\crypto\sm3\sm3.c \
    $(SRC_D)\crypto\sm3\legacy_sm3.c \
    $(SRC_D)\crypto\sm4\sm4.c \
    $(SRC_D)\crypto\poly1305\poly1305.c \
    $(SRC_D)\crypto\siphash\siphash.c \
    $(SRC_D)\crypto\sm2\sm2_crypt.c \
    $(SRC_D)\crypto\sm2\sm2_sign.c \
    $(SRC_D)\crypto\sm2\sm2_key.c \
    $(SRC_D)\crypto\http\http_err.c \
    $(SRC_D)\crypto\http\http_client.c \
    $(SRC_D)\crypto\http\http_lib.c \
    $(SRC_D)\crypto\crmf\crmf_err.c \
    $(SRC_D)\crypto\cmp\cmp_err.c \
    $(SRC_D)\crypto\cmp\cmp_util.c \
    $(SRC_D)\crypto\ess\ess_err.c \
    $(SRC_D)\crypto\property\property_err.c \
    $(SRC_D)\crypto\property\property.c \
    $(SRC_D)\crypto\property\property_parse.c \
    $(SRC_D)\crypto\property\property_string.c \
    $(SRC_D)\crypto\property\defn_cache.c \
    $(SRC_D)\crypto\property\property_query.c \
    $(SRC_D)\crypto\encode_decode\decoder_meth.c \
    $(SRC_D)\crypto\encode_decode\decoder_lib.c \
    $(SRC_D)\crypto\encode_decode\decoder_pkey.c \
    $(SRC_D)\crypto\encode_decode\encoder_meth.c \
    $(SRC_D)\crypto\encode_decode\encoder_lib.c \
    $(SRC_D)\crypto\encode_decode\encoder_pkey.c \
    $(SRC_D)\crypto\ffc\ffc_params.c \
    $(SRC_D)\crypto\ffc\ffc_params_validate.c \
    $(SRC_D)\crypto\ffc\ffc_params_generate.c \
    $(SRC_D)\crypto\ffc\ffc_key_generate.c \
    $(SRC_D)\crypto\ffc\ffc_key_validate.c \
    $(SRC_D)\crypto\ffc\ffc_dh.c \
    $(SRC_D)\crypto\ffc\ffc_backend.c \
    $(SRC_D)\crypto\hpke\hpke_util.c \
    $(SRC_D)\crypto\thread\internal.c \
    $(SRC_D)\crypto\thread\arch.c \
    $(SRC_D)\crypto\thread\arch\thread_win.c \
    $(SRC_D)\crypto\hashtable\hashtable.c \
    $(SRC_D)\crypto\hashtable\hashfunc.c \
    $(SRC_D)\crypto\slh_dsa\slh_dsa_key.c \
    $(SRC_D)\crypto\slh_dsa\slh_adrs.c \
    $(SRC_D)\crypto\slh_dsa\slh_dsa_hash_ctx.c \
    $(SRC_D)\crypto\slh_dsa\slh_hash.c \
    $(SRC_D)\crypto\slh_dsa\slh_params.c \
    $(SRC_D)\crypto\slh_dsa\slh_xmss.c \
    $(SRC_D)\crypto\slh_dsa\slh_dsa.c \
    $(SRC_D)\crypto\slh_dsa\slh_wots.c \
    $(SRC_D)\crypto\slh_dsa\slh_fors.c \
    $(SRC_D)\crypto\slh_dsa\slh_hypertree.c \
    $(SRC_D)\crypto\ml_kem\ml_kem.c \
    $(SRC_D)\crypto\ml_dsa\ml_dsa_encoders.c \
    $(SRC_D)\crypto\ml_dsa\ml_dsa_key.c \
    $(SRC_D)\crypto\ml_dsa\ml_dsa_params.c \
    $(SRC_D)\crypto\ml_dsa\ml_dsa_key_compress.c \
    $(SRC_D)\crypto\ml_dsa\ml_dsa_matrix.c \
    $(SRC_D)\crypto\ml_dsa\ml_dsa_ntt.c \
    $(SRC_D)\crypto\ml_dsa\ml_dsa_sample.c \
    $(SRC_D)\crypto\ml_dsa\ml_dsa_sign.c \
    $(SRC_D)\providers\prov_running.c \
    $(SRC_D)\providers\nullprov.c \
    $(SRC_D)\providers\baseprov.c \
    $(SRC_D)\providers\defltprov.c \
    $(SRC_D)\providers\common\bio_prov.c \
    $(SRC_D)\providers\common\digest_to_nid.c \
    $(SRC_D)\providers\common\provider_err.c \
    $(SRC_D)\providers\common\provider_ctx.c \
    $(SRC_D)\providers\common\provider_util.c \
    $(SRC_D)\providers\common\provider_seeding.c \
    $(SRC_D)\providers\common\securitycheck.c \
    $(SRC_D)\providers\common\securitycheck_default.c \
    $(SRC_D)\providers\common\capabilities.c \
    $(SRC_D)\providers\common\der\der_dsa_key.c \
    $(SRC_D)\providers\common\der\der_dsa_sig.c \
    $(SRC_D)\providers\common\der\der_ec_key.c \
    $(SRC_D)\providers\common\der\der_ec_sig.c \
    $(SRC_D)\providers\common\der\der_ecx_key.c \
    $(SRC_D)\providers\common\der\der_rsa_key.c \
    $(SRC_D)\providers\common\der\der_rsa_sig.c \
    $(SRC_D)\providers\common\der\der_sm2_key.c \
    $(SRC_D)\providers\common\der\der_sm2_sig.c \
    $(SRC_D)\providers\common\der\der_digests_gen.c \
    $(SRC_D)\providers\common\der\der_dsa_gen.c \
    $(SRC_D)\providers\common\der\der_ec_gen.c \
    $(SRC_D)\providers\common\der\der_ecx_gen.c \
    $(SRC_D)\providers\common\der\der_rsa_gen.c \
    $(SRC_D)\providers\common\der\der_sm2_gen.c \
    $(SRC_D)\providers\common\der\der_wrap_gen.c \
    $(SRC_D)\providers\common\der\der_ml_dsa_key.c \
    $(SRC_D)\providers\common\der\der_slh_dsa_key.c \
    $(SRC_D)\providers\common\der\der_slh_dsa_gen.c \
    $(SRC_D)\providers\common\der\der_ml_dsa_gen.c \
    $(SRC_D)\providers\implementations\digests\blake2_prov.c \
    $(SRC_D)\providers\implementations\digests\blake2b_prov.c \
    $(SRC_D)\providers\implementations\digests\blake2s_prov.c \
    $(SRC_D)\providers\implementations\digests\digestcommon.c \
    $(SRC_D)\providers\implementations\digests\sha2_prov.c \
    $(SRC_D)\providers\implementations\digests\sha3_prov.c \
    $(SRC_D)\providers\implementations\digests\sm3_prov.c \
    $(SRC_D)\providers\implementations\digests\md5_prov.c \
    $(SRC_D)\providers\implementations\digests\ripemd_prov.c \
    $(SRC_D)\providers\implementations\digests\md5_sha1_prov.c \
    $(SRC_D)\providers\implementations\digests\null_prov.c \
    $(SRC_D)\providers\implementations\rands\drbg.c \
    $(SRC_D)\providers\implementations\rands\drbg_ctr.c \
    $(SRC_D)\providers\implementations\rands\drbg_hash.c \
    $(SRC_D)\providers\implementations\rands\drbg_hmac.c \
    $(SRC_D)\providers\implementations\rands\seed_src.c \
    $(SRC_D)\providers\implementations\rands\test_rng.c \
    $(SRC_D)\providers\implementations\ciphers\ciphercommon_block.c \
    $(SRC_D)\providers\implementations\ciphers\ciphercommon_hw.c \
    $(SRC_D)\providers\implementations\ciphers\ciphercommon_gcm.c \
    $(SRC_D)\providers\implementations\ciphers\ciphercommon_gcm_hw.c \
    $(SRC_D)\providers\implementations\ciphers\ciphercommon_ccm.c \
    $(SRC_D)\providers\implementations\ciphers\ciphercommon_ccm_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_null.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes.c \
    $(SRC_D)\providers\implementations\ciphers\ciphercommon.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_cts.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aria.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aria_ccm.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aria_ccm_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_xts.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_xts_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_ocb.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_ocb_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_siv.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_siv_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_gcm.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_gcm_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_gcm_siv.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_gcm_siv_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_gcm_siv_polyval.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_ccm.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_ccm_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_wrp.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_cbc_hmac_sha.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_cbc_hmac_sha1_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_cbc_hmac_sha256_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aes_xts_fips.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aria_gcm.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aria_gcm_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_aria_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_tdes.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_tdes_common.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_tdes_default.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_tdes_default_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_tdes_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_tdes_wrap.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_tdes_wrap_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_sm4.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_sm4_ccm.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_sm4_gcm.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_sm4_ccm_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_sm4_gcm_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_sm4_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_sm4_xts.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_sm4_xts_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_chacha20.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_chacha20_hw.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_chacha20_poly1305.c \
    $(SRC_D)\providers\implementations\ciphers\cipher_chacha20_poly1305_hw.c \
    $(SRC_D)\providers\implementations\macs\blake2b_mac.c \
    $(SRC_D)\providers\implementations\macs\blake2s_mac.c \
    $(SRC_D)\providers\implementations\macs\cmac_prov.c \
    $(SRC_D)\providers\implementations\macs\gmac_prov.c \
    $(SRC_D)\providers\implementations\macs\hmac_prov.c \
    $(SRC_D)\providers\implementations\macs\kmac_prov.c \
    $(SRC_D)\providers\implementations\macs\poly1305_prov.c \
    $(SRC_D)\providers\implementations\macs\siphash_prov.c \
    $(SRC_D)\providers\implementations\kdfs\hkdf.c \
    $(SRC_D)\providers\implementations\kdfs\kbkdf.c \
    $(SRC_D)\providers\implementations\kdfs\krb5kdf.c \
    $(SRC_D)\providers\implementations\kdfs\pbkdf2.c \
    $(SRC_D)\providers\implementations\kdfs\pbkdf2_fips.c \
    $(SRC_D)\providers\implementations\kdfs\pkcs12kdf.c \
    $(SRC_D)\providers\implementations\kdfs\scrypt.c \
    $(SRC_D)\providers\implementations\kdfs\sshkdf.c \
    $(SRC_D)\providers\implementations\kdfs\sskdf.c \
    $(SRC_D)\providers\implementations\kdfs\tls1_prf.c \
    $(SRC_D)\providers\implementations\kdfs\x942kdf.c \
    $(SRC_D)\providers\implementations\kdfs\hmacdrbg_kdf.c \
    $(SRC_D)\providers\implementations\kdfs\argon2.c \
    $(SRC_D)\providers\implementations\exchange\dh_exch.c \
    $(SRC_D)\providers\implementations\exchange\ecdh_exch.c \
    $(SRC_D)\providers\implementations\exchange\ecx_exch.c \
    $(SRC_D)\providers\implementations\exchange\kdf_exch.c \
    $(SRC_D)\providers\implementations\signature\dsa_sig.c \
    $(SRC_D)\providers\implementations\signature\ecdsa_sig.c \
    $(SRC_D)\providers\implementations\signature\eddsa_sig.c \
    $(SRC_D)\providers\implementations\signature\mac_legacy_sig.c \
    $(SRC_D)\providers\implementations\signature\rsa_sig.c \
    $(SRC_D)\providers\implementations\signature\sm2_sig.c \
    $(SRC_D)\providers\implementations\signature\ml_dsa_sig.c \
    $(SRC_D)\providers\implementations\signature\slh_dsa_sig.c \
    $(SRC_D)\providers\implementations\asymciphers\rsa_enc.c \
    $(SRC_D)\providers\implementations\asymciphers\sm2_enc.c \
    $(SRC_D)\providers\implementations\kem\rsa_kem.c \
    $(SRC_D)\providers\implementations\kem\ec_kem.c \
    $(SRC_D)\providers\implementations\kem\kem_util.c \
    $(SRC_D)\providers\implementations\kem\ecx_kem.c \
    $(SRC_D)\providers\implementations\kem\mlx_kem.c \
    $(SRC_D)\providers\implementations\kem\ml_kem_kem.c \
    $(SRC_D)\providers\implementations\keymgmt\dh_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\dsa_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\ec_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\ecx_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\kdf_legacy_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\mac_legacy_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\rsa_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\mlx_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\ml_dsa_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\ml_kem_kmgmt.c \
    $(SRC_D)\providers\implementations\keymgmt\slh_dsa_kmgmt.c \
    $(SRC_D)\providers\implementations\encode_decode\decode_der2key.c \
    $(SRC_D)\providers\implementations\encode_decode\decode_epki2pki.c \
    $(SRC_D)\providers\implementations\encode_decode\decode_msblob2key.c \
    $(SRC_D)\providers\implementations\encode_decode\decode_pem2der.c \
    $(SRC_D)\providers\implementations\encode_decode\decode_pvk2key.c \
    $(SRC_D)\providers\implementations\encode_decode\decode_spki2typespki.c \
    $(SRC_D)\providers\implementations\encode_decode\encode_key2any.c \
    $(SRC_D)\providers\implementations\encode_decode\encode_key2blob.c \
    $(SRC_D)\providers\implementations\encode_decode\encode_key2ms.c \
    $(SRC_D)\providers\implementations\encode_decode\encode_key2text.c \
    $(SRC_D)\providers\implementations\encode_decode\endecoder_common.c \
    $(SRC_D)\providers\implementations\encode_decode\ml_dsa_codecs.c \
    $(SRC_D)\providers\implementations\encode_decode\ml_kem_codecs.c \
    $(SRC_D)\providers\implementations\encode_decode\ml_common_codecs.c \
    $(SRC_D)\providers\implementations\storemgmt\file_store.c \
    $(SRC_D)\providers\implementations\storemgmt\file_store_any2obj.c \
    $(SRC_D)\providers\implementations\storemgmt\winstore_store.c \
    $(SRC_D)\providers\implementations\skeymgmt\aes_skmgmt.c \
    $(SRC_D)\providers\implementations\skeymgmt\generic.c

CRYPTOSRC32= \
    $(SRC_D)\crypto\mem_clr.c \
    $(SRC_D)\crypto\chacha\chacha_enc.c \
    $(SRC_D)\crypto\rc4\rc4_enc.c \
    $(SRC_D)\crypto\rc4\rc4_skey.c \
    $(SRC_D)\crypto\sha\keccak1600.c

CRYPTOSRC=$(CRYPTOSRC) $(CRYPTOSRC32)

$(OBJ_D)\des-586.obj: $(SRC_D)\crypto\des\asm\des-586.asm
    $(ASM) -o$(OBJ_D)\des-586.obj $(SRC_D)\crypto\des\asm\des-586.asm

$(OBJ_D)\bf-586.obj: $(SRC_D)\crypto\bf\asm\bf-586.asm
    $(ASM) -o$(OBJ_D)\bf-586.obj $(SRC_D)\crypto\bf\asm\bf-586.asm

$(OBJ_D)\cast-586.obj: $(SRC_D)\crypto\cast\asm\cast-586.asm
    $(ASM) -o$(OBJ_D)\cast-586.obj $(SRC_D)\crypto\cast\asm\cast-586.asm

$(OBJ_D)\md5-586.obj: $(SRC_D)\crypto\md5\asm\md5-586.asm
    $(ASM) -o$(OBJ_D)\md5-586.obj $(SRC_D)\crypto\md5\asm\md5-586.asm

$(OBJ_D)\sha1-586.obj: $(SRC_D)\crypto\sha\asm\sha1-586.asm
    $(ASM) -o$(OBJ_D)\sha1-586.obj $(SRC_D)\crypto\sha\asm\sha1-586.asm

$(OBJ_D)\bn-586.obj: $(SRC_D)\crypto\bn\asm\bn-586.asm
    $(ASM) -o$(OBJ_D)\bn-586.obj $(SRC_D)\crypto\bn\asm\bn-586.asm

$(OBJ_D)\x86-mont.obj: $(SRC_D)\crypto\bn\asm\x86-mont.asm
    $(ASM) -o$(OBJ_D)\x86-mont.obj $(SRC_D)\crypto\bn\asm\x86-mont.asm

$(OBJ_D)\x86-gf2m.obj: $(SRC_D)\crypto\bn\asm\x86-gf2m.asm
    $(ASM) -o$(OBJ_D)\x86-gf2m.obj $(SRC_D)\crypto\bn\asm\x86-gf2m.asm

$(OBJ_D)\co-586.obj: $(SRC_D)\crypto\bn\asm\co-586.asm
    $(ASM) -o$(OBJ_D)\co-586.obj $(SRC_D)\crypto\bn\asm\co-586.asm

$(OBJ_D)\rmd-586.obj: $(SRC_D)\crypto\ripemd\asm\rmd-586.asm
    $(ASM) -o$(OBJ_D)\rmd-586.obj $(SRC_D)\crypto\ripemd\asm\rmd-586.asm

$(OBJ_D)\sha256-586.obj: $(SRC_D)\crypto\sha\asm\sha256-586.asm
    $(ASM) -o$(OBJ_D)\sha256-586.obj $(SRC_D)\crypto\sha\asm\sha256-586.asm

$(OBJ_D)\sha512-586.obj: $(SRC_D)\crypto\sha\asm\sha512-586.asm
    $(ASM) -o$(OBJ_D)\sha512-586.obj $(SRC_D)\crypto\sha\asm\sha512-586.asm

$(OBJ_D)\aes-586.obj: $(SRC_D)\crypto\aes\asm\aes-586.asm
    $(ASM) -o$(OBJ_D)\aes-586.obj $(SRC_D)\crypto\aes\asm\aes-586.asm

$(O_SSL):
    -if exist $(O_SSL) $(RM) $(O_SSL)
    $(CC) $(LIB_CFLAGS) -output-dir $(TMP_D) @&&!
$(SSLSRC)
!
    $(MKLIB) /P256 /C $(O_SSL) @&&!
$(SSLOBJ)
!

$(O_CRYPTO): $(CRYPTOOBJASM)
    -if exist $(O_CRYPTO) $(RM) $(O_CRYPTO)
    $(CC) $(LIB_CFLAGS) -output-dir $(TMP_D) @&&!
$(CRYPTOSRC)
!
    $(MKLIB) /P2048 /C $(O_CRYPTO) @&&!
$(CRYPTOOBJ) "$(CRYPTOOBJASM:   =" ")"
!
