summaryrefslogtreecommitdiff
path: root/src/VBox/Debugger/Makefile.kmk
blob: c72a5ae2301585b15d0439e4a7ad671bade1c39d (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
# $Id$
## @file
# Makefile for the VBox debugger.
#

#
# Copyright (C) 2006-2022 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#

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 \
	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)