VirtualBox

source: vbox/trunk/src/VBox/Disassembler/Makefile.kmk@ 105971

Last change on this file since 105971 was 104734, checked in by vboxsync, 6 months ago

Disassembler,HostDrivers/Support: Build disassembler and SUPR3 libraries on linux.arm64 if VBOX_WITH_STATIC_ARM64_PAGE_SHIFT is set, bugref:10391

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.1 KB
Line 
1# $Id: Makefile.kmk 104734 2024-05-20 17:17:51Z vboxsync $
2## @file
3# Sub-Makefile for the VBox Disassembler.
4#
5
6#
7# Copyright (C) 2006-2023 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31# include the sub-makefile first.
32if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_VALIDATIONKIT)
33 include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
34endif
35
36
37if "$(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
38 LIBRARIES += DisasmR3
39endif
40DisasmR3_TEMPLATE = VBoxR3Dll
41DisasmR3_DEFS = IN_DIS
42DisasmR3_SOURCES = \
43 Disasm.cpp \
44 DisasmMisc.cpp \
45 DisasmFormatBytes.cpp
46if 1
47 DisasmR3_DEFS += VBOX_DIS_WITH_X86_AMD64
48 DisasmR3_SOURCES += \
49 DisasmCore-x86-amd64.cpp \
50 DisasmTables-x86-amd64.cpp \
51 DisasmTablesX64.cpp \
52 DisasmFormatYasm.cpp
53endif
54if 1
55 DisasmR3_DEFS += VBOX_DIS_WITH_ARMV8
56 DisasmR3_SOURCES += \
57 DisasmCore-armv8.cpp \
58 DisasmTables-armv8-a64.cpp \
59 DisasmFormatArmV8.cpp
60endif
61
62ifn1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), linux.arm64)
63 LIBRARIES += DisasmR3Static
64endif
65DisasmR3Static_TEMPLATE = VBoxR3Static
66DisasmR3Static_EXTENDS = DisasmR3
67
68ifndef VBOX_ONLY_VALIDATIONKIT
69
70 LIBRARIES += DisasmBldProg
71 DisasmBldProg_TEMPLATE = VBoxAdvBldProg
72 DisasmBldProg_EXTENDS = DisasmR3
73
74 LIBRARIES += DisasmCoreR3
75 DisasmCoreR3_TEMPLATE = VBoxR3Dll
76 DisasmCoreR3_DEFS = IN_DIS DIS_CORE_ONLY VBOX_DIS_WITH_X86_AMD64
77 DisasmCoreR3_SOURCES = \
78 Disasm.cpp \
79 DisasmCore-x86-amd64.cpp \
80 DisasmTables-x86-amd64.cpp \
81 DisasmTablesX64.cpp \
82 DisasmMisc.cpp
83
84 ifdef VBOX_WITH_RAW_MODE
85 LIBRARIES += DisasmRC
86 DisasmRC_TEMPLATE = VBoxRc
87 DisasmRC_DEFS = IN_DIS IN_RT_RC DIS_CORE_ONLY VBOX_DIS_WITH_X86_AMD64
88 DisasmRC_SOURCES = \
89 Disasm.cpp \
90 DisasmCore-x86-amd64.cpp \
91 DisasmTables-x86-amd64.cpp \
92 DisasmTablesX64.cpp \
93 DisasmMisc.cpp
94 endif # VBOX_WITH_RAW_MODE
95
96 ifdef VBOX_WITH_R0_MODULES
97 LIBRARIES += DisasmR0
98 DisasmR0_TEMPLATE = VBoxR0
99 DisasmR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY VBOX_DIS_WITH_X86_AMD64
100 DisasmR0_SOURCES = \
101 Disasm.cpp \
102 DisasmCore-x86-amd64.cpp \
103 DisasmTables-x86-amd64.cpp \
104 DisasmTablesX64.cpp \
105 DisasmMisc.cpp
106 endif
107
108endif # !VBOX_ONLY_VALIDATIONKIT
109
110include $(FILE_KBUILD_SUB_FOOTER)
111
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette