summaryrefslogtreecommitdiffstats
path: root/src/VBox/Debugger/Makefile.kmk
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Debugger/Makefile.kmk')
-rw-r--r--src/VBox/Debugger/Makefile.kmk148
1 files changed, 148 insertions, 0 deletions
diff --git a/src/VBox/Debugger/Makefile.kmk b/src/VBox/Debugger/Makefile.kmk
new file mode 100644
index 00000000..ae414d7c
--- /dev/null
+++ b/src/VBox/Debugger/Makefile.kmk
@@ -0,0 +1,148 @@
+# $Id: Makefile.kmk $
+## @file
+# Makefile for the VBox debugger.
+#
+
+#
+# Copyright (C) 2006-2019 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 \
+ DBGCTcp.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) \
+ $(if-expr "$(LIB_VMM)" == "$(VBOX_LIB_VMM_LAZY)",$(LIB_REM),) \
+ $(VBOX_LIB_VMM_LAZY) \
+ $(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).
+#
+USES += qt5
+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_LIBS = \
+ $(VBOX_LIB_VMM_LAZY)
+VBoxDbg_LDFLAGS.darwin = \
+ -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDbg.dylib
+$(call VBOX_SET_VER_INFO_DLL,VBoxDbg,VirtualBox Debugger GUI)
+
+ ifdef VBOX_WITH_TESTCASES
+#
+# The VBoxDbg testcase (Qt).
+#
+PROGRAMS += tstVBoxDbg
+tstVBoxDbg_TEMPLATE = VBOXQTGUIEXE
+tstVBoxDbg_USES = qt5
+tstVBoxDbg_QTTOOL = QT5
+tstVBoxDbg_QT_MODULES = Core Gui Widgets
+tstVBoxDbg_LIBS.linux += xcb
+tstVBoxDbg_LIBS.solaris += xcb
+tstVBoxDbg_LIBS.freebsd += xcb
+tstVBoxDbg_SOURCES = testcase/tstVBoxDbg.cpp
+tstVBoxDbg_LIBS = \
+ $(LIB_VMM) \
+ $(LIB_REM) \
+ $(LIB_RUNTIME)
+ ifeq ($(KBUILD_TARGET),win)
+tstVBoxDbg_LIBS += \
+ $(PATH_STAGE_LIB)/VBoxDbg.lib
+ else
+tstVBoxDbg_LIBS += \
+ $(PATH_STAGE_BIN)/VBoxDbg$(VBOX_SUFF_DLL)
+ endif
+ endif # TESTCASES
+endif # Qt
+
+
+include $(FILE_KBUILD_SUB_FOOTER)
+