# $Id: Makefile.kmk 106061 2024-09-16 14:03:52Z vboxsync $ ## @file # Sub-Makefile for the VBox Disassembler. # # # Copyright (C) 2006-2024 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 # include the sub-makefile first. if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_VALIDATIONKIT) include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk endif if "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" != "linux.arm64" || defined(VBOX_WITH_STATIC_ARM64_PAGE_SHIFT) # @todo Required by cidet in the validationkit but uses PAGE_OFFSET_MASK LIBRARIES += DisasmR3 endif DisasmR3_TEMPLATE = VBoxR3Dll DisasmR3_DEFS = IN_DIS DisasmR3_SOURCES = \ Disasm.cpp \ DisasmMisc.cpp \ DisasmFormatBytes.cpp if 1 DisasmR3_DEFS += VBOX_DIS_WITH_X86_AMD64 DisasmR3_SOURCES += \ DisasmCore-x86-amd64.cpp \ DisasmTables-x86-amd64.cpp \ DisasmTablesX64.cpp \ DisasmFormatYasm.cpp endif if 1 DisasmR3_DEFS += VBOX_DIS_WITH_ARMV8 DisasmR3_SOURCES += \ DisasmCore-armv8.cpp \ DisasmTables-armv8-a64.cpp \ DisasmFormatArmV8.cpp endif ifn1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), linux.arm64) LIBRARIES += DisasmR3Static endif DisasmR3Static_TEMPLATE = VBoxR3Static DisasmR3Static_EXTENDS = DisasmR3 ifndef VBOX_ONLY_VALIDATIONKIT LIBRARIES += DisasmBldProg DisasmBldProg_TEMPLATE = VBoxAdvBldProg DisasmBldProg_EXTENDS = DisasmR3 LIBRARIES += DisasmCoreR3 DisasmCoreR3_TEMPLATE = VBoxR3Dll DisasmCoreR3_DEFS = IN_DIS DIS_CORE_ONLY VBOX_DIS_WITH_X86_AMD64 DisasmCoreR3_SOURCES = \ Disasm.cpp \ DisasmCore-x86-amd64.cpp \ DisasmTables-x86-amd64.cpp \ DisasmTablesX64.cpp \ DisasmMisc.cpp ifdef VBOX_WITH_RAW_MODE LIBRARIES += DisasmRC DisasmRC_TEMPLATE = VBoxRc DisasmRC_DEFS = IN_DIS IN_RT_RC DIS_CORE_ONLY VBOX_DIS_WITH_X86_AMD64 DisasmRC_SOURCES = \ Disasm.cpp \ DisasmCore-x86-amd64.cpp \ DisasmTables-x86-amd64.cpp \ DisasmTablesX64.cpp \ DisasmMisc.cpp endif # VBOX_WITH_RAW_MODE ifdef VBOX_WITH_R0_MODULES LIBRARIES += DisasmR0 DisasmR0_TEMPLATE = VBoxR0 DisasmR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY VBOX_DIS_WITH_X86_AMD64 DisasmR0_SOURCES = \ Disasm.cpp \ DisasmCore-x86-amd64.cpp \ DisasmTables-x86-amd64.cpp \ DisasmTablesX64.cpp \ DisasmMisc.cpp endif endif # !VBOX_ONLY_VALIDATIONKIT include $(FILE_KBUILD_SUB_FOOTER)