# Note that some of these directories are filtered in Configure. Look for # %skipdir there for further explanations. SUBDIRS=crypto ssl apps util tools fuzz providers doc IF[{- !$disabled{tests} -}] SUBDIRS=test ENDIF IF[{- !$disabled{demos} -}] SUBDIRS=demos ENDIF IF[{- !$disabled{'deprecated-3.0'} -}] SUBDIRS=engines ENDIF SUBDIRS=exporters LIBS=libcrypto libssl INCLUDE[libcrypto]=. include INCLUDE[libssl]=. include DEPEND[libssl]=libcrypto # Empty DEPEND "indices" means the dependencies are expected to be built # unconditionally before anything else. DEPEND[]=include/openssl/asn1.h \ include/openssl/asn1t.h \ include/openssl/bio.h \ include/openssl/cmp.h \ include/openssl/cms.h \ include/openssl/conf.h \ include/openssl/comp.h \ include/openssl/core_names.h \ include/openssl/crmf.h \ include/openssl/crypto.h \ include/openssl/ct.h \ include/openssl/err.h \ include/openssl/ess.h \ include/openssl/fipskey.h \ include/openssl/lhash.h \ include/openssl/opensslv.h \ include/openssl/ocsp.h \ include/openssl/pkcs12.h \ include/openssl/pkcs7.h \ include/openssl/safestack.h \ include/openssl/srp.h \ include/openssl/ssl.h \ include/openssl/ui.h \ include/openssl/x509.h \ include/openssl/x509v3.h \ include/openssl/x509_acert.h \ include/openssl/x509_vfy.h \ include/crypto/bn_conf.h include/crypto/dso_conf.h \ providers/implementations/asymciphers/rsa_enc.c \ providers/implementations/asymciphers/sm2_enc.c \ providers/implementations/exchange/dh_exch.c \ providers/implementations/exchange/ecdh_exch.c \ providers/implementations/exchange/ecx_exch.c \ providers/implementations/encode_decode/decode_der2key.c \ providers/implementations/encode_decode/decode_epki2pki.c \ providers/implementations/encode_decode/decode_pem2der.c \ providers/implementations/encode_decode/decode_pvk2key.c \ providers/implementations/encode_decode/decode_spki2typespki.c \ providers/implementations/encode_decode/encode_key2any.c \ providers/implementations/encode_decode/encode_key2ms.c \ providers/implementations/kdfs/argon2.c \ providers/implementations/kdfs/hkdf.c \ providers/implementations/kdfs/hmacdrbg_kdf.c \ providers/implementations/kdfs/kbkdf.c \ providers/implementations/kdfs/krb5kdf.c \ providers/implementations/kdfs/pbkdf1.c \ providers/implementations/kdfs/pbkdf2.c \ providers/implementations/kdfs/pkcs12kdf.c \ providers/implementations/kdfs/pvkkdf.c \ providers/implementations/kdfs/scrypt.c \ providers/implementations/kdfs/sshkdf.c \ providers/implementations/kdfs/sskdf.c \ providers/implementations/kdfs/tls1_prf.c \ providers/implementations/kdfs/x942kdf.c \ providers/implementations/kem/ec_kem.c \ providers/implementations/kem/ecx_kem.c \ providers/implementations/kem/ml_kem_kem.c \ providers/implementations/kem/rsa_kem.c \ providers/implementations/keymgmt/ecx_kmgmt.c \ providers/implementations/keymgmt/lms_kmgmt.c \ providers/implementations/keymgmt/ml_dsa_kmgmt.c \ providers/implementations/keymgmt/ml_kem_kmgmt.c \ providers/implementations/keymgmt/mlx_kmgmt.c \ providers/implementations/keymgmt/slh_dsa_kmgmt.c \ providers/implementations/keymgmt/template_kmgmt.c \ providers/implementations/signature/dsa_sig.c \ providers/implementations/signature/ecdsa_sig.c \ providers/implementations/signature/eddsa_sig.c \ providers/implementations/signature/ml_dsa_sig.c \ providers/implementations/signature/rsa_sig.c \ providers/implementations/signature/slh_dsa_sig.c \ providers/implementations/signature/sm2_sig.c \ providers/implementations/skeymgmt/generic.c \ providers/implementations/storemgmt/file_store_any2obj.c \ providers/implementations/storemgmt/file_store.c \ providers/implementations/storemgmt/winstore_store.c \ providers/implementations/ciphers/ciphercommon.c \ providers/implementations/ciphers/ciphercommon_ccm.c \ providers/implementations/ciphers/ciphercommon_gcm.c \ providers/implementations/ciphers/cipher_chacha20_poly1305.c \ providers/implementations/digests/blake2_prov.c \ providers/implementations/digests/digestcommon.c \ providers/implementations/digests/sha3_prov.c \ providers/implementations/include/prov/blake2_params.inc \ providers/implementations/macs/cmac_prov.c \ providers/implementations/macs/gmac_prov.c \ providers/implementations/macs/hmac_prov.c \ providers/implementations/macs/kmac_prov.c \ providers/implementations/macs/poly1305_prov.c \ providers/implementations/macs/siphash_prov.c \ providers/implementations/rands/drbg_ctr.c \ providers/implementations/rands/drbg_hash.c \ providers/implementations/rands/drbg_hmac.c \ providers/implementations/rands/fips_crng_test.c \ providers/implementations/rands/seed_src.c \ providers/implementations/rands/seed_src_jitter.c \ providers/implementations/rands/test_rng.c GENERATE[include/openssl/asn1.h]=include/openssl/asn1.h.in GENERATE[include/openssl/asn1t.h]=include/openssl/asn1t.h.in GENERATE[include/openssl/bio.h]=include/openssl/bio.h.in GENERATE[include/openssl/cmp.h]=include/openssl/cmp.h.in GENERATE[include/openssl/cms.h]=include/openssl/cms.h.in GENERATE[include/openssl/conf.h]=include/openssl/conf.h.in GENERATE[include/openssl/comp.h]=include/openssl/comp.h.in # include/openssl/configuration.h is generated by configdata.pm # We still need this information for the FIPS module checksum, but the attribute # 'skip' ensures that nothing is actually done with it. GENERATE[include/openssl/configuration.h]{skip}=include/openssl/configuration.h.in GENERATE[include/openssl/crmf.h]=include/openssl/crmf.h.in GENERATE[include/openssl/crypto.h]=include/openssl/crypto.h.in GENERATE[include/openssl/ct.h]=include/openssl/ct.h.in GENERATE[include/openssl/err.h]=include/openssl/err.h.in GENERATE[include/openssl/ess.h]=include/openssl/ess.h.in GENERATE[include/openssl/fipskey.h]=include/openssl/fipskey.h.in GENERATE[include/openssl/lhash.h]=include/openssl/lhash.h.in GENERATE[include/openssl/ocsp.h]=include/openssl/ocsp.h.in GENERATE[include/openssl/opensslv.h]=include/openssl/opensslv.h.in GENERATE[include/openssl/pkcs12.h]=include/openssl/pkcs12.h.in GENERATE[include/openssl/pkcs7.h]=include/openssl/pkcs7.h.in GENERATE[include/openssl/safestack.h]=include/openssl/safestack.h.in GENERATE[include/openssl/srp.h]=include/openssl/srp.h.in GENERATE[include/openssl/ssl.h]=include/openssl/ssl.h.in GENERATE[include/openssl/ui.h]=include/openssl/ui.h.in GENERATE[include/openssl/x509.h]=include/openssl/x509.h.in GENERATE[include/openssl/x509v3.h]=include/openssl/x509v3.h.in GENERATE[include/openssl/x509_acert.h]=include/openssl/x509_acert.h.in GENERATE[include/openssl/x509_vfy.h]=include/openssl/x509_vfy.h.in GENERATE[include/crypto/bn_conf.h]=include/crypto/bn_conf.h.in GENERATE[include/crypto/dso_conf.h]=include/crypto/dso_conf.h.in DEPEND[providers/implementations/asymciphers/rsa_enc.c \ providers/implementations/asymciphers/sm2_enc.c \ providers/implementations/exchange/dh_exch.c \ providers/implementations/exchange/ecdh_exch.c \ providers/implementations/exchange/ecx_exch.c \ providers/implementations/encode_decode/decode_der2key.c \ providers/implementations/encode_decode/decode_epki2pki.c \ providers/implementations/encode_decode/decode_pem2der.c \ providers/implementations/encode_decode/decode_pvk2key.c \ providers/implementations/encode_decode/decode_spki2typespki.c \ providers/implementations/encode_decode/encode_key2any.c \ providers/implementations/encode_decode/encode_key2ms.c \ providers/implementations/kdfs/argon2.c \ providers/implementations/kdfs/hkdf.c \ providers/implementations/kdfs/hmacdrbg_kdf.c \ providers/implementations/kdfs/kbkdf.c \ providers/implementations/kdfs/krb5kdf.c \ providers/implementations/kdfs/pbkdf1.c \ providers/implementations/kdfs/pbkdf2.c \ providers/implementations/kdfs/pkcs12kdf.c \ providers/implementations/kdfs/pvkkdf.c \ providers/implementations/kdfs/scrypt.c \ providers/implementations/kdfs/sshkdf.c \ providers/implementations/kdfs/sskdf.c \ providers/implementations/kdfs/tls1_prf.c \ providers/implementations/kdfs/x942kdf.c \ providers/implementations/kem/ec_kem.c \ providers/implementations/kem/ecx_kem.c \ providers/implementations/kem/ml_kem_kem.c \ providers/implementations/kem/rsa_kem.c \ providers/implementations/keymgmt/ecx_kmgmt.c \ providers/implementations/keymgmt/lms_kmgmt.c \ providers/implementations/keymgmt/ml_dsa_kmgmt.c \ providers/implementations/keymgmt/ml_kem_kmgmt.c \ providers/implementations/keymgmt/mlx_kmgmt.c \ providers/implementations/keymgmt/slh_dsa_kmgmt.c \ providers/implementations/keymgmt/template_kmgmt.c \ providers/implementations/signature/dsa_sig.c \ providers/implementations/signature/ecdsa_sig.c \ providers/implementations/signature/eddsa_sig.c \ providers/implementations/signature/ml_dsa_sig.c \ providers/implementations/signature/rsa_sig.c \ providers/implementations/signature/slh_dsa_sig.c \ providers/implementations/signature/sm2_sig.c \ providers/implementations/skeymgmt/generic.c \ providers/implementations/storemgmt/file_store_any2obj.c \ providers/implementations/storemgmt/file_store.c \ providers/implementations/storemgmt/winstore_store.c \ providers/implementations/ciphers/ciphercommon.c \ providers/implementations/ciphers/ciphercommon_ccm.c \ providers/implementations/ciphers/ciphercommon_gcm.c \ providers/implementations/ciphers/cipher_chacha20_poly1305.c \ providers/implementations/digests/blake2_prov.c \ providers/implementations/digests/digestcommon.c \ providers/implementations/digests/sha3_prov.c \ providers/implementations/include/prov/blake2_params.inc \ providers/implementations/macs/cmac_prov.c \ providers/implementations/macs/gmac_prov.c \ providers/implementations/macs/hmac_prov.c \ providers/implementations/macs/kmac_prov.c \ providers/implementations/macs/poly1305_prov.c \ providers/implementations/macs/siphash_prov.c \ providers/implementations/rands/drbg_ctr.c \ providers/implementations/rands/drbg_hash.c \ providers/implementations/rands/drbg_hmac.c \ providers/implementations/rands/fips_crng_test.c \ providers/implementations/rands/seed_src.c \ providers/implementations/rands/seed_src_jitter.c \ providers/implementations/rands/test_rng.c \ include/openssl/core_names.h]=util/perl|OpenSSL/paramnames.pm GENERATE[providers/implementations/asymciphers/rsa_enc.c]=\ providers/implementations/asymciphers/rsa_enc.c.in GENERATE[providers/implementations/asymciphers/sm2_enc.c]=\ providers/implementations/asymciphers/sm2_enc.c.in GENERATE[providers/implementations/exchange/dh_exch.c]=\ providers/implementations/exchange/dh_exch.c.in GENERATE[providers/implementations/exchange/ecdh_exch.c]=\ providers/implementations/exchange/ecdh_exch.c.in GENERATE[providers/implementations/exchange/ecx_exch.c]=\ providers/implementations/exchange/ecx_exch.c.in GENERATE[providers/implementations/encode_decode/decode_der2key.c]=\ providers/implementations/encode_decode/decode_der2key.c.in GENERATE[providers/implementations/encode_decode/decode_epki2pki.c]=\ providers/implementations/encode_decode/decode_epki2pki.c.in GENERATE[providers/implementations/encode_decode/decode_pem2der.c]=\ providers/implementations/encode_decode/decode_pem2der.c.in GENERATE[providers/implementations/encode_decode/decode_pvk2key.c]=\ providers/implementations/encode_decode/decode_pvk2key.c.in GENERATE[providers/implementations/encode_decode/decode_spki2typespki.c]=\ providers/implementations/encode_decode/decode_spki2typespki.c.in GENERATE[providers/implementations/encode_decode/encode_key2any.c]=\ providers/implementations/encode_decode/encode_key2any.c.in GENERATE[providers/implementations/encode_decode/encode_key2ms.c]=\ providers/implementations/encode_decode/encode_key2ms.c.in GENERATE[providers/implementations/kdfs/argon2.c]=\ providers/implementations/kdfs/argon2.c.in GENERATE[providers/implementations/kdfs/hkdf.c]=\ providers/implementations/kdfs/hkdf.c.in GENERATE[providers/implementations/kdfs/hmacdrbg_kdf.c]=\ providers/implementations/kdfs/hmacdrbg_kdf.c.in GENERATE[providers/implementations/kdfs/kbkdf.c]=\ providers/implementations/kdfs/kbkdf.c.in GENERATE[providers/implementations/kdfs/krb5kdf.c]=\ providers/implementations/kdfs/krb5kdf.c.in GENERATE[providers/implementations/kdfs/pbkdf1.c]=\ providers/implementations/kdfs/pbkdf1.c.in GENERATE[providers/implementations/kdfs/pbkdf2.c]=\ providers/implementations/kdfs/pbkdf2.c.in GENERATE[providers/implementations/kdfs/pkcs12kdf.c]=\ providers/implementations/kdfs/pkcs12kdf.c.in GENERATE[providers/implementations/kdfs/pvkkdf.c]=\ providers/implementations/kdfs/pvkkdf.c.in GENERATE[providers/implementations/kdfs/scrypt.c]=\ providers/implementations/kdfs/scrypt.c.in GENERATE[providers/implementations/kdfs/sshkdf.c]=\ providers/implementations/kdfs/sshkdf.c.in GENERATE[providers/implementations/kdfs/sskdf.c]=\ providers/implementations/kdfs/sskdf.c.in GENERATE[providers/implementations/kdfs/tls1_prf.c]=\ providers/implementations/kdfs/tls1_prf.c.in GENERATE[providers/implementations/kdfs/x942kdf.c]=\ providers/implementations/kdfs/x942kdf.c.in GENERATE[providers/implementations/kem/ec_kem.c]=\ providers/implementations/kem/ec_kem.c.in GENERATE[providers/implementations/kem/ecx_kem.c]=\ providers/implementations/kem/ecx_kem.c.in GENERATE[providers/implementations/kem/ml_kem_kem.c]=\ providers/implementations/kem/ml_kem_kem.c.in GENERATE[providers/implementations/kem/rsa_kem.c]=\ providers/implementations/kem/rsa_kem.c.in GENERATE[providers/implementations/keymgmt/ecx_kmgmt.c]=\ providers/implementations/keymgmt/ecx_kmgmt.c.in GENERATE[providers/implementations/keymgmt/lms_kmgmt.c]=\ providers/implementations/keymgmt/lms_kmgmt.c.in GENERATE[providers/implementations/keymgmt/ml_dsa_kmgmt.c]=\ providers/implementations/keymgmt/ml_dsa_kmgmt.c.in GENERATE[providers/implementations/keymgmt/ml_kem_kmgmt.c]=\ providers/implementations/keymgmt/ml_kem_kmgmt.c.in GENERATE[providers/implementations/keymgmt/mlx_kmgmt.c]=\ providers/implementations/keymgmt/mlx_kmgmt.c.in GENERATE[providers/implementations/keymgmt/slh_dsa_kmgmt.c]=\ providers/implementations/keymgmt/slh_dsa_kmgmt.c.in GENERATE[providers/implementations/keymgmt/template_kmgmt.c]=\ providers/implementations/keymgmt/template_kmgmt.c.in GENERATE[providers/implementations/signature/dsa_sig.c]=\ providers/implementations/signature/dsa_sig.c.in GENERATE[providers/implementations/signature/ecdsa_sig.c]=\ providers/implementations/signature/ecdsa_sig.c.in GENERATE[providers/implementations/signature/eddsa_sig.c]=\ providers/implementations/signature/eddsa_sig.c.in GENERATE[providers/implementations/signature/ml_dsa_sig.c]=\ providers/implementations/signature/ml_dsa_sig.c.in GENERATE[providers/implementations/signature/rsa_sig.c]=\ providers/implementations/signature/rsa_sig.c.in GENERATE[providers/implementations/signature/slh_dsa_sig.c]=\ providers/implementations/signature/slh_dsa_sig.c.in GENERATE[providers/implementations/signature/sm2_sig.c]=\ providers/implementations/signature/sm2_sig.c.in GENERATE[providers/implementations/skeymgmt/generic.c]=\ providers/implementations/skeymgmt/generic.c.in GENERATE[providers/implementations/storemgmt/file_store_any2obj.c]=\ providers/implementations/storemgmt/file_store_any2obj.c.in GENERATE[providers/implementations/storemgmt/file_store.c]=\ providers/implementations/storemgmt/file_store.c.in GENERATE[providers/implementations/storemgmt/winstore_store.c]=\ providers/implementations/storemgmt/winstore_store.c.in GENERATE[providers/implementations/ciphers/ciphercommon.c]=\ providers/implementations/ciphers/ciphercommon.c.in GENERATE[providers/implementations/ciphers/ciphercommon_ccm.c]=\ providers/implementations/ciphers/ciphercommon_ccm.c.in GENERATE[providers/implementations/ciphers/ciphercommon_gcm.c]=\ providers/implementations/ciphers/ciphercommon_gcm.c.in GENERATE[providers/implementations/ciphers/cipher_chacha20_poly1305.c]=\ providers/implementations/ciphers/cipher_chacha20_poly1305.c.in GENERATE[providers/implementations/digests/blake2_prov.c]=\ providers/implementations/digests/blake2_prov.c.in GENERATE[providers/implementations/digests/digestcommon.c]=\ providers/implementations/digests/digestcommon.c.in GENERATE[providers/implementations/digests/sha3_prov.c]=\ providers/implementations/digests/sha3_prov.c.in GENERATE[providers/implementations/include/prov/blake2_params.inc]=\ providers/implementations/include/prov/blake2_params.inc.in GENERATE[providers/implementations/macs/cmac_prov.c]=\ providers/implementations/macs/cmac_prov.c.in GENERATE[providers/implementations/macs/gmac_prov.c]=\ providers/implementations/macs/gmac_prov.c.in GENERATE[providers/implementations/macs/hmac_prov.c]=\ providers/implementations/macs/hmac_prov.c.in GENERATE[providers/implementations/macs/kmac_prov.c]=\ providers/implementations/macs/kmac_prov.c.in GENERATE[providers/implementations/macs/poly1305_prov.c]=\ providers/implementations/macs/poly1305_prov.c.in GENERATE[providers/implementations/macs/siphash_prov.c]=\ providers/implementations/macs/siphash_prov.c.in GENERATE[providers/implementations/rands/drbg_ctr.c]=\ providers/implementations/rands/drbg_ctr.c.in GENERATE[providers/implementations/rands/drbg_hash.c]=\ providers/implementations/rands/drbg_hash.c.in GENERATE[providers/implementations/rands/drbg_hmac.c]=\ providers/implementations/rands/drbg_hmac.c.in GENERATE[providers/implementations/rands/fips_crng_test.c]=\ providers/implementations/rands/fips_crng_test.c.in GENERATE[providers/implementations/rands/seed_src.c]=\ providers/implementations/rands/seed_src.c.in GENERATE[providers/implementations/rands/seed_src_jitter.c]=\ providers/implementations/rands/seed_src_jitter.c.in GENERATE[providers/implementations/rands/test_rng.c]=\ providers/implementations/rands/test_rng.c.in GENERATE[include/openssl/core_names.h]=include/openssl/core_names.h.in IF[{- defined $target{shared_defflag} -}] SHARED_SOURCE[libcrypto]=libcrypto.ld SHARED_SOURCE[libssl]=libssl.ld GENERATE[libcrypto.ld]=util/libcrypto.num libcrypto GENERATE[libssl.ld]=util/libssl.num libssl DEPEND[libcrypto.ld libssl.ld]=configdata.pm util/perl/OpenSSL/Ordinals.pm ENDIF IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-|BC-)/ -}] GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto GENERATE[libssl.rc]=util/mkrc.pl libssl DEPEND[libcrypto.rc libssl.rc]=configdata.pm SHARED_SOURCE[libcrypto]=libcrypto.rc SHARED_SOURCE[libssl]=libssl.rc ENDIF # These files set the build directory up for CMake inclusion. # To achieve this, their variables are taken from builddata.pm. # These files are not installed; you will find the installable # versions in the 'exporters' directory. GENERATE[OpenSSLConfig.cmake]=exporters/cmake/OpenSSLConfig.cmake.in DEPEND[OpenSSLConfig.cmake]=builddata.pm GENERATE[OpenSSLConfigVersion.cmake]=exporters/cmake/OpenSSLConfigVersion.cmake.in DEPEND[OpenSSLConfigVersion.cmake]=builddata.pm DEPEND[OpenSSLConfigVersion.cmake]=OpenSSLConfig.cmake DEPEND[""]=OpenSSLConfigVersion.cmake # These files set the build directory up for pkg-config use. # To achieve this, their variables are taken from builddata.pm. # These files are not installed; you will find the installable # versions in the 'exporters' directory. GENERATE[libcrypto.pc]=exporters/pkg-config/libcrypto.pc.in DEPEND[libcrypto.pc]=builddata.pm GENERATE[libssl.pc]=exporters/pkg-config/libssl.pc.in DEPEND[libssl.pc]=builddata.pm GENERATE[openssl.pc]=exporters/pkg-config/openssl.pc.in DEPEND[openssl.pc]=builddata.pm DEPEND[openssl.pc]=libcrypto.pc libssl.pc GENERATE[builddata.pm]=util/mkinstallvars.pl \ COMMENT="This file should be used when building against this OpenSSL build, and should never be installed" \ PREFIX=. BINDIR=apps APPLINKDIR=ms \ LIBDIR= INCLUDEDIR=include "INCLUDEDIR=$(SRCDIR)/include" \ ENGINESDIR=engines MODULESDIR=providers \ "VERSION=$(VERSION)" "LDLIBS=$(LIB_EX_LIBS)" DEPEND[""]=openssl.pc