# $Id: Makefile.kmk 96407 2022-08-22 17:43:14Z vboxsync $ ## @file # OpenSSL Sub-Makefile. # # # Copyright (C) 2006-2022 Oracle and/or its affiliates. # # This file is part of VirtualBox base platform packages, as # available from https://www.virtualbox.org. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation, in version 3 of the # License. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # SPDX-License-Identifier: GPL-3.0-only # SUB_DEPTH = ../../../../.. include $(KBUILD_PATH)/subheader.kmk LIBRARIES += crypto_bn crypto_bn_TEMPLATE = SUBLIBCRYPTO crypto_bn_DEFS = OPENSSL_NO_DEPRECATED crypto_bn_SOURCES = \ bn_add.c \ bn_blind.c \ bn_const.c \ bn_conv.c \ bn_ctx.c \ bn_depr.c \ bn_dh.c \ bn_div.c \ bn_err.c \ bn_exp.c \ bn_exp2.c \ bn_gcd.c \ bn_gf2m.c \ bn_intern.c \ bn_kron.c \ bn_lib.c \ bn_mod.c \ bn_mont.c \ bn_mpi.c \ bn_mul.c \ bn_nist.c \ bn_prime.c \ bn_print.c \ bn_rand.c \ bn_recp.c \ bn_rsa_fips186_4.c \ bn_shift.c \ bn_sqr.c \ bn_sqrt.c \ bn_srp.c \ bn_word.c \ bn_x931p.c \ rsaz_exp.c \ rsaz_exp_x2.c ifdef VBOX_WITH_CRYPTO_ASM crypto_bn_SOURCES.x86 += \ $(VBOX_PATH_CRYPTO_GENASM)/bn-586.S \ $(VBOX_PATH_CRYPTO_GENASM)/co-586.S \ $(VBOX_PATH_CRYPTO_GENASM)/x86-mont.S \ $(VBOX_PATH_CRYPTO_GENASM)/x86-gf2m.S crypto_bn_SOURCES.amd64 += \ asm/x86_64-gcc.c \ $(VBOX_PATH_CRYPTO_GENASM)/rsaz-avx2.S \ $(VBOX_PATH_CRYPTO_GENASM)/rsaz-avx512.S \ $(VBOX_PATH_CRYPTO_GENASM)/rsaz-x86_64.S \ $(VBOX_PATH_CRYPTO_GENASM)/x86_64-gf2m.S \ $(VBOX_PATH_CRYPTO_GENASM)/x86_64-mont.S \ $(VBOX_PATH_CRYPTO_GENASM)/x86_64-mont5.S crypto_bn_DEFS.x86 += OPENSSL_BN_ASM_PART_WORDS else crypto_bn_SOURCES += bn_asm.c endif $(evalcall VBOX_OPENSSL_X86,crypto_bn) recreate-bn-asm: $(VBOX_PATH_CRYPTO)/perlasm/x86asm.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/bn-586.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/co-586.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/x86-mont.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/x86-gf2m.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-avx2.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-avx512.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-x86_64.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-gf2m.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-mont.pl \ $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-mont5.pl perl $(VBOX_PATH_CRYPTO_BN)/asm/bn-586.pl elf -fPIC $(VBOX_PATH_CRYPTO)/genasm-elf/bn-586.S perl $(VBOX_PATH_CRYPTO_BN)/asm/co-586.pl elf -fPIC $(VBOX_PATH_CRYPTO)/genasm-elf/co-586.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86-mont.pl elf -fPIC $(VBOX_PATH_CRYPTO)/genasm-elf/x86-mont.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86-gf2m.pl elf -fPIC $(VBOX_PATH_CRYPTO)/genasm-elf/x86-gf2m.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-avx2.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/rsaz-avx2.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-avx512.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/rsaz-avx512.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-x86_64.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/rsaz-x86_64.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-gf2m.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/x86_64-gf2m.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-mont.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/x86_64-mont.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-mont5.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/x86_64-mont5.S perl $(VBOX_PATH_CRYPTO_BN)/asm/bn-586.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/bn-586.S perl $(VBOX_PATH_CRYPTO_BN)/asm/co-586.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/co-586.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86-mont.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/x86-mont.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86-gf2m.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/x86-gf2m.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-avx2.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/rsaz-avx2.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-avx512.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/rsaz-avx512.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-x86_64.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/rsaz-x86_64.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-gf2m.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/x86_64-gf2m.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-mont.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/x86_64-mont.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-mont5.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/x86_64-mont5.S perl $(VBOX_PATH_CRYPTO_BN)/asm/bn-586.pl win32n $(VBOX_PATH_CRYPTO)/genasm-nasm/bn-586.S perl $(VBOX_PATH_CRYPTO_BN)/asm/co-586.pl win32n $(VBOX_PATH_CRYPTO)/genasm-nasm/co-586.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86-mont.pl win32n $(VBOX_PATH_CRYPTO)/genasm-nasm/x86-mont.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86-gf2m.pl win32n $(VBOX_PATH_CRYPTO)/genasm-nasm/x86-gf2m.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-avx2.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/rsaz-avx2.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-avx512.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/rsaz-avx512.S perl $(VBOX_PATH_CRYPTO_BN)/asm/rsaz-x86_64.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/rsaz-x86_64.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-gf2m.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/x86_64-gf2m.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-mont.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/x86_64-mont.S perl $(VBOX_PATH_CRYPTO_BN)/asm/x86_64-mont5.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/x86_64-mont5.S include $(FILE_KBUILD_SUB_FOOTER)