1# Note that some of these directories are filtered in Configure. Look for 2# %skipdir there for further explanations. 3 4SUBDIRS=crypto ssl apps util tools fuzz providers doc 5IF[{- !$disabled{tests} -}] 6 SUBDIRS=test 7ENDIF 8IF[{- !$disabled{demos} -}] 9 SUBDIRS=demos 10ENDIF 11IF[{- !$disabled{'deprecated-3.0'} -}] 12 SUBDIRS=engines 13ENDIF 14SUBDIRS=exporters 15 16LIBS=libcrypto libssl 17INCLUDE[libcrypto]=. include 18INCLUDE[libssl]=. include 19DEPEND[libssl]=libcrypto 20 21# Empty DEPEND "indices" means the dependencies are expected to be built 22# unconditionally before anything else. 23DEPEND[]=include/openssl/asn1.h \ 24 include/openssl/asn1t.h \ 25 include/openssl/bio.h \ 26 include/openssl/cmp.h \ 27 include/openssl/cms.h \ 28 include/openssl/conf.h \ 29 include/openssl/comp.h \ 30 include/openssl/core_names.h \ 31 include/openssl/crmf.h \ 32 include/openssl/crypto.h \ 33 include/openssl/ct.h \ 34 include/openssl/err.h \ 35 include/openssl/ess.h \ 36 include/openssl/fipskey.h \ 37 include/openssl/lhash.h \ 38 include/openssl/opensslv.h \ 39 include/openssl/ocsp.h \ 40 include/openssl/pkcs12.h \ 41 include/openssl/pkcs7.h \ 42 include/openssl/safestack.h \ 43 include/openssl/srp.h \ 44 include/openssl/ssl.h \ 45 include/openssl/ui.h \ 46 include/openssl/x509.h \ 47 include/openssl/x509v3.h \ 48 include/openssl/x509_acert.h \ 49 include/openssl/x509_vfy.h \ 50 include/crypto/bn_conf.h include/crypto/dso_conf.h \ 51 include/internal/param_names.h crypto/params_idx.c 52 53GENERATE[include/openssl/asn1.h]=include/openssl/asn1.h.in 54GENERATE[include/openssl/asn1t.h]=include/openssl/asn1t.h.in 55GENERATE[include/openssl/bio.h]=include/openssl/bio.h.in 56GENERATE[include/openssl/cmp.h]=include/openssl/cmp.h.in 57GENERATE[include/openssl/cms.h]=include/openssl/cms.h.in 58GENERATE[include/openssl/conf.h]=include/openssl/conf.h.in 59GENERATE[include/openssl/comp.h]=include/openssl/comp.h.in 60# include/openssl/configuration.h is generated by configdata.pm 61# We still need this information for the FIPS module checksum, but the attribute 62# 'skip' ensures that nothing is actually done with it. 63GENERATE[include/openssl/configuration.h]{skip}=include/openssl/configuration.h.in 64GENERATE[include/openssl/crmf.h]=include/openssl/crmf.h.in 65GENERATE[include/openssl/crypto.h]=include/openssl/crypto.h.in 66GENERATE[include/openssl/ct.h]=include/openssl/ct.h.in 67GENERATE[include/openssl/err.h]=include/openssl/err.h.in 68GENERATE[include/openssl/ess.h]=include/openssl/ess.h.in 69GENERATE[include/openssl/fipskey.h]=include/openssl/fipskey.h.in 70GENERATE[include/openssl/lhash.h]=include/openssl/lhash.h.in 71GENERATE[include/openssl/ocsp.h]=include/openssl/ocsp.h.in 72GENERATE[include/openssl/opensslv.h]=include/openssl/opensslv.h.in 73GENERATE[include/openssl/pkcs12.h]=include/openssl/pkcs12.h.in 74GENERATE[include/openssl/pkcs7.h]=include/openssl/pkcs7.h.in 75GENERATE[include/openssl/safestack.h]=include/openssl/safestack.h.in 76GENERATE[include/openssl/srp.h]=include/openssl/srp.h.in 77GENERATE[include/openssl/ssl.h]=include/openssl/ssl.h.in 78GENERATE[include/openssl/ui.h]=include/openssl/ui.h.in 79GENERATE[include/openssl/x509.h]=include/openssl/x509.h.in 80GENERATE[include/openssl/x509v3.h]=include/openssl/x509v3.h.in 81GENERATE[include/openssl/x509_acert.h]=include/openssl/x509_acert.h.in 82GENERATE[include/openssl/x509_vfy.h]=include/openssl/x509_vfy.h.in 83GENERATE[include/crypto/bn_conf.h]=include/crypto/bn_conf.h.in 84GENERATE[include/crypto/dso_conf.h]=include/crypto/dso_conf.h.in 85 86DEPEND[crypto/params_idx.c \ 87 include/internal/param_names.h \ 88 include/openssl/core_names.h]=util/perl|OpenSSL/paramnames.pm 89GENERATE[crypto/params_idx.c]=crypto/params_idx.c.in 90GENERATE[include/internal/param_names.h]=include/internal/param_names.h.in 91GENERATE[include/openssl/core_names.h]=include/openssl/core_names.h.in 92 93IF[{- defined $target{shared_defflag} -}] 94 SHARED_SOURCE[libcrypto]=libcrypto.ld 95 SHARED_SOURCE[libssl]=libssl.ld 96 97 GENERATE[libcrypto.ld]=util/libcrypto.num libcrypto 98 GENERATE[libssl.ld]=util/libssl.num libssl 99 DEPEND[libcrypto.ld libssl.ld]=configdata.pm util/perl/OpenSSL/Ordinals.pm 100ENDIF 101 102IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-|BC-)/ -}] 103 GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto 104 GENERATE[libssl.rc]=util/mkrc.pl libssl 105 DEPEND[libcrypto.rc libssl.rc]=configdata.pm 106 107 SHARED_SOURCE[libcrypto]=libcrypto.rc 108 SHARED_SOURCE[libssl]=libssl.rc 109ENDIF 110 111# This file sets the build directory up for CMake inclusion 112# Note: This generation of OpenSSLConfig[Version].cmake is used 113# for building openssl locally, and so the build variables are 114# taken from builddata.pm rather than installdata.pm. For exportable 115# versions of these generated files, you'll find them in the exporters 116# directory 117GENERATE[OpenSSLConfig.cmake]=exporters/cmake/OpenSSLConfig.cmake.in 118DEPEND[OpenSSLConfig.cmake]=builddata.pm 119GENERATE[OpenSSLConfigVersion.cmake]=exporters/cmake/OpenSSLConfigVersion.cmake.in 120DEPEND[OpenSSLConfigVersion.cmake]=builddata.pm 121DEPEND[OpenSSLConfigVersion.cmake]=OpenSSLConfig.cmake 122DEPEND[""]=OpenSSLConfigVersion.cmake 123 124# This file sets the build directory up for pkg-config 125GENERATE[libcrypto.pc]=exporters/pkg-config/libcrypto.pc.in 126DEPEND[libcrypto.pc]=builddata.pm 127GENERATE[libssl.pc]=exporters/pkg-config/libssl.pc.in 128DEPEND[libssl.pc]=builddata.pm 129GENERATE[openssl.pc]=exporters/pkg-config/openssl.pc.in 130DEPEND[openssl.pc]=builddata.pm 131DEPEND[openssl.pc]=libcrypto.pc libssl.pc 132 133GENERATE[builddata.pm]=util/mkinstallvars.pl \ 134 PREFIX=. BINDIR=apps APPLINKDIR=ms \ 135 LIBDIR= INCLUDEDIR=include "INCLUDEDIR=$(SRCDIR)/include" \ 136 ENGINESDIR=engines MODULESDIR=providers \ 137 "VERSION=$(VERSION)" "LDLIBS=$(LIB_EX_LIBS)" 138 139DEPEND[""]=openssl.pc 140