# $Id: Makefile.kmk 98391 2023-02-01 13:30:13Z vboxsync $ ## @file # OpenSSL Sub-Makefile. # # # Copyright (C) 2006-2023 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_sha crypto_sha_TEMPLATE = SubLibCrypto crypto_sha_DEFS = OPENSSL_NO_DEPRECATED crypto_sha_SOURCES = \ sha1_one.c \ sha1dgst.c \ sha256.c \ sha3.c \ sha512.c ifdef VBOX_WITH_CRYPTO_ASM crypto_sha_SOURCES.x86 += \ keccak1600.c \ $(VBOX_PATH_CRYPTO_GENASM)/sha1-586.S \ $(VBOX_PATH_CRYPTO_GENASM)/sha256-586.S \ $(VBOX_PATH_CRYPTO_GENASM)/sha512-586.S crypto_sha_SOURCES.amd64 += \ $(VBOX_PATH_CRYPTO_GENASM)/keccak1600-x86_64.S \ $(VBOX_PATH_CRYPTO_GENASM)/sha1-x86_64.S \ $(VBOX_PATH_CRYPTO_GENASM)/sha1-mb-x86_64.S \ $(VBOX_PATH_CRYPTO_GENASM)/sha256-x86_64.S \ $(VBOX_PATH_CRYPTO_GENASM)/sha256-mb-x86_64.S \ $(VBOX_PATH_CRYPTO_GENASM)/sha512-x86_64.S else crypto_sha_SOURCES += \ keccak1600.c endif $(evalcall VBOX_OPENSSL_X86,crypto_sha) recreate-sha-asm: $(VBOX_PATH_CRYPTO)/perlasm/x86asm.pl \ $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-586.pl \ $(VBOX_PATH_CRYPTO_SHA)/asm/sha256-586.pl \ $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-586.pl \ $(VBOX_PATH_CRYPTO_SHA)/asm/keccak1600-x86_64.pl \ $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-x86_64.pl \ $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-mb-x86_64.pl \ $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-x86_64.pl \ $(VBOX_PATH_CRYPTO_SHA)/asm/sha256-mb-x86_64.pl perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-586.pl elf -fPIC $(VBOX_PATH_CRYPTO)/genasm-elf/sha1-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha256-586.pl elf -fPIC $(VBOX_PATH_CRYPTO)/genasm-elf/sha256-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-586.pl elf -fPIC $(VBOX_PATH_CRYPTO)/genasm-elf/sha512-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/keccak1600-x86_64.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/keccak1600-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-x86_64.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/sha1-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-mb-x86_64.pl elf $(VBOX_PATH_CRYPTO)//genasm-elf/sha1-mb-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-x86_64.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/sha256-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha256-mb-x86_64.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/sha256-mb-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-x86_64.pl elf $(VBOX_PATH_CRYPTO)/genasm-elf/sha512-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-586.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/sha1-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha256-586.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/sha256-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-586.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/sha512-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/keccak1600-x86_64.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/keccak1600-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-x86_64.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/sha1-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-mb-x86_64.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/sha1-mb-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-x86_64.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/sha256-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha256-mb-x86_64.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/sha256-mb-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-x86_64.pl macosx $(VBOX_PATH_CRYPTO)/genasm-macosx/sha512-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-586.pl win32n $(VBOX_PATH_CRYPTO)/genasm-nasm/sha1-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha256-586.pl win32n $(VBOX_PATH_CRYPTO)/genasm-nasm/sha256-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-586.pl win32n $(VBOX_PATH_CRYPTO)/genasm-nasm/sha512-586.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/keccak1600-x86_64.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/keccak1600-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-x86_64.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/sha1-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha1-mb-x86_64.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/sha1-mb-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-x86_64.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/sha256-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha256-mb-x86_64.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/sha256-mb-x86_64.S perl $(VBOX_PATH_CRYPTO_SHA)/asm/sha512-x86_64.pl nasm $(VBOX_PATH_CRYPTO)/genasm-nasm/sha512-x86_64.S include $(FILE_KBUILD_SUB_FOOTER)