# 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=MD5_ASM;OPENSSL_BN_ASM_GF2m;OPENSSL_BN_ASM_MONT;SHA1_ASM;SHA256_ASM;SHA512_ASM
!ifdef WIN64
DEFINES=$(DEFINES);AES_ASM;BSAES_ASM;KECCAK1600_ASM;OPENSSL_BN_ASM_MONT5;X25519_ASM
DEFINES=$(DEFINES);OPENSSL_SYS_WIN64A;OPENSSL_CPUID_OBJ;OPENSSL_IA32_SSE2
!else
DEFINES=$(DEFINES);DES_ASM;RMD160_ASM;OPENSSL_BN_ASM_PART_WORDS
DEFINES=$(DEFINES);OPENSSL_SYS_WIN32
!endif

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

!ifdef WIN64
# Taken from configdata.pm for VC-WIN64A target
ASM_ARG=-Ox -f elf64 -DNEAR
!else
ASM_ARG=-d__omf__ -f obj
!endif

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.$(O) $(OBJ_D)\s3_enc.$(O) $(OBJ_D)\s3_msg.$(O) \
    $(OBJ_D)\t1_lib.$(O) $(OBJ_D)\t1_enc.$(O) \
    $(OBJ_D)\tls_srp.$(O) \
    $(OBJ_D)\tls13_enc.$(O) \
    $(OBJ_D)\d1_srtp.$(O) $(OBJ_D)\d1_lib.$(O) $(OBJ_D)\d1_msg.$(O) \
    $(OBJ_D)\ssl_lib.$(O) $(OBJ_D)\ssl_cert.$(O) $(OBJ_D)\ssl_sess.$(O) $(OBJ_D)\ssl_ciph.$(O) \
    $(OBJ_D)\ssl_stat.$(O) $(OBJ_D)\ssl_rsa.$(O) $(OBJ_D)\ssl_asn1.$(O) $(OBJ_D)\ssl_txt.$(O) \
    $(OBJ_D)\ssl_init.$(O) $(OBJ_D)\ssl_mcnf.$(O) \
    $(OBJ_D)\bio_ssl.$(O) \
    $(OBJ_D)\pqueue.$(O) $(OBJ_D)\methods.$(O) \
    $(OBJ_D)\ssl_conf.$(O) \
    $(OBJ_D)\tls_depr.$(O) \
    $(OBJ_D)\ssl_cert_comp.$(O) \
    $(OBJ_D)\statem.$(O) \
    $(OBJ_D)\statem_clnt.$(O) $(OBJ_D)\statem_dtls.$(O) $(OBJ_D)\statem_lib.$(O) $(OBJ_D)\statem_srvr.$(O) \
    $(OBJ_D)\extensions.$(O) \
    $(OBJ_D)\extensions_clnt.$(O) $(OBJ_D)\extensions_cust.$(O) $(OBJ_D)\extensions_srvr.$(O) \
    $(OBJ_D)\rec_layer_s3.$(O) $(OBJ_D)\rec_layer_d1.$(O) \
    $(OBJ_D)\ssl3_cbc.$(O) \
    $(OBJ_D)\tls_pad.$(O) \
    $(OBJ_D)\dtls_meth.$(O) \
    $(OBJ_D)\tls_common.$(O) \
    $(OBJ_D)\tlsany_meth.$(O) \
    $(OBJ_D)\tls13_meth.$(O) \
    $(OBJ_D)\tls1_meth.$(O) \
    $(OBJ_D)\ssl3_meth.$(O) \
    $(OBJ_D)\tls_multib.$(O) \
    $(OBJ_D)\quic_tls.$(O)

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

CRYPTOOBJ32= \
    $(OBJ_D)\mem_clr.$(O) \
    $(OBJ_D)\aes_core.$(O) $(OBJ_D)\aes_cbc.$(O) \
    $(OBJ_D)\chacha_enc.$(O) \
    $(OBJ_D)\rc4_enc.$(O) $(OBJ_D)\rc4_skey.$(O) \
    $(OBJ_D)\keccak1600.$(O)

CRYPTOOBJ64= \
    $(OBJ_D)\bf_enc.$(O) \
    $(OBJ_D)\bn_asm.$(O) $(OBJ_D)\rsaz_exp.$(O) $(OBJ_D)\rsaz_exp_x2.$(O) \
    $(OBJ_D)\c_enc.$(O) \
    $(OBJ_D)\des_enc.$(O) \
    $(OBJ_D)\f_impl64.$(O)

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

CRYPTOOBJASM64= \
    $(OBJ_D)\x86_64cpuid.$(O) \
    $(OBJ_D)\aes-x86_64.$(O) \
    $(OBJ_D)\aesni-x86_64.$(O) \
    $(OBJ_D)\aesni-mb-x86_64.$(O) \
    $(OBJ_D)\aesni-sha1-x86_64.$(O) \
    $(OBJ_D)\aesni-sha256-x86_64.$(O) \
    $(OBJ_D)\aesni-xts-avx512.$(O) \
    $(OBJ_D)\bsaes-x86_64.$(O) \
    $(OBJ_D)\x86_64-gf2m.$(O) \
    $(OBJ_D)\x86_64-mont.$(O) \
    $(OBJ_D)\x86_64-mont5.$(O) \
    $(OBJ_D)\rsaz-x86_64.$(O) \
    $(OBJ_D)\rsaz-avx2.$(O) \
    $(OBJ_D)\rsaz-2k-avx512.$(O) \
    $(OBJ_D)\rsaz-2k-avxifma.$(O) \
    $(OBJ_D)\rsaz-3k-avx512.$(O) \
    $(OBJ_D)\rsaz-3k-avxifma.$(O) \
    $(OBJ_D)\rsaz-4k-avx512.$(O) \
    $(OBJ_D)\rsaz-4k-avxifma.$(O) \
    $(OBJ_D)\chacha-x86_64.$(O) \
    $(OBJ_D)\x25519-x86_64.$(O) \
    $(OBJ_D)\md5-x86_64.$(O) \
    $(OBJ_D)\aes-gcm-avx512.$(O) \
    $(OBJ_D)\aesni-gcm-x86_64.$(O) \
    $(OBJ_D)\ghash-x86_64.$(O) \
    $(OBJ_D)\rc4-x86_64.$(O) \
    $(OBJ_D)\rc4-md5-x86_64.$(O) \
    $(OBJ_D)\keccak1600-x86_64.$(O) \
    $(OBJ_D)\sha1-x86_64.$(O) \
    $(OBJ_D)\sha1-mb-x86_64.$(O) \
    $(OBJ_D)\sha256-x86_64.$(O) \
    $(OBJ_D)\sha256-mb-x86_64.$(O) \
    $(OBJ_D)\sha512-x86_64.$(O)

!ifdef WIN64
CRYPTOOBJASM=$(CRYPTOOBJASM64)
CRYPTOOBJ=$(CRYPTOOBJ) $(CRYPTOOBJ64)
!else
CRYPTOOBJASM=$(CRYPTOOBJASM32)
CRYPTOOBJ=$(CRYPTOOBJ) $(CRYPTOOBJ32)
!endif

###################################################################
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\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_err.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\aes\aes_core.c \
    $(SRC_D)\crypto\aes\aes_cbc.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

CRYPTOSRC64= \
    $(SRC_D)\crypto\bf\bf_enc.c \
    $(SRC_D)\crypto\bn\bn_asm.c \
    $(SRC_D)\crypto\bn\rsaz_exp.c \
    $(SRC_D)\crypto\bn\rsaz_exp_x2.c \
    $(SRC_D)\crypto\cast\c_enc.c \
    $(SRC_D)\crypto\des\des_enc.c \
    $(SRC_D)\crypto\ec\curve448\arch_64\f_impl64.c

!ifdef WIN64
CRYPTOSRC=$(CRYPTOSRC) $(CRYPTOSRC64)
!else
CRYPTOSRC=$(CRYPTOSRC) $(CRYPTOSRC32)
!endif

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

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

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

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

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

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

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

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

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

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

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

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

$(OBJ_D)\x86_64cpuid.$(O): $(SRC_D)\crypto\x86_64cpuid.asm
    $(ASM) -o$(OBJ_D)\x86_64cpuid.$(O) $(SRC_D)\crypto\x86_64cpuid.asm

$(OBJ_D)\aes-x86_64.$(O): $(SRC_D)\crypto\aes\asm\aes-x86_64.asm
    $(ASM) -o$(OBJ_D)\aes-x86_64.$(O) $(SRC_D)\crypto\aes\asm\aes-x86_64.asm

$(OBJ_D)\aesni-x86_64.$(O): $(SRC_D)\crypto\aes\asm\aesni-x86_64.asm
    $(ASM) -o$(OBJ_D)\aesni-x86_64.$(O) $(SRC_D)\crypto\aes\asm\aesni-x86_64.asm

$(OBJ_D)\aesni-mb-x86_64.$(O): $(SRC_D)\crypto\aes\asm\aesni-mb-x86_64.asm
    $(ASM) -o$(OBJ_D)\aesni-mb-x86_64.$(O) $(SRC_D)\crypto\aes\asm\aesni-mb-x86_64.asm

$(OBJ_D)\aesni-sha1-x86_64.$(O): $(SRC_D)\crypto\aes\asm\aesni-sha1-x86_64.asm
    $(ASM) -o$(OBJ_D)\aesni-sha1-x86_64.$(O) $(SRC_D)\crypto\aes\asm\aesni-sha1-x86_64.asm

$(OBJ_D)\aesni-sha256-x86_64.$(O): $(SRC_D)\crypto\aes\asm\aesni-sha256-x86_64.asm
    $(ASM) -o$(OBJ_D)\aesni-sha256-x86_64.$(O) $(SRC_D)\crypto\aes\asm\aesni-sha256-x86_64.asm

$(OBJ_D)\aesni-xts-avx512.$(O): $(SRC_D)\crypto\aes\asm\aesni-xts-avx512.asm
    $(ASM) -o$(OBJ_D)\aesni-xts-avx512.$(O) $(SRC_D)\crypto\aes\asm\aesni-xts-avx512.asm

$(OBJ_D)\bsaes-x86_64.$(O): $(SRC_D)\crypto\aes\asm\bsaes-x86_64.asm
    $(ASM) -o$(OBJ_D)\bsaes-x86_64.$(O) $(SRC_D)\crypto\aes\asm\bsaes-x86_64.asm

$(OBJ_D)\x86_64-gf2m.$(O): $(SRC_D)\crypto\bn\asm\x86_64-gf2m.asm
    $(ASM) -o$(OBJ_D)\x86_64-gf2m.$(O) $(SRC_D)\crypto\bn\asm\x86_64-gf2m.asm

$(OBJ_D)\x86_64-mont.$(O): $(SRC_D)\crypto\bn\asm\x86_64-mont.asm
    $(ASM) -o$(OBJ_D)\x86_64-mont.$(O) $(SRC_D)\crypto\bn\asm\x86_64-mont.asm

$(OBJ_D)\x86_64-mont5.$(O): $(SRC_D)\crypto\bn\asm\x86_64-mont5.asm
    $(ASM) -o$(OBJ_D)\x86_64-mont5.$(O) $(SRC_D)\crypto\bn\asm\x86_64-mont5.asm

$(OBJ_D)\rsaz-x86_64.$(O): $(SRC_D)\crypto\bn\asm\rsaz-x86_64.asm
    $(ASM) -o$(OBJ_D)\rsaz-x86_64.$(O) $(SRC_D)\crypto\bn\asm\rsaz-x86_64.asm

$(OBJ_D)\rsaz-avx2.$(O): $(SRC_D)\crypto\bn\asm\rsaz-avx2.asm
    $(ASM) -o$(OBJ_D)\rsaz-avx2.$(O) $(SRC_D)\crypto\bn\asm\rsaz-avx2.asm

$(OBJ_D)\rsaz-2k-avx512.$(O): $(SRC_D)\crypto\bn\asm\rsaz-2k-avx512.asm
    $(ASM) -o$(OBJ_D)\rsaz-2k-avx512.$(O) $(SRC_D)\crypto\bn\asm\rsaz-2k-avx512.asm

$(OBJ_D)\rsaz-2k-avxifma.$(O): $(SRC_D)\crypto\bn\asm\rsaz-2k-avxifma.asm
    $(ASM) -o$(OBJ_D)\rsaz-2k-avxifma.$(O) $(SRC_D)\crypto\bn\asm\rsaz-2k-avxifma.asm

$(OBJ_D)\rsaz-3k-avx512.$(O): $(SRC_D)\crypto\bn\asm\rsaz-3k-avx512.asm
    $(ASM) -o$(OBJ_D)\rsaz-3k-avx512.$(O) $(SRC_D)\crypto\bn\asm\rsaz-3k-avx512.asm

$(OBJ_D)\rsaz-3k-avxifma.$(O): $(SRC_D)\crypto\bn\asm\rsaz-3k-avxifma.asm
    $(ASM) -o$(OBJ_D)\rsaz-3k-avxifma.$(O) $(SRC_D)\crypto\bn\asm\rsaz-3k-avxifma.asm

$(OBJ_D)\rsaz-4k-avx512.$(O): $(SRC_D)\crypto\bn\asm\rsaz-4k-avx512.asm
    $(ASM) -o$(OBJ_D)\rsaz-4k-avx512.$(O) $(SRC_D)\crypto\bn\asm\rsaz-4k-avx512.asm

$(OBJ_D)\rsaz-4k-avxifma.$(O): $(SRC_D)\crypto\bn\asm\rsaz-4k-avxifma.asm
    $(ASM) -o$(OBJ_D)\rsaz-4k-avxifma.$(O) $(SRC_D)\crypto\bn\asm\rsaz-4k-avxifma.asm

$(OBJ_D)\chacha-x86_64.$(O): $(SRC_D)\crypto\chacha\asm\chacha-x86_64.asm
    $(ASM) -o$(OBJ_D)\chacha-x86_64.$(O) $(SRC_D)\crypto\chacha\asm\chacha-x86_64.asm

$(OBJ_D)\x25519-x86_64.$(O): $(SRC_D)\crypto\ec\asm\x25519-x86_64.asm
    $(ASM) -o$(OBJ_D)\x25519-x86_64.$(O) $(SRC_D)\crypto\ec\asm\x25519-x86_64.asm

$(OBJ_D)\md5-x86_64.$(O): $(SRC_D)\crypto\md5\asm\md5-x86_64.asm
    $(ASM) -o$(OBJ_D)\md5-x86_64.$(O) $(SRC_D)\crypto\md5\asm\md5-x86_64.asm

$(OBJ_D)\aes-gcm-avx512.$(O): $(SRC_D)\crypto\modes\asm\aes-gcm-avx512.asm
    $(ASM) -o$(OBJ_D)\aes-gcm-avx512.$(O) $(SRC_D)\crypto\modes\asm\aes-gcm-avx512.asm

$(OBJ_D)\aesni-gcm-x86_64.$(O): $(SRC_D)\crypto\modes\asm\aesni-gcm-x86_64.asm
    $(ASM) -o$(OBJ_D)\aesni-gcm-x86_64.$(O) $(SRC_D)\crypto\modes\asm\aesni-gcm-x86_64.asm

$(OBJ_D)\ghash-x86_64.$(O): $(SRC_D)\crypto\modes\asm\ghash-x86_64.asm
    $(ASM) -o$(OBJ_D)\ghash-x86_64.$(O) $(SRC_D)\crypto\modes\asm\ghash-x86_64.asm

$(OBJ_D)\rc4-x86_64.$(O): $(SRC_D)\crypto\rc4\asm\rc4-x86_64.asm
    $(ASM) -o$(OBJ_D)\rc4-x86_64.$(O) $(SRC_D)\crypto\rc4\asm\rc4-x86_64.asm

$(OBJ_D)\rc4-md5-x86_64.$(O): $(SRC_D)\crypto\rc4\asm\rc4-md5-x86_64.asm
    $(ASM) -o$(OBJ_D)\rc4-md5-x86_64.$(O) $(SRC_D)\crypto\rc4\asm\rc4-md5-x86_64.asm

$(OBJ_D)\keccak1600-x86_64.$(O): $(SRC_D)\crypto\sha\asm\keccak1600-x86_64.asm
    $(ASM) -o$(OBJ_D)\keccak1600-x86_64.$(O) $(SRC_D)\crypto\sha\asm\keccak1600-x86_64.asm

$(OBJ_D)\sha1-x86_64.$(O): $(SRC_D)\crypto\sha\asm\sha1-x86_64.asm
    $(ASM) -o$(OBJ_D)\sha1-x86_64.$(O) $(SRC_D)\crypto\sha\asm\sha1-x86_64.asm

$(OBJ_D)\sha1-mb-x86_64.$(O): $(SRC_D)\crypto\sha\asm\sha1-mb-x86_64.asm
    $(ASM) -o$(OBJ_D)\sha1-mb-x86_64.$(O) $(SRC_D)\crypto\sha\asm\sha1-mb-x86_64.asm

$(OBJ_D)\sha256-x86_64.$(O): $(SRC_D)\crypto\sha\asm\sha256-x86_64.asm
    $(ASM) -o$(OBJ_D)\sha256-x86_64.$(O) $(SRC_D)\crypto\sha\asm\sha256-x86_64.asm

$(OBJ_D)\sha256-mb-x86_64.$(O): $(SRC_D)\crypto\sha\asm\sha256-mb-x86_64.asm
    $(ASM) -o$(OBJ_D)\sha256-mb-x86_64.$(O) $(SRC_D)\crypto\sha\asm\sha256-mb-x86_64.asm

$(OBJ_D)\sha512-x86_64.$(O): $(SRC_D)\crypto\sha\asm\sha512-x86_64.asm
    $(ASM) -o$(OBJ_D)\sha512-x86_64.$(O) $(SRC_D)\crypto\sha\asm\sha512-x86_64.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:   =" ")"
!
