blob: f8fec994086d3e14348ad8ca77224c106c936a3c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# $Id: Makefile.kmk $
## @file
# Makefile for the VBox debugger.
#
#
# 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 <https://www.gnu.org/licenses>.
#
# SPDX-License-Identifier: GPL-3.0-only
#
SUB_DEPTH = ../../..
include $(KBUILD_PATH)/subheader.kmk
#
# The targets.
#
ifdef VBOX_WITH_DEBUGGER
LIBRARIES += Debugger
ifdef VBOX_WITH_TESTCASES
PROGRAMS += tstDBGCParser
endif
endif # VBOX_WITH_DEBUGGER
#
# Debugger library - linked into VBoxVMM.
#
Debugger_TEMPLATE = VBOXR3
Debugger_DEFS = IN_VMM_R3 IN_DBG_R3 IN_DIS
ifneq ($(KBUILD_TYPE),release)
Debugger_DEFS += VBOX_WITH_DEBUGGER_TCP_BY_DEFAULT
endif
Debugger_SOURCES = \
DBGConsole.cpp \
DBGCEval.cpp \
DBGCBuiltInSymbols.cpp \
DBGCCmdHlp.cpp \
DBGCCmdWorkers.cpp \
DBGCCommands.cpp \
DBGCDumpImage.cpp \
DBGCFunctions.cpp \
DBGCEmulateCodeView.cpp \
DBGCOps.cpp \
DBGCGdbRemoteStub.cpp \
DBGCRemoteKd.cpp \
DBGCIo.cpp \
DBGCIoProvTcp.cpp \
DBGCIoProvUdp.cpp \
DBGCIoProvIpc.cpp \
DBGCScreenAscii.cpp
#
# The diggers plug-in.
#
DLLS += DbgPlugInDiggers
DbgPlugInDiggers_TEMPLATE = VBOXR3
DbgPlugInDiggers_DEFS = IN_DIS
DbgPlugInDiggers_SOURCES = \
DBGPlugInDiggers.cpp \
DBGPlugInDarwin.cpp \
DBGPlugInLinux.cpp \
DBGPlugInSolaris.cpp \
DBGPlugInWinNt.cpp \
DBGPlugInOS2.cpp \
DBGPlugInFreeBsd.cpp \
DBGPlugInCommonELF.cpp
DbgPlugInDiggers_LIBS = \
$(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB) \
$(LIB_RUNTIME)
$(call VBOX_SET_VER_INFO_DLL,DbgPlugInDiggers,VirtualBox Debugger Guest OS Digger Plug-in)
#
# The DBGC parser testcase.
# This stubs all the VBoxVMM APIs.
#
tstDBGCParser_TEMPLATE = VBOXR3TSTEXE
tstDBGCParser_DEFS = IN_VMM_R3
tstDBGCParser_CXXFLAGS = $(VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS)
tstDBGCParser_SOURCES = \
testcase/tstDBGCParser.cpp \
testcase/tstDBGCStubs.cpp
tstDBGCParser_LIBS = \
$(Debugger_1_TARGET) \
$(LIB_RUNTIME)
if defined(VBOX_WITH_QTGUI) && defined(VBOX_WITH_DEBUGGER_GUI)
#
# Debugger GUI component (Qt).
#
ifndef VBOX_WITH_QT6
USES += qt5
else
USES += qt6
endif
DLLS += VBoxDbg
VBoxDbg_TEMPLATE = VBOXQTGUI
VBoxDbg_DEFS = IN_DBG_R3
VBoxDbg_INCS = .
VBoxDbg_QT_MODULES = Core Gui Widgets
VBoxDbg_QT_MOCHDRS = \
VBoxDbgGui.h \
VBoxDbgConsole.h \
VBoxDbgStatsQt.h
VBoxDbg_SOURCES = \
VBoxDbg.cpp \
VBoxDbgGui.cpp \
VBoxDbgBase.cpp \
VBoxDbgConsole.cpp \
VBoxDbgStatsQt.cpp
VBoxDbg_LDFLAGS.darwin = \
-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDbg.dylib
$(call VBOX_SET_VER_INFO_DLL,VBoxDbg,VirtualBox Debugger GUI)
endif # Qt
include $(FILE_KBUILD_SUB_FOOTER)
|