/
githubmirror
/
xmlsec
Обзор
Документация
Войти
/
githubmirror
/
xmlsec
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
win32/Makefile.msvc
1 138 строк
46 KB
lsh123
(xmlsec-windows) Added `apps` option to `configure.ps1` (#1218)
22 июл 2026, 04:12
Не верифицирован
22 июл 2026, 04:12
5fdd47d
Код
Авторство
О чём код?
# Makefile for xmlsec, specific for Windows, MSVC and NMAKE. # # Take a look at the beginning and modify the variables to suit your # environment. Having done that, you can do a # # nmake [all] to build the xmlsec and the accompanying utilities. # nmake clean to remove all compiler output files and return to a # clean state. # nmake rebuild to rebuild everything from scratch. This basically does # a 'nmake clean' and then a 'nmake all'. # nmake install to install the library and its header files. # # March 2002, Igor Zlatkovic <igor@stud.fh-frankfurt.de> # Created for LibXML and LibXSLT # April 2002, Aleksey Sanin <aleksey@aleksey.com> # Modified for XMLSec Libary # AUTOCONF = .\configure.txt # If you cannot run the configuration script, which would take the burden of # editing this file from your back, then remove the following line... !include $(AUTOCONF) # ...and enable the following lines and adapt them to your environment. #BASEDIR = .. #XMLSEC_SRCDIR = $(BASEDIR)\src #APPS_SRCDIR = $(BASEDIR)\apps #BINDIR = binaries #XMLSEC_MAJOR_VERSION = 0 # set this to the right value. #XMLSEC_MINOR_VERSION = 0 # set this to the right value. #XMLSEC_MICRO_VERSION = 0 # set this to the right value. #WITH_XMLSEC_DEBUG = 1 #UNICODE = 1 #DEBUG = 0 #MEMCHECK = 0 #WITH_CRYPTO=openssl #WITH_DEFAULT_CRYPTO=openssl #WITH_OPENSSL=1 #WITH_OPENSSL_VERSION= #WITH_OPENSSL3_ENGINES=0 #WITH_NSS=0 #WITH_MSCRYPTO=0 #WITH_MSCNG=0 #WITH_LIBXSLT=1 #STATIC = 0 #WITH_APPS = 1 #PEDANTIC = 1 #PREFIX = . # set this to the right value. #BINPREFIX = $(PREFIX)\bin #INCPREFIX = $(PREFIX)\include #LIBPREFIX = $(PREFIX)\lib #SOPREFIX = $(PREFIX)\bin #INCLUDE = $(INCLUDE);$(INCPREFIX) #LIB = $(LIB);$(LIBPREFIX) # There should never be a need to modify anything below this line. # ---------------------------------------------------------------- # # Names of various input and output components. # !if "$(STATIC)" == "1" APP_NAME = xmlseca.exe UNIT_TESTS_APP_NAME = xmlsec_unit_testsa.exe XMLSEC_FUZZER_APP_NAME = xmlsec_fuzzera.exe XMLSEC_DSIG_VERIFY_FUZZER_APP_NAME = xmlsec_dsig_verify_fuzzera.exe !else APP_NAME = xmlsec.exe UNIT_TESTS_APP_NAME = xmlsec_unit_tests.exe XMLSEC_FUZZER_APP_NAME = xmlsec_fuzzer.exe XMLSEC_DSIG_VERIFY_FUZZER_APP_NAME = xmlsec_dsig_verify_fuzzer.exe !endif APP_NAME_MANIFEST = $(APP_NAME).manifest XMLSEC_NAME = xmlsec XMLSEC_BASENAME = lib$(XMLSEC_NAME) XMLSEC_SO = $(XMLSEC_BASENAME).dll XMLSEC_SO_MANIFEST = $(XMLSEC_BASENAME).dll.manifest XMLSEC_PDB = $(XMLSEC_BASENAME).pdb XMLSEC_IMP = $(XMLSEC_BASENAME).lib XMLSEC_A = $(XMLSEC_BASENAME)_a.lib XMLSEC_OPENSSL_NAME = $(XMLSEC_NAME)-openssl XMLSEC_OPENSSL_BASENAME = lib$(XMLSEC_OPENSSL_NAME) XMLSEC_OPENSSL_SO = $(XMLSEC_OPENSSL_BASENAME).dll XMLSEC_OPENSSL_SO_MANIFEST = $(XMLSEC_OPENSSL_BASENAME).dll.manifest XMLSEC_OPENSSL_PDB = $(XMLSEC_OPENSSL_BASENAME).pdb XMLSEC_OPENSSL_IMP = $(XMLSEC_OPENSSL_BASENAME).lib XMLSEC_OPENSSL_A = $(XMLSEC_OPENSSL_BASENAME)_a.lib XMLSEC_NSS_NAME = $(XMLSEC_NAME)-nss XMLSEC_NSS_BASENAME = lib$(XMLSEC_NSS_NAME) XMLSEC_NSS_SO = $(XMLSEC_NSS_BASENAME).dll XMLSEC_NSS_SO_MANIFEST = $(XMLSEC_NSS_BASENAME).dll.manifest XMLSEC_NSS_PDB = $(XMLSEC_NSS_BASENAME).pdb XMLSEC_NSS_IMP = $(XMLSEC_NSS_BASENAME).lib XMLSEC_NSS_A = $(XMLSEC_NSS_BASENAME)_a.lib XMLSEC_MSCRYPTO_NAME = $(XMLSEC_NAME)-mscrypto XMLSEC_MSCRYPTO_BASENAME= lib$(XMLSEC_MSCRYPTO_NAME) XMLSEC_MSCRYPTO_SO = $(XMLSEC_MSCRYPTO_BASENAME).dll XMLSEC_MSCRYPTO_SO_MANIFEST = $(XMLSEC_MSCRYPTO_BASENAME).dll.manifest XMLSEC_MSCRYPTO_PDB = $(XMLSEC_MSCRYPTO_BASENAME).pdb XMLSEC_MSCRYPTO_IMP = $(XMLSEC_MSCRYPTO_BASENAME).lib XMLSEC_MSCRYPTO_A = $(XMLSEC_MSCRYPTO_BASENAME)_a.lib XMLSEC_MSCNG_NAME = $(XMLSEC_NAME)-mscng XMLSEC_MSCNG_BASENAME= lib$(XMLSEC_MSCNG_NAME) XMLSEC_MSCNG_SO = $(XMLSEC_MSCNG_BASENAME).dll XMLSEC_MSCNG_SO_MANIFEST = $(XMLSEC_MSCNG_BASENAME).dll.manifest XMLSEC_MSCNG_PDB = $(XMLSEC_MSCNG_BASENAME).pdb XMLSEC_MSCNG_IMP = $(XMLSEC_MSCNG_BASENAME).lib XMLSEC_MSCNG_A = $(XMLSEC_MSCNG_BASENAME)_a.lib # # Places where intermediate files produced by the compiler go # XMLSEC_APPS_INTDIR = apps.int XMLSEC_APPS_INTDIR_A = apps_a.int XMLSEC_OSS_FUZZ_INTDIR = apps_oss_fuzz.int XMLSEC_OSS_FUZZ_INTDIR_A= apps_oss_fuzz_a.int XMLSEC_INTDIR = $(XMLSEC_BASENAME).int XMLSEC_INTDIR_A = $(XMLSEC_BASENAME)_a.int XMLSEC_OPENSSL_INTDIR = $(XMLSEC_BASENAME)_openssl.int XMLSEC_OPENSSL_INTDIR_A = $(XMLSEC_BASENAME)_openssl_a.int XMLSEC_NSS_INTDIR = $(XMLSEC_BASENAME)_nss.int XMLSEC_NSS_INTDIR_A = $(XMLSEC_BASENAME)_nss_a.int XMLSEC_MSCRYPTO_INTDIR = $(XMLSEC_BASENAME)_mscrypto.int XMLSEC_MSCRYPTO_INTDIR_A= $(XMLSEC_BASENAME)_mscrypto_a.int XMLSEC_MSCNG_INTDIR = $(XMLSEC_BASENAME)_mscng.int XMLSEC_MSCNG_INTDIR_A= $(XMLSEC_BASENAME)_mscng_a.int # # Source folders # XMLSEC_OPENSSL_SRCDIR = $(XMLSEC_SRCDIR)\openssl XMLSEC_NSS_SRCDIR = $(XMLSEC_SRCDIR)\nss XMLSEC_MSCRYPTO_SRCDIR = $(XMLSEC_SRCDIR)\mscrypto XMLSEC_MSCNG_SRCDIR = $(XMLSEC_SRCDIR)\mscng XMLSEC_OSS_FUZZ_SRCDIR = $(APPS_SRCDIR)\oss-fuzz # # Object files for libraries and apps. # XMLSEC_APPS_OBJS = \ $(XMLSEC_APPS_INTDIR)\crypto.obj \ $(XMLSEC_APPS_INTDIR)\cmdline.obj \ $(XMLSEC_APPS_INTDIR)\xmlsec.obj XMLSEC_APPS_OBJS_A = \ $(XMLSEC_APPS_INTDIR_A)\crypto.obj \ $(XMLSEC_APPS_INTDIR_A)\cmdline.obj \ $(XMLSEC_APPS_INTDIR_A)\xmlsec.obj XMLSEC_UNIT_TESTS_OBJS = \ $(XMLSEC_APPS_INTDIR)\unit_tests\base64_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\bn_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\buffer_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\list_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\nodeset_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\templates_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\transform_helpers_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\x509_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\xmltree_unit_tests.obj \ $(XMLSEC_APPS_INTDIR)\unit_tests\xmlsec_unit_tests.obj XMLSEC_UNIT_TESTS_OBJS_A = \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\base64_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\bn_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\buffer_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\list_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\nodeset_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\templates_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\transform_helpers_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\x509_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\xmltree_unit_tests.obj \ $(XMLSEC_APPS_INTDIR_A)\unit_tests\xmlsec_unit_tests.obj XMLSEC_FUZZER_OBJS = \ $(XMLSEC_OSS_FUZZ_INTDIR)\xmlsec_target.obj \ $(XMLSEC_OSS_FUZZ_INTDIR)\standalone_fuzz_runner.obj XMLSEC_FUZZER_OBJS_A = \ $(XMLSEC_OSS_FUZZ_INTDIR_A)\xmlsec_target.obj \ $(XMLSEC_OSS_FUZZ_INTDIR_A)\standalone_fuzz_runner.obj XMLSEC_DSIG_VERIFY_FUZZER_OBJS = \ $(XMLSEC_OSS_FUZZ_INTDIR)\xmlsec_dsig_verify_target.obj \ $(XMLSEC_OSS_FUZZ_INTDIR)\standalone_fuzz_runner.obj XMLSEC_DSIG_VERIFY_FUZZER_OBJS_A = \ $(XMLSEC_OSS_FUZZ_INTDIR_A)\xmlsec_dsig_verify_target.obj \ $(XMLSEC_OSS_FUZZ_INTDIR_A)\standalone_fuzz_runner.obj XMLSEC_OBJS = \ $(XMLSEC_INTDIR)\app.obj\ $(XMLSEC_INTDIR)\base64.obj\ $(XMLSEC_INTDIR)\bn.obj\ $(XMLSEC_INTDIR)\buffer.obj \ $(XMLSEC_INTDIR)\c14n.obj \ $(XMLSEC_INTDIR)\dl.obj \ $(XMLSEC_INTDIR)\enveloped.obj \ $(XMLSEC_INTDIR)\errors.obj \ $(XMLSEC_INTDIR)\io.obj \ $(XMLSEC_INTDIR)\keyinfo.obj \ $(XMLSEC_INTDIR)\keys.obj \ $(XMLSEC_INTDIR)\keysdata.obj \ $(XMLSEC_INTDIR)\keysdata_helpers.obj \ $(XMLSEC_INTDIR)\keysmngr.obj \ $(XMLSEC_INTDIR)\kw_helpers.obj \ $(XMLSEC_INTDIR)\list.obj \ $(XMLSEC_INTDIR)\membuf.obj \ $(XMLSEC_INTDIR)\nodeset.obj \ $(XMLSEC_INTDIR)\parser.obj \ $(XMLSEC_INTDIR)\relationship.obj \ $(XMLSEC_INTDIR)\strings.obj \ $(XMLSEC_INTDIR)\templates.obj \ $(XMLSEC_INTDIR)\transform_helpers.obj \ $(XMLSEC_INTDIR)\transforms.obj \ $(XMLSEC_INTDIR)\xmldsig.obj \ $(XMLSEC_INTDIR)\xmlenc.obj \ $(XMLSEC_INTDIR)\xmlsec.obj \ $(XMLSEC_INTDIR)\xmltree.obj \ $(XMLSEC_INTDIR)\xpath.obj \ $(XMLSEC_INTDIR)\xslt.obj \ $(XMLSEC_INTDIR)\x509_helpers.obj XMLSEC_OBJS_A = \ $(XMLSEC_INTDIR_A)\app.obj\ $(XMLSEC_INTDIR_A)\base64.obj\ $(XMLSEC_INTDIR_A)\bn.obj\ $(XMLSEC_INTDIR_A)\buffer.obj \ $(XMLSEC_INTDIR_A)\c14n.obj \ $(XMLSEC_INTDIR_A)\dl.obj \ $(XMLSEC_INTDIR_A)\enveloped.obj \ $(XMLSEC_INTDIR_A)\errors.obj \ $(XMLSEC_INTDIR_A)\io.obj \ $(XMLSEC_INTDIR_A)\keyinfo.obj \ $(XMLSEC_INTDIR_A)\keys.obj \ $(XMLSEC_INTDIR_A)\keysdata.obj \ $(XMLSEC_INTDIR_A)\keysdata_helpers.obj \ $(XMLSEC_INTDIR_A)\keysmngr.obj \ $(XMLSEC_INTDIR_A)\kw_helpers.obj \ $(XMLSEC_INTDIR_A)\list.obj \ $(XMLSEC_INTDIR_A)\membuf.obj \ $(XMLSEC_INTDIR_A)\nodeset.obj \ $(XMLSEC_INTDIR_A)\parser.obj \ $(XMLSEC_INTDIR_A)\relationship.obj \ $(XMLSEC_INTDIR_A)\strings.obj \ $(XMLSEC_INTDIR_A)\templates.obj \ $(XMLSEC_INTDIR_A)\transform_helpers.obj \ $(XMLSEC_INTDIR_A)\transforms.obj \ $(XMLSEC_INTDIR_A)\xmldsig.obj \ $(XMLSEC_INTDIR_A)\xmlenc.obj \ $(XMLSEC_INTDIR_A)\xmlsec.obj \ $(XMLSEC_INTDIR_A)\xmltree.obj \ $(XMLSEC_INTDIR_A)\xpath.obj \ $(XMLSEC_INTDIR_A)\xslt.obj \ $(XMLSEC_INTDIR_A)\x509_helpers.obj XMLSEC_OPENSSL_OBJS = \ $(XMLSEC_OPENSSL_INTDIR)\app.obj\ $(XMLSEC_OPENSSL_INTDIR)\ciphers.obj \ $(XMLSEC_OPENSSL_INTDIR)\crypto.obj \ $(XMLSEC_OPENSSL_INTDIR)\der_encoded_value.obj \ $(XMLSEC_OPENSSL_INTDIR)\digests.obj \ $(XMLSEC_OPENSSL_INTDIR)\evp.obj \ $(XMLSEC_OPENSSL_INTDIR)\hmac.obj \ $(XMLSEC_OPENSSL_INTDIR)\kdf.obj \ $(XMLSEC_OPENSSL_INTDIR)\key_agrmnt.obj \ $(XMLSEC_OPENSSL_INTDIR)\keysstore.obj \ $(XMLSEC_OPENSSL_INTDIR)\key_encapsulation.obj \ $(XMLSEC_OPENSSL_INTDIR)\kt_rsa.obj \ $(XMLSEC_OPENSSL_INTDIR)\kw_rfc_3394.obj \ $(XMLSEC_OPENSSL_INTDIR)\kw_des.obj \ $(XMLSEC_OPENSSL_INTDIR)\signatures.obj \ $(XMLSEC_OPENSSL_INTDIR)\signatures_legacy.obj \ $(XMLSEC_OPENSSL_INTDIR)\strings.obj \ $(XMLSEC_OPENSSL_INTDIR)\symkeys.obj \ $(XMLSEC_OPENSSL_INTDIR)\x509.obj \ $(XMLSEC_OPENSSL_INTDIR)\x509vfy.obj XMLSEC_OPENSSL_OBJS_A = \ $(XMLSEC_OPENSSL_INTDIR_A)\app.obj\ $(XMLSEC_OPENSSL_INTDIR_A)\ciphers.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\crypto.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\der_encoded_value.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\digests.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\evp.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\hmac.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\kdf.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\key_agrmnt.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\keysstore.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\key_encapsulation.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\kt_rsa.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\kw_rfc_3394.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\kw_des.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\signatures.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\signatures_legacy.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\strings.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\symkeys.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\x509.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\x509vfy.obj XMLSEC_NSS_OBJS = \ $(XMLSEC_NSS_INTDIR)\app.obj \ $(XMLSEC_NSS_INTDIR)\ciphers_cbc.obj \ $(XMLSEC_NSS_INTDIR)\ciphers_aead.obj \ $(XMLSEC_NSS_INTDIR)\concatkdf.obj \ $(XMLSEC_NSS_INTDIR)\crypto.obj \ $(XMLSEC_NSS_INTDIR)\der_encoded_value.obj \ $(XMLSEC_NSS_INTDIR)\digests.obj \ $(XMLSEC_NSS_INTDIR)\hmac.obj \ $(XMLSEC_NSS_INTDIR)\keysstore.obj \ $(XMLSEC_NSS_INTDIR)\keytrans.obj \ $(XMLSEC_NSS_INTDIR)\key_agrmnt.obj \ $(XMLSEC_NSS_INTDIR)\kw_des.obj \ $(XMLSEC_NSS_INTDIR)\kw_rfc_3394.obj \ $(XMLSEC_NSS_INTDIR)\pbkdf2.obj \ $(XMLSEC_NSS_INTDIR)\pkikeys.obj \ $(XMLSEC_NSS_INTDIR)\signatures.obj \ $(XMLSEC_NSS_INTDIR)\strings.obj \ $(XMLSEC_NSS_INTDIR)\symkeys.obj \ $(XMLSEC_NSS_INTDIR)\x509.obj \ $(XMLSEC_NSS_INTDIR)\x509vfy.obj XMLSEC_NSS_OBJS_A = \ $(XMLSEC_NSS_INTDIR_A)\app.obj \ $(XMLSEC_NSS_INTDIR_A)\ciphers_cbc.obj \ $(XMLSEC_NSS_INTDIR_A)\ciphers_aead.obj \ $(XMLSEC_NSS_INTDIR_A)\concatkdf.obj \ $(XMLSEC_NSS_INTDIR_A)\crypto.obj \ $(XMLSEC_NSS_INTDIR_A)\der_encoded_value.obj \ $(XMLSEC_NSS_INTDIR_A)\digests.obj \ $(XMLSEC_NSS_INTDIR_A)\hmac.obj \ $(XMLSEC_NSS_INTDIR_A)\keysstore.obj \ $(XMLSEC_NSS_INTDIR_A)\keytrans.obj \ $(XMLSEC_NSS_INTDIR_A)\key_agrmnt.obj \ $(XMLSEC_NSS_INTDIR_A)\kw_des.obj \ $(XMLSEC_NSS_INTDIR_A)\kw_rfc_3394.obj \ $(XMLSEC_NSS_INTDIR_A)\pbkdf2.obj \ $(XMLSEC_NSS_INTDIR_A)\pkikeys.obj \ $(XMLSEC_NSS_INTDIR_A)\strings.obj \ $(XMLSEC_NSS_INTDIR_A)\signatures.obj \ $(XMLSEC_NSS_INTDIR_A)\symkeys.obj \ $(XMLSEC_NSS_INTDIR_A)\x509.obj \ $(XMLSEC_NSS_INTDIR_A)\x509vfy.obj XMLSEC_MSCRYPTO_OBJS = \ $(XMLSEC_MSCRYPTO_INTDIR)\app.obj\ $(XMLSEC_MSCRYPTO_INTDIR)\crypto.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\ciphers.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\digests.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\hmac.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\symkeys.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\kt_rsa.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\kw_rfc_3394.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\kw_des.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\strings.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\signatures.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\certkeys.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\keysstore.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\x509.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\x509vfy.obj XMLSEC_MSCRYPTO_OBJS_A = \ $(XMLSEC_MSCRYPTO_INTDIR_A)\app.obj\ $(XMLSEC_MSCRYPTO_INTDIR_A)\crypto.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\ciphers.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\digests.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\hmac.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\symkeys.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\kt_rsa.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\kw_rfc_3394.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\kw_des.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\strings.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\signatures.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\certkeys.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\keysstore.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\x509.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\x509vfy.obj XMLSEC_MSCNG_OBJS = \ $(XMLSEC_MSCNG_INTDIR)\app.obj\ $(XMLSEC_MSCNG_INTDIR)\certkeys.obj \ $(XMLSEC_MSCNG_INTDIR)\certkeys_dh.obj \ $(XMLSEC_MSCNG_INTDIR)\certkeys_xdh.obj \ $(XMLSEC_MSCNG_INTDIR)\certkeys_dsa.obj \ $(XMLSEC_MSCNG_INTDIR)\der_encoded_value.obj \ $(XMLSEC_MSCNG_INTDIR)\ciphers_cbc.obj \ $(XMLSEC_MSCNG_INTDIR)\ciphers_gcm.obj \ $(XMLSEC_MSCNG_INTDIR)\concatkdf.obj \ $(XMLSEC_MSCNG_INTDIR)\crypto.obj\ $(XMLSEC_MSCNG_INTDIR)\digests.obj\ $(XMLSEC_MSCNG_INTDIR)\hmac.obj \ $(XMLSEC_MSCNG_INTDIR)\symkeys.obj \ $(XMLSEC_MSCNG_INTDIR)\key_agrmnt.obj \ $(XMLSEC_MSCNG_INTDIR)\keysstore.obj \ $(XMLSEC_MSCNG_INTDIR)\kt_rsa.obj \ $(XMLSEC_MSCNG_INTDIR)\kw_rfc_3394.obj \ $(XMLSEC_MSCNG_INTDIR)\kw_des.obj \ $(XMLSEC_MSCNG_INTDIR)\kdf.obj \ $(XMLSEC_MSCNG_INTDIR)\strings.obj\ $(XMLSEC_MSCNG_INTDIR)\signatures.obj\ $(XMLSEC_MSCNG_INTDIR)\x509.obj\ $(XMLSEC_MSCNG_INTDIR)\x509vfy.obj XMLSEC_MSCNG_OBJS_A = \ $(XMLSEC_MSCNG_INTDIR_A)\app.obj\ $(XMLSEC_MSCNG_INTDIR_A)\certkeys.obj \ $(XMLSEC_MSCNG_INTDIR_A)\certkeys_dh.obj \ $(XMLSEC_MSCNG_INTDIR_A)\certkeys_xdh.obj \ $(XMLSEC_MSCNG_INTDIR_A)\certkeys_dsa.obj \ $(XMLSEC_MSCNG_INTDIR_A)\der_encoded_value.obj \ $(XMLSEC_MSCNG_INTDIR_A)\ciphers_cbc.obj \ $(XMLSEC_MSCNG_INTDIR_A)\ciphers_gcm.obj \ $(XMLSEC_MSCNG_INTDIR_A)\concatkdf.obj \ $(XMLSEC_MSCNG_INTDIR_A)\crypto.obj\ $(XMLSEC_MSCNG_INTDIR_A)\digests.obj\ $(XMLSEC_MSCNG_INTDIR_A)\hmac.obj \ $(XMLSEC_MSCNG_INTDIR_A)\symkeys.obj \ $(XMLSEC_MSCNG_INTDIR_A)\key_agrmnt.obj \ $(XMLSEC_MSCNG_INTDIR_A)\keysstore.obj \ $(XMLSEC_MSCNG_INTDIR_A)\kt_rsa.obj \ $(XMLSEC_MSCNG_INTDIR_A)\kw_rfc_3394.obj \ $(XMLSEC_MSCNG_INTDIR_A)\kw_des.obj \ $(XMLSEC_MSCNG_INTDIR_A)\kdf.obj \ $(XMLSEC_MSCNG_INTDIR_A)\strings.obj\ $(XMLSEC_MSCNG_INTDIR_A)\signatures.obj\ $(XMLSEC_MSCNG_INTDIR_A)\x509.obj\ $(XMLSEC_MSCNG_INTDIR_A)\x509vfy.obj # # The preprocessor and its options. # CPP = cl.exe /EP CPPFLAGS = /nologo # # The compiler and its options. # CFLAGS = $(CFLAGS) /nologo /D "WIN32" /D "_WINDOWS" CFLAGS = $(CFLAGS) /D "_MBCS" /D "_REENTRANT" CFLAGS = $(CFLAGS) /D PACKAGE=\"$(XMLSEC_NAME)\" CFLAGS = $(CFLAGS) /D "WIN32_LEAN_AND_MEAN" CFLAGS = $(CFLAGS) /I$(BASEDIR) /I$(BASEDIR)\include CFLAGS = $(CFLAGS) /I$(INCPREFIX) !if "$(WITH_GOST)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_GOST" /D "XMLSEC_NO_GOST2012" !endif !if "$(WITH_RSA_PKCS15)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_RSA_PKCS15" !endif !if "$(WITH_LEGACY_FEATURES)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_MD5" /D "XMLSEC_NO_RIPEMD160" !endif !if "$(WITH_FTP)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_FTP" !endif !if "$(WITH_HTTP)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_HTTP" !endif !if "$(PEDANTIC)" == "1" CFLAGS = $(CFLAGS) /W4 /WX !else CFLAGS = $(CFLAGS) /W1 !endif # C4127: conditional expression is constant # this generates a false warning inside asserts # C4130: '!=': logical operation on address of string constant: # this generates a false warning inside macros # C4152: nonstandard extension, function/data pointer conversion in expression # this generates a false warning for XMLSEC_PTR_TO_FUNC # C4232: nonstandard extension, address of dllimport is not static # this generates a false warning for functions used in structs CFLAGS = $(CFLAGS) /wd4127 /wd4130 /wd4152 /wd4232 !if "$(UNICODE)" == "1" CFLAGS = $(CFLAGS) /D "UNICODE" /D "_UNICODE" !endif # Optimisation and debug symbols. !if "$(DEBUG)" == "1" CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Zi !else CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 /Zi !endif # Enable memcheck. !if "$(MEMCHECK)" == "leaks" CFLAGS = $(CFLAGS) /EHsc /D "_CRTDBG_MAP_ALLOC" /D_DEBUG !endif !if "$(MEMCHECK)" == "asan" CFLAGS = $(CFLAGS) /fsanitize=address !endif CFLAGS = $(CFLAGS) $(CRUNTIME) # configurable options !if "$(WITH_LIBXSLT)" == "1" !else CFLAGS = $(CFLAGS) /DXMLSEC_NO_XSLT=1 !endif CFLAGS = $(CFLAGS) /D "XMLSEC_DEFAULT_CRYPTO=\"$(XMLSEC_DEFAULT_CRYPTO)\"" !if "$(STATIC)" == "1" CFLAGS = $(CFLAGS) /D "XMLSEC_NO_CRYPTO_DYNAMIC_LOADING" APP_CFLAGS = $(APP_CFLAGS) $(XMLSEC_CRYPTO_CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_DL_WIN32" APP_CFLAGS = $(APP_CFLAGS) /D "XMLSEC_CRYPTO_DYNAMIC_LOADING" !endif XMLSEC_OPENSSL_CFLAGS = /D "XMLSEC_CRYPTO_OPENSSL" /D "XMLSEC_DEFAULT_CRYPTO=\"openssl\"" XMLSEC_NSS_CFLAGS = /D "XMLSEC_CRYPTO_NSS" /D "XMLSEC_DEFAULT_CRYPTO=\"nss\"" XMLSEC_MSCRYPTO_CFLAGS = /D "XMLSEC_CRYPTO_MSCRYPTO" /D "XMLSEC_DEFAULT_CRYPTO=\"mscrypto\"" XMLSEC_MSCNG_CFLAGS = /D "XMLSEC_CRYPTO_MSCNG" /D "XMLSEC_DEFAULT_CRYPTO=\"mscng\"" # Crytpo options !if "$(WITH_OPENSSL_VERSION)" == "XMLSEC_OPENSSL_300" !if "$(WITH_OPENSSL3_ENGINES)" == "1" XMLSEC_OPENSSL_CFLAGS = $(XMLSEC_OPENSSL_CFLAGS) /D "XMLSEC_OPENSSL3_ENGINES=1" !endif !endif # # The linker and its options. # LD = link.exe LDFLAGS = /nologo /debug LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX) LIBS = bcrypt.lib ws2_32.lib # Optimisation and debug symbols. !if "$(DEBUG)" == "1" LDFLAGS = $(LDFLAGS) /DEBUG /OPT:ICF SOLIBS = libxml2d.lib $(LIBS) ALIBS = libxml2ds.lib $(LIBS) !else LDFLAGS = $(LDFLAGS) /OPT:REF,ICF SOLIBS = libxml2.lib $(LIBS) ALIBS = libxml2s.lib $(LIBS) !endif !if "$(PEDANTIC)" == "1" LDFLAGS = $(LDFLAGS) /WX !endif !if "$(WITH_ICONV)" == "1" CFLAGS = $(CFLAGS) /D "LIBXML_ICONV_ENABLED" SOLIBS = $(SOLIBS) iconv.lib ALIBS = $(ALIBS) iconv_a.lib !endif !if "$(WITH_LIBXSLT)" == "1" !if "$(DEBUG)" == "1" SOLIBS = $(SOLIBS) libxsltd.lib ALIBS = $(ALIBS) libxsltds.lib !else SOLIBS = $(SOLIBS) libxslt.lib ALIBS = $(ALIBS) libxslts.lib !endif !endif XMLSEC_OPENSSL_SOLIBS = libcrypto.lib wsock32.lib kernel32.lib user32.lib gdi32.lib crypt32.lib advapi32.lib ws2_32.lib XMLSEC_OPENSSL_ALIBS = libcrypto.lib wsock32.lib kernel32.lib user32.lib gdi32.lib crypt32.lib advapi32.lib ws2_32.lib !if "$(WITH_OPENSSL_VERSION)" == "XMLSEC_OPENSSL_300" !elseif "$(WITH_OPENSSL_VERSION)" == "XMLSEC_OPENSSL_111" !endif XMLSEC_NSS_SOLIBS = smime3.lib ssl3.lib nss3.lib libnspr4.lib libplds4.lib libplc4.lib kernel32.lib user32.lib gdi32.lib XMLSEC_NSS_ALIBS = smime3.lib ssl3.lib nss3.lib libnspr4_s.lib libplds4_s.lib libplc4_s.lib kernel32.lib user32.lib gdi32.lib XMLSEC_MSCRYPTO_SOLIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib XMLSEC_MSCRYPTO_ALIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib XMLSEC_MSCNG_SOLIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib Bcrypt.lib Ncrypt.lib XMLSEC_MSCNG_ALIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib Bcrypt.lib Ncrypt.lib # The archiver and its options. AR = link.exe /lib ARFLAGS = /nologo !if "$(PEDANTIC)" == "1" ARFLAGS = $(ARFLAGS) /WX !endif # The resource compiler and its options. RC = rc.exe RCFLAGS = /nologo /d "RC_VERSION_MAJOR=$(XMLSEC_VERSION_MAJOR)" \ /d "RC_VERSION_MINOR=$(XMLSEC_VERSION_MINOR)" \ /d "RC_VERSION_MICRO=$(XMLSEC_VERSION_SUBMINOR)" !if "$(DEBUG)" == "1" RCFLAGS = $(RCFLAGS) /d "_DEBUG" !endif # # xmlsec-<default-crypto> options # !if "$(WITH_DEFAULT_CRYPTO)" == "openssl" XMLSEC_DEFAULT_CRYPTO = "openssl" XMLSEC_DEFAULT_CRYPTO_A = "openssla" XMLSEC_CRYPTO_CFLAGS = $(XMLSEC_OPENSSL_CFLAGS) XMLSEC_CRYPTO_SOLIBS = $(XMLSEC_OPENSSL_SOLIBS) XMLSEC_CRYPTO_ALIBS = $(XMLSEC_OPENSSL_ALIBS) XMLSEC_CRYPTO_SO = $(XMLSEC_OPENSSL_SO) XMLSEC_CRYPTO_IMP = $(XMLSEC_OPENSSL_IMP) XMLSEC_CRYPTO_A = $(XMLSEC_OPENSSL_A) !endif !if "$(WITH_DEFAULT_CRYPTO)" == "nss" XMLSEC_DEFAULT_CRYPTO = "nss" XMLSEC_DEFAULT_CRYPTO_A = "nssa" XMLSEC_CRYPTO_CFLAGS = $(XMLSEC_NSS_CFLAGS) XMLSEC_CRYPTO_SOLIBS = $(XMLSEC_NSS_SOLIBS) XMLSEC_CRYPTO_ALIBS = $(XMLSEC_NSS_ALIBS) XMLSEC_CRYPTO_SO = $(XMLSEC_NSS_SO) XMLSEC_CRYPTO_IMP = $(XMLSEC_NSS_IMP) XMLSEC_CRYPTO_A = $(XMLSEC_NSS_A) !endif !if "$(WITH_DEFAULT_CRYPTO)" == "mscrypto" XMLSEC_DEFAULT_CRYPTO = "mscrypto" XMLSEC_DEFAULT_CRYPTO_A = "mscryptoa" XMLSEC_CRYPTO_CFLAGS = $(XMLSEC_MSCRYPTO_CFLAGS) XMLSEC_CRYPTO_SOLIBS = $(XMLSEC_MSCRYPTO_SOLIBS) XMLSEC_CRYPTO_ALIBS = $(XMLSEC_MSCRYPTO_ALIBS) XMLSEC_CRYPTO_SO = $(XMLSEC_MSCRYPTO_SO) XMLSEC_CRYPTO_IMP = $(XMLSEC_MSCRYPTO_IMP) XMLSEC_CRYPTO_A = $(XMLSEC_MSCRYPTO_A) !endif !if "$(WITH_DEFAULT_CRYPTO)" == "mscng" XMLSEC_DEFAULT_CRYPTO = "mscng" XMLSEC_DEFAULT_CRYPTO_A = "mscnga" XMLSEC_CRYPTO_CFLAGS = $(XMLSEC_MSCNG_CFLAGS) XMLSEC_CRYPTO_SOLIBS = $(XMLSEC_MSCNG_SOLIBS) XMLSEC_CRYPTO_ALIBS = $(XMLSEC_MSCNG_ALIBS) XMLSEC_CRYPTO_SO = $(XMLSEC_MSCNG_SO) XMLSEC_CRYPTO_IMP = $(XMLSEC_MSCNG_IMP) XMLSEC_CRYPTO_A = $(XMLSEC_MSCNG_A) !endif !if "$(WITH_OPENSSL_VERSION)" == "XMLSEC_OPENSSL_300" XMLSEC_OPENSSL_TEST_CONFIG = openssl3.cnf !else XMLSEC_OPENSSL_TEST_CONFIG = !endif !if "$(STATIC)" == "1" APP_LIBS=$(ALIBS) $(XMLSEC_CRYPTO_ALIBS) XMLSEC_APP_TARGETS=xmlseca XMLSEC_OPENSSL_TARGETS=openssla XMLSEC_NSS_TARGETS=nssa XMLSEC_MSCNG_TARGETS=mscnga XMLSEC_MSCRYPTO_TARGETS=mscryptoa !else APP_LIBS=$(SOLIBS) $(XMLSEC_CRYPTO_SOLIBS) XMLSEC_APP_TARGETS=xmlsec XMLSEC_OPENSSL_TARGETS=openssl XMLSEC_NSS_TARGETS=nss XMLSEC_MSCNG_TARGETS=mscng XMLSEC_MSCRYPTO_TARGETS=mscrypto !endif EXTRA_CRYPTO_TARGETS = !if "$(WITH_OPENSSL)" == "1" EXTRA_CRYPTO_TARGETS = $(EXTRA_CRYPTO_TARGETS) $(XMLSEC_OPENSSL_TARGETS) !endif !if "$(WITH_NSS)" == "1" EXTRA_CRYPTO_TARGETS = $(EXTRA_CRYPTO_TARGETS) $(XMLSEC_NSS_TARGETS) !endif !if "$(WITH_MSCNG)" == "1" EXTRA_CRYPTO_TARGETS = $(EXTRA_CRYPTO_TARGETS) $(XMLSEC_MSCNG_TARGETS) !endif !if "$(WITH_MSCRYPTO)" == "1" EXTRA_CRYPTO_TARGETS = $(EXTRA_CRYPTO_TARGETS) $(XMLSEC_MSCRYPTO_TARGETS) !endif !if "$(WITH_APPS)" == "1" XMLSEC_APPS_TARGETS = apps !else XMLSEC_APPS_TARGETS = !endif # # Build rules # all: $(XMLSEC_APPS_TARGETS) $(XMLSEC_APP_TARGETS) $(EXTRA_CRYPTO_TARGETS) apps: $(BINDIR)\$(APP_NAME) $(BINDIR)\$(UNIT_TESTS_APP_NAME) $(BINDIR)\$(XMLSEC_FUZZER_APP_NAME) xmlseca: $(BINDIR)\$(XMLSEC_A) $(XMLSEC_DEFAULT_CRYPTO_A) xmlsec: $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_DEFAULT_CRYPTO) openssla: $(BINDIR)\$(XMLSEC_OPENSSL_A) openssl: $(BINDIR)\$(XMLSEC_OPENSSL_SO) nssa: $(BINDIR)\$(XMLSEC_NSS_A) nss: $(BINDIR)\$(XMLSEC_NSS_SO) $(XMLSEC_NSS_TARGETS) mscryptoa: $(BINDIR)\$(XMLSEC_MSCRYPTO_A) mscrypto: $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) mscnga: $(BINDIR)\$(XMLSEC_MSCNG_A) mscng: $(BINDIR)\$(XMLSEC_MSCNG_SO) check : check-unit-tests check-keys check-dsig check-enc check-fuzz check-fuzz : $(BINDIR)\$(XMLSEC_FUZZER_APP_NAME) set ASAN_OPTIONS=continue_on_error=0 cd .. win32\$(BINDIR)\$(XMLSEC_FUZZER_APP_NAME) cd win32 set ASAN_OPTIONS= check-unit-tests : $(BINDIR)\$(UNIT_TESTS_APP_NAME) set ASAN_OPTIONS=continue_on_error=0 cd .. win32\$(BINDIR)\$(UNIT_TESTS_APP_NAME) cd win32 set ASAN_OPTIONS= check-keys : $(BINDIR)\$(APP_NAME) set ASAN_OPTIONS=continue_on_error=0 cd .. if not exist %MAKEDIR%\tmp mkdir %MAKEDIR%\tmp set TMPFOLDER=%MAKEDIR%\tmp set XMLSEC_OPENSSL_TEST_CONFIG=$(XMLSEC_OPENSSL_TEST_CONFIG) sh ./tests/testrun.sh ./tests/testKeys.sh "$(WITH_DEFAULT_CRYPTO)" ./tests win32/$(BINDIR)/$(APP_NAME) der cd win32 set ASAN_OPTIONS= check-dsig : $(BINDIR)\$(APP_NAME) set ASAN_OPTIONS=continue_on_error=0 cd .. if not exist %MAKEDIR%\tmp mkdir %MAKEDIR%\tmp set TMPFOLDER=%MAKEDIR%\tmp set XMLSEC_OPENSSL_TEST_CONFIG=$(XMLSEC_OPENSSL_TEST_CONFIG) sh ./tests/testrun.sh ./tests/testDSig.sh "$(WITH_DEFAULT_CRYPTO)" ./tests win32/$(BINDIR)/$(APP_NAME) der cd win32 set ASAN_OPTIONS= check-enc : $(BINDIR)\$(APP_NAME) set ASAN_OPTIONS=continue_on_error=0 cd .. if not exist %MAKEDIR%\tmp mkdir %MAKEDIR%\tmp set TMPFOLDER=%MAKEDIR%\tmp set XMLSEC_OPENSSL_TEST_CONFIG=$(XMLSEC_OPENSSL_TEST_CONFIG) sh ./tests/testrun.sh ./tests/testEnc.sh "$(WITH_DEFAULT_CRYPTO)" ./tests win32/$(BINDIR)/$(APP_NAME) der cd win32 set ASAN_OPTIONS= clean : if exist $(XMLSEC_INTDIR) rmdir /S /Q $(XMLSEC_INTDIR) if exist $(XMLSEC_INTDIR_A) rmdir /S /Q $(XMLSEC_INTDIR_A) if exist $(XMLSEC_OPENSSL_INTDIR) rmdir /S /Q $(XMLSEC_OPENSSL_INTDIR) if exist $(XMLSEC_OPENSSL_INTDIR_A) rmdir /S /Q $(XMLSEC_OPENSSL_INTDIR_A) if exist $(XMLSEC_NSS_INTDIR) rmdir /S /Q $(XMLSEC_NSS_INTDIR) if exist $(XMLSEC_NSS_INTDIR_A) rmdir /S /Q $(XMLSEC_NSS_INTDIR_A) if exist $(XMLSEC_MSCRYPTO_INTDIR) rmdir /S /Q $(XMLSEC_MSCRYPTO_INTDIR) if exist $(XMLSEC_MSCRYPTO_INTDIR_A) rmdir /S /Q $(XMLSEC_MSCRYPTO_INTDIR_A) if exist $(XMLSEC_MSCNG_INTDIR) rmdir /S /Q $(XMLSEC_MSCNG_INTDIR) if exist $(XMLSEC_MSCNG_INTDIR_A) rmdir /S /Q $(XMLSEC_MSCNG_INTDIR_A) if exist $(XMLSEC_APPS_INTDIR) rmdir /S /Q $(XMLSEC_APPS_INTDIR) if exist $(XMLSEC_APPS_INTDIR_A) rmdir /S /Q $(XMLSEC_APPS_INTDIR_A) if exist $(XMLSEC_OSS_FUZZ_INTDIR) rmdir /S /Q $(XMLSEC_OSS_FUZZ_INTDIR) if exist $(XMLSEC_OSS_FUZZ_INTDIR_A) rmdir /S /Q $(XMLSEC_OSS_FUZZ_INTDIR_A) if exist $(BINDIR) rmdir /S /Q $(BINDIR) rebuild : clean all install : all :: directoreies if not exist $(INCPREFIX)\$(XMLSEC_NAME) mkdir $(INCPREFIX)\$(XMLSEC_NAME) if not exist $(BINPREFIX) mkdir $(BINPREFIX) if not exist $(LIBPREFIX) mkdir $(LIBPREFIX) :: include files if exist $(BASEDIR)\include\$(XMLSEC_NAME) copy $(BASEDIR)\include\$(XMLSEC_NAME)\*.h $(INCPREFIX)\$(XMLSEC_NAME) if exist $(BINDIR)\$(XMLSEC_OPENSSL_SO) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\openssl mkdir $(INCPREFIX)\$(XMLSEC_NAME)\openssl if exist $(BINDIR)\$(XMLSEC_OPENSSL_A) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\openssl mkdir $(INCPREFIX)\$(XMLSEC_NAME)\openssl if exist $(BINDIR)\$(XMLSEC_OPENSSL_SO) copy $(BASEDIR)\include\$(XMLSEC_NAME)\openssl\*.h $(INCPREFIX)\$(XMLSEC_NAME)\openssl if exist $(BINDIR)\$(XMLSEC_OPENSSL_A) copy $(BASEDIR)\include\$(XMLSEC_NAME)\openssl\*.h $(INCPREFIX)\$(XMLSEC_NAME)\openssl if exist $(BINDIR)\$(XMLSEC_NSS_SO) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\nss mkdir $(INCPREFIX)\$(XMLSEC_NAME)\nss if exist $(BINDIR)\$(XMLSEC_NSS_A) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\nss mkdir $(INCPREFIX)\$(XMLSEC_NAME)\nss if exist $(BINDIR)\$(XMLSEC_NSS_SO) copy $(BASEDIR)\include\$(XMLSEC_NAME)\nss\*.h $(INCPREFIX)\$(XMLSEC_NAME)\nss if exist $(BINDIR)\$(XMLSEC_NSS_A) copy $(BASEDIR)\include\$(XMLSEC_NAME)\nss\*.h $(INCPREFIX)\$(XMLSEC_NAME)\nss if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto mkdir $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_A) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto mkdir $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) copy $(BASEDIR)\include\$(XMLSEC_NAME)\mscrypto\*.h $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_A) copy $(BASEDIR)\include\$(XMLSEC_NAME)\mscrypto\*.h $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto if exist $(BINDIR)\$(XMLSEC_MSCNG_SO) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\mscng mkdir $(INCPREFIX)\$(XMLSEC_NAME)\mscng if exist $(BINDIR)\$(XMLSEC_MSCNG_A) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\mscng mkdir $(INCPREFIX)\$(XMLSEC_NAME)\mscng if exist $(BINDIR)\$(XMLSEC_MSCNG_SO) copy $(BASEDIR)\include\$(XMLSEC_NAME)\mscng\*.h $(INCPREFIX)\$(XMLSEC_NAME)\mscng if exist $(BINDIR)\$(XMLSEC_MSCNG_A) copy $(BASEDIR)\include\$(XMLSEC_NAME)\mscng\*.h $(INCPREFIX)\$(XMLSEC_NAME)\mscng :: shared and static libs if exist $(BINDIR)\$(XMLSEC_SO) copy $(BINDIR)\$(XMLSEC_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_PDB) copy $(BINDIR)\$(XMLSEC_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_A) copy $(BINDIR)\$(XMLSEC_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_IMP) copy $(BINDIR)\$(XMLSEC_IMP) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_SO) copy $(BINDIR)\$(XMLSEC_OPENSSL_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_OPENSSL_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_PDB) copy $(BINDIR)\$(XMLSEC_OPENSSL_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_A) copy $(BINDIR)\$(XMLSEC_OPENSSL_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_IMP) copy $(BINDIR)\$(XMLSEC_OPENSSL_IMP) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_SO) copy $(BINDIR)\$(XMLSEC_NSS_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_NSS_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_PDB) copy $(BINDIR)\$(XMLSEC_NSS_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_A) copy $(BINDIR)\$(XMLSEC_NSS_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_IMP) copy $(BINDIR)\$(XMLSEC_NSS_IMP) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_PDB) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_A) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_IMP) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_IMP) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_SO) copy $(BINDIR)\$(XMLSEC_MSCNG_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_MSCNG_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_PDB) copy $(BINDIR)\$(XMLSEC_MSCNG_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_A) copy $(BINDIR)\$(XMLSEC_MSCNG_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_IMP) copy $(BINDIR)\$(XMLSEC_MSCNG_IMP) $(LIBPREFIX) :: apps if exist $(BINDIR)\$(APP_NAME) copy $(BINDIR)\$(APP_NAME) $(BINPREFIX) if exist $(BINDIR)\$(APP_NAME_MANIFEST) copy $(BINDIR)\$(APP_NAME_MANIFEST) $(BINPREFIX) uninstall : if exist $(INCPREFIX)\$(XMLSEC_NAME) rmdir /S /Q $(INCPREFIX)\$(XMLSEC_NAME) if exist $(SOPREFIX)\$(XMLSEC_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_SO) if exist $(SOPREFIX)\$(XMLSEC_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_SO) if exist $(SOPREFIX)\$(XMLSEC_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_PDB) if exist $(LIBPREFIX)\$(XMLSEC_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_A) if exist $(LIBPREFIX)\$(XMLSEC_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_IMP) if exist $(SOPREFIX)\$(XMLSEC_OPENSSL_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_OPENSSL_SO) if exist $(SOPREFIX)\$(XMLSEC_OPENSSL_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_OPENSSL_SO) if exist $(SOPREFIX)\$(XMLSEC_OPENSSL_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_OPENSSL_PDB) if exist $(LIBPREFIX)\$(XMLSEC_OPENSSL_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_OPENSSL_A) if exist $(LIBPREFIX)\$(XMLSEC_OPENSSL_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_OPENSSL_IMP) if exist $(SOPREFIX)\$(XMLSEC_NSS_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_NSS_SO) if exist $(SOPREFIX)\$(XMLSEC_NSS_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_NSS_SO) if exist $(SOPREFIX)\$(XMLSEC_NSS_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_NSS_PDB) if exist $(LIBPREFIX)\$(XMLSEC_NSS_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_NSS_A) if exist $(LIBPREFIX)\$(XMLSEC_NSS_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_NSS_IMP) if exist $(SOPREFIX)\$(XMLSEC_MSCRYPTO_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCRYPTO_SO) if exist $(SOPREFIX)\$(XMLSEC_MSCRYPTO_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCRYPTO_SO) if exist $(SOPREFIX)\$(XMLSEC_MSCRYPTO_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCRYPTO_PDB) if exist $(LIBPREFIX)\$(XMLSEC_MSCRYPTO_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_MSCRYPTO_A) if exist $(LIBPREFIX)\$(XMLSEC_MSCRYPTO_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_MSCRYPTO_IMP) if exist $(SOPREFIX)\$(XMLSEC_MSCNG_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCNG_SO) if exist $(SOPREFIX)\$(XMLSEC_MSCNG_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCNG_SO) if exist $(SOPREFIX)\$(XMLSEC_MSCNG_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCNG_PDB) if exist $(LIBPREFIX)\$(XMLSEC_MSCNG_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_MSCNG_A) if exist $(LIBPREFIX)\$(XMLSEC_MSCNG_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_MSCNG_IMP) if exist $(BINPREFIX)\$(APP_NAME) del /F /S /Q $(BINPREFIX)\$(APP_NAME) if exist $(BINPREFIX)\$(APP_NAME_MANIFEST) del /F /S /Q $(BINPREFIX)\$(APP_NAME_MANIFEST) # # Makes the compiler output directory. # $(BINDIR) : if not exist $(BINDIR) mkdir $(BINDIR) # # Makes intermediate directories. # $(XMLSEC_APPS_INTDIR) : if not exist $(XMLSEC_APPS_INTDIR) mkdir $(XMLSEC_APPS_INTDIR) $(XMLSEC_APPS_INTDIR)\unit_tests : $(XMLSEC_APPS_INTDIR) if not exist $(XMLSEC_APPS_INTDIR)\unit_tests mkdir $(XMLSEC_APPS_INTDIR)\unit_tests $(XMLSEC_APPS_INTDIR_A) : if not exist $(XMLSEC_APPS_INTDIR_A) mkdir $(XMLSEC_APPS_INTDIR_A) $(XMLSEC_APPS_INTDIR_A)\unit_tests : $(XMLSEC_APPS_INTDIR_A) if not exist $(XMLSEC_APPS_INTDIR_A)\unit_tests mkdir $(XMLSEC_APPS_INTDIR_A)\unit_tests $(XMLSEC_OSS_FUZZ_INTDIR) : if not exist $(XMLSEC_OSS_FUZZ_INTDIR) mkdir $(XMLSEC_OSS_FUZZ_INTDIR) $(XMLSEC_OSS_FUZZ_INTDIR_A) : if not exist $(XMLSEC_OSS_FUZZ_INTDIR_A) mkdir $(XMLSEC_OSS_FUZZ_INTDIR_A) $(XMLSEC_INTDIR) : if not exist $(XMLSEC_INTDIR) mkdir $(XMLSEC_INTDIR) $(XMLSEC_INTDIR_A) : if not exist $(XMLSEC_INTDIR_A) mkdir $(XMLSEC_INTDIR_A) $(XMLSEC_OPENSSL_INTDIR) : if not exist $(XMLSEC_OPENSSL_INTDIR) mkdir $(XMLSEC_OPENSSL_INTDIR) $(XMLSEC_OPENSSL_INTDIR_A) : if not exist $(XMLSEC_OPENSSL_INTDIR_A) mkdir $(XMLSEC_OPENSSL_INTDIR_A) $(XMLSEC_NSS_INTDIR) : if not exist $(XMLSEC_NSS_INTDIR) mkdir $(XMLSEC_NSS_INTDIR) $(XMLSEC_NSS_INTDIR_A) : if not exist $(XMLSEC_NSS_INTDIR_A) mkdir $(XMLSEC_NSS_INTDIR_A) $(XMLSEC_MSCRYPTO_INTDIR) : if not exist $(XMLSEC_MSCRYPTO_INTDIR) mkdir $(XMLSEC_MSCRYPTO_INTDIR) $(XMLSEC_MSCRYPTO_INTDIR_A) : if not exist $(XMLSEC_MSCRYPTO_INTDIR_A) mkdir $(XMLSEC_MSCRYPTO_INTDIR_A) $(XMLSEC_MSCNG_INTDIR) : if not exist $(XMLSEC_MSCNG_INTDIR) mkdir $(XMLSEC_MSCNG_INTDIR) $(XMLSEC_MSCNG_INTDIR_A) : if not exist $(XMLSEC_MSCNG_INTDIR_A) mkdir $(XMLSEC_MSCNG_INTDIR_A) # # An implicit rule for xmlsec compilation. # {$(APPS_SRCDIR)}.c{$(XMLSEC_APPS_INTDIR)}.obj:: $(CC) $(CFLAGS) $(APP_CFLAGS) /Fo$(XMLSEC_APPS_INTDIR)\ /c $< {$(APPS_SRCDIR)\unit_tests}.c{$(XMLSEC_APPS_INTDIR)\unit_tests}.obj:: $(CC) $(CFLAGS) $(APP_CFLAGS) /Fo$(XMLSEC_APPS_INTDIR)\unit_tests\ /c $< {$(XMLSEC_OSS_FUZZ_SRCDIR)}.c{$(XMLSEC_OSS_FUZZ_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OSS_FUZZ_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_INTDIR)}.obj:: $(CC) $(CFLAGS) /Fo$(XMLSEC_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_OPENSSL_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OPENSSL_INTDIR)\ /c $< {$(XMLSEC_OPENSSL_SRCDIR)}.c{$(XMLSEC_OPENSSL_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OPENSSL_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_NSS_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_NSS_CFLAGS) /Fo$(XMLSEC_NSS_INTDIR)\ /c $< {$(XMLSEC_NSS_SRCDIR)}.c{$(XMLSEC_NSS_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_NSS_CFLAGS) /Fo$(XMLSEC_NSS_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_MSCRYPTO_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_MSCRYPTO_CFLAGS) /Fo$(XMLSEC_MSCRYPTO_INTDIR)\ /c $< {$(XMLSEC_MSCRYPTO_SRCDIR)}.c{$(XMLSEC_MSCRYPTO_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_MSCRYPTO_CFLAGS) /Fo$(XMLSEC_MSCRYPTO_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_MSCNG_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_MSCNG_CFLAGS) /Fo$(XMLSEC_MSCNG_INTDIR)\ /c $< {$(XMLSEC_MSCNG_SRCDIR)}.c{$(XMLSEC_MSCNG_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_MSCNG_CFLAGS) /Fo$(XMLSEC_MSCNG_INTDIR)\ /c $< # # An implicit rule for static xmlsec compilation. # {$(APPS_SRCDIR)}.c{$(XMLSEC_APPS_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(APP_CFLAGS) /Fo$(XMLSEC_APPS_INTDIR_A)\ /c $< {$(APPS_SRCDIR)\unit_tests}.c{$(XMLSEC_APPS_INTDIR_A)\unit_tests}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(APP_CFLAGS) /Fo$(XMLSEC_APPS_INTDIR_A)\unit_tests\ /c $< {$(XMLSEC_OSS_FUZZ_SRCDIR)}.c{$(XMLSEC_OSS_FUZZ_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OSS_FUZZ_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) /Fo$(XMLSEC_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_OPENSSL_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OPENSSL_INTDIR_A)\ /c $< {$(XMLSEC_OPENSSL_SRCDIR)}.c{$(XMLSEC_OPENSSL_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OPENSSL_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_NSS_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_NSS_CFLAGS) /Fo$(XMLSEC_NSS_INTDIR_A)\ /c $< {$(XMLSEC_NSS_SRCDIR)}.c{$(XMLSEC_NSS_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_NSS_CFLAGS) /Fo$(XMLSEC_NSS_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_MSCRYPTO_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_MSCRYPTO_CFLAGS) /Fo$(XMLSEC_MSCRYPTO_INTDIR_A)\ /c $< {$(XMLSEC_MSCRYPTO_SRCDIR)}.c{$(XMLSEC_MSCRYPTO_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_MSCRYPTO_CFLAGS) /Fo$(XMLSEC_MSCRYPTO_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_MSCNG_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_MSCNG_CFLAGS) /Fo$(XMLSEC_MSCNG_INTDIR_A)\ /c $< {$(XMLSEC_MSCNG_SRCDIR)}.c{$(XMLSEC_MSCNG_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_MSCNG_CFLAGS) /Fo$(XMLSEC_MSCNG_INTDIR_A)\ /c $< # # Compiles xmlsec source. Uses the implicit rule for commands. # $(XMLSEC_OBJS) : $(XMLSEC_INTDIR) $(XMLSEC_OBJS_A) : $(XMLSEC_INTDIR_A) $(XMLSEC_OPENSSL_OBJS) : $(XMLSEC_OPENSSL_INTDIR) $(XMLSEC_OPENSSL_OBJS_A) : $(XMLSEC_OPENSSL_INTDIR_A) $(XMLSEC_NSS_OBJS) : $(XMLSEC_NSS_INTDIR) $(XMLSEC_NSS_OBJS_A) : $(XMLSEC_NSS_INTDIR_A) $(XMLSEC_MSCRYPTO_OBJS) : $(XMLSEC_MSCRYPTO_INTDIR) $(XMLSEC_MSCRYPTO_OBJS_A) : $(XMLSEC_MSCRYPTO_INTDIR_A) $(XMLSEC_MSCNG_OBJS) : $(XMLSEC_MSCNG_INTDIR) $(XMLSEC_MSCNG_OBJS_A) : $(XMLSEC_MSCNG_INTDIR_A) # # Compile version resource for each target. # XMLSEC_RES = $(BINDIR)\$(XMLSEC_BASENAME).res $(XMLSEC_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(XMLSEC_SO)\"" \ /d "RC_DESCRIPTION=\"XML Security Library\"" \ /d "RC_FILETYPE=VFT_DLL" /fo $@ version.rc XMLSEC_OPENSSL_RES = $(BINDIR)\$(XMLSEC_OPENSSL_BASENAME).res $(XMLSEC_OPENSSL_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(XMLSEC_OPENSSL_SO)\"" \ /d "RC_DESCRIPTION=\"XML Security Library - OpenSSL crypto plugin\"" \ /d "RC_FILETYPE=VFT_DLL" /fo $@ version.rc XMLSEC_NSS_RES = $(BINDIR)\$(XMLSEC_NSS_BASENAME).res $(XMLSEC_NSS_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(XMLSEC_NSS_SO)\"" \ /d "RC_DESCRIPTION=\"XML Security Library - NSS crypto plugin\"" \ /d "RC_FILETYPE=VFT_DLL" /fo $@ version.rc XMLSEC_MSCRYPTO_RES = $(BINDIR)\$(XMLSEC_MSCRYPTO_BASENAME).res $(XMLSEC_MSCRYPTO_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(XMLSEC_MSCRYPTO_SO)\"" \ /d "RC_DESCRIPTION=\"XML Security Library - MSCrypto crypto plugin\"" \ /d "RC_FILETYPE=VFT_DLL" /fo $@ version.rc XMLSEC_MSCNG_RES = $(BINDIR)\$(XMLSEC_MSCNG_BASENAME).res $(XMLSEC_MSCNG_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(XMLSEC_MSCNG_SO)\"" \ /d "RC_DESCRIPTION=\"XML Security Library - MSCng crypto plugin\"" \ /d "RC_FILETYPE=VFT_DLL" /fo $@ version.rc XMLSEC_APP_RES = $(BINDIR)\xmlsec-app.res $(XMLSEC_APP_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(APP_NAME)\"" \ /d "RC_DESCRIPTION=\"XML Security Library - command line tool\"" \ /d "RC_FILETYPE=VFT_APP" /fo $@ version.rc XMLSEC_UNIT_TESTS_RES = $(BINDIR)\xmlsec-unit-tests.res $(XMLSEC_UNIT_TESTS_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(UNIT_TESTS_APP_NAME)\"" \ /d "RC_DESCRIPTION=\"XML Security Library - unit tests\"" \ /d "RC_FILETYPE=VFT_APP" /fo $@ version.rc XMLSEC_FUZZER_RES = $(BINDIR)\xmlsec-fuzzer.res $(XMLSEC_FUZZER_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(XMLSEC_FUZZER_APP_NAME)\"" \ /d "RC_DESCRIPTION=\"XML Security Library - fuzzer\"" \ /d "RC_FILETYPE=VFT_APP" /fo $@ version.rc XMLSEC_DSIG_VERIFY_FUZZER_RES = $(BINDIR)\xmlsec-dsig-verify-fuzzer.res $(XMLSEC_DSIG_VERIFY_FUZZER_RES) : version.rc $(BINDIR) $(RC) $(RCFLAGS) /d "RC_FILENAME=\"$(XMLSEC_DSIG_VERIFY_FUZZER_APP_NAME)\"" \ /d "RC_DESCRIPTION=\"XML Security Library - DSig verify fuzzer\"" \ /d "RC_FILETYPE=VFT_APP" /fo $@ version.rc # # Creates the shared objects and archives. # $(BINDIR)\$(XMLSEC_SO) : $(BINDIR) $(XMLSEC_OBJS) $(XMLSEC_RES) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_IMP) /OUT:$(BINDIR)\$(XMLSEC_SO) \ $(XMLSEC_OBJS) $(XMLSEC_RES) $(SOLIBS) $(BINDIR)\$(XMLSEC_A) : $(BINDIR) $(XMLSEC_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_A) $(XMLSEC_OBJS_A) $(BINDIR)\$(XMLSEC_OPENSSL_SO) : $(BINDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_OPENSSL_OBJS) $(XMLSEC_OPENSSL_RES) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_OPENSSL_IMP) /OUT:$(BINDIR)\$(XMLSEC_OPENSSL_SO) \ $(XMLSEC_OPENSSL_OBJS) $(XMLSEC_OPENSSL_RES) $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_OPENSSL_SOLIBS) $(BINDIR)\$(XMLSEC_OPENSSL_A) : $(BINDIR) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_OPENSSL_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_OPENSSL_A) $(XMLSEC_OPENSSL_OBJS_A) $(BINDIR)\$(XMLSEC_NSS_SO) : $(BINDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_NSS_OBJS) $(XMLSEC_NSS_RES) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_NSS_IMP) /OUT:$(BINDIR)\$(XMLSEC_NSS_SO) \ $(XMLSEC_NSS_OBJS) $(XMLSEC_NSS_RES) $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_NSS_SOLIBS) $(BINDIR)\$(XMLSEC_NSS_A) : $(BINDIR) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_NSS_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_NSS_A) $(XMLSEC_NSS_OBJS_A) $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) : $(BINDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_MSCRYPTO_OBJS) $(XMLSEC_MSCRYPTO_RES) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_MSCRYPTO_IMP) /OUT:$(BINDIR)\$(XMLSEC_MSCRYPTO_SO) \ $(XMLSEC_MSCRYPTO_OBJS) $(XMLSEC_MSCRYPTO_RES) $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_MSCRYPTO_SOLIBS) $(BINDIR)\$(XMLSEC_MSCRYPTO_A) : $(BINDIR) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_MSCRYPTO_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_MSCRYPTO_A) $(XMLSEC_MSCRYPTO_OBJS_A) $(BINDIR)\$(XMLSEC_MSCNG_SO) : $(BINDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_MSCNG_OBJS) $(XMLSEC_MSCNG_RES) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_MSCNG_IMP) /OUT:$(BINDIR)\$(XMLSEC_MSCNG_SO) \ $(XMLSEC_MSCNG_OBJS) $(XMLSEC_MSCNG_RES) $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_MSCNG_SOLIBS) $(BINDIR)\$(XMLSEC_MSCNG_A) : $(BINDIR) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_MSCNG_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_MSCNG_A) $(XMLSEC_MSCNG_OBJS_A) # # An implicit rule for xmlsec command line tool # $(BINDIR)\xmlseca.exe: xmlseca $(XMLSEC_APPS_INTDIR_A) $(BINDIR) $(XMLSEC_APPS_OBJS_A) $(XMLSEC_APP_RES) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_A) $(XMLSEC_CRYPTO_A) $(APP_LIBS) $(XMLSEC_APPS_OBJS_A) $(XMLSEC_APP_RES) $(BINDIR)\xmlsec.exe: xmlsec $(XMLSEC_APPS_INTDIR) $(BINDIR) $(XMLSEC_APPS_OBJS) $(XMLSEC_APP_RES) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_IMP) $(XMLSEC_CRYPTO_IMP) $(APP_LIBS) $(XMLSEC_APPS_OBJS) $(XMLSEC_APP_RES) $(BINDIR)\xmlsec_unit_testsa.exe: xmlseca $(XMLSEC_APPS_INTDIR_A)\unit_tests $(BINDIR) $(XMLSEC_UNIT_TESTS_OBJS_A) $(XMLSEC_UNIT_TESTS_RES) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_A) $(XMLSEC_CRYPTO_A) $(APP_LIBS) $(XMLSEC_UNIT_TESTS_OBJS_A) $(XMLSEC_UNIT_TESTS_RES) $(BINDIR)\xmlsec_unit_tests.exe: xmlsec $(XMLSEC_APPS_INTDIR)\unit_tests $(BINDIR) $(XMLSEC_UNIT_TESTS_OBJS) $(XMLSEC_UNIT_TESTS_RES) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_IMP) $(XMLSEC_CRYPTO_IMP) $(APP_LIBS) $(XMLSEC_UNIT_TESTS_OBJS) $(XMLSEC_UNIT_TESTS_RES) $(BINDIR)\xmlsec_fuzzera.exe: xmlseca $(XMLSEC_OSS_FUZZ_INTDIR_A) $(BINDIR) $(XMLSEC_FUZZER_OBJS_A) $(XMLSEC_FUZZER_RES) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_A) $(ALIBS) $(XMLSEC_FUZZER_OBJS_A) $(XMLSEC_FUZZER_RES) $(BINDIR)\xmlsec_fuzzer.exe: xmlsec $(XMLSEC_OSS_FUZZ_INTDIR) $(BINDIR) $(XMLSEC_FUZZER_OBJS) $(XMLSEC_FUZZER_RES) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_FUZZER_OBJS) $(XMLSEC_FUZZER_RES) $(BINDIR)\xmlsec_dsig_verify_fuzzera.exe: xmlseca $(XMLSEC_OSS_FUZZ_INTDIR_A) $(BINDIR) $(XMLSEC_DSIG_VERIFY_FUZZER_OBJS_A) $(XMLSEC_DSIG_VERIFY_FUZZER_RES) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_A) $(XMLSEC_OPENSSL_A) $(ALIBS) $(XMLSEC_OPENSSL_ALIBS) $(XMLSEC_DSIG_VERIFY_FUZZER_OBJS_A) $(XMLSEC_DSIG_VERIFY_FUZZER_RES) $(BINDIR)\xmlsec_dsig_verify_fuzzer.exe: xmlsec $(XMLSEC_OSS_FUZZ_INTDIR) $(BINDIR) $(XMLSEC_DSIG_VERIFY_FUZZER_OBJS) $(XMLSEC_DSIG_VERIFY_FUZZER_RES) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_IMP) $(XMLSEC_OPENSSL_IMP) $(SOLIBS) $(XMLSEC_OPENSSL_SOLIBS) $(XMLSEC_DSIG_VERIFY_FUZZER_OBJS) $(XMLSEC_DSIG_VERIFY_FUZZER_RES)