Makefile.kmk revision de4a8fd02869ef118f477a5efd0541dc91acb01f
# $Id$
## @file
# Makefile for the VBox debugger.
#
#
# Copyright (C) 2006-2007 Sun Microsystems, Inc.
#
# 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.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
# Clara, CA 95054 USA or visit http://www.sun.com if you need
# additional information or have any questions.
#
ifdef VBOX_SINGLE_MAKEFILE
SUB_DEPTH = ../../..
else
SUB_DEPTH = .
DEPTH = ../../..
endif
include $(KBUILD_PATH)/subheader.kmk
#
# The targets.
#
ifdef VBOX_WITH_DEBUGGER
LIBRARIES += Debugger
ifdef VBOX_WITH_TESTCASES
PROGRAMS += tstDBGCParser
endif
ifdef VBOX_WITH_DEBUGGER_GUI
DLLS += VBoxDbg3
ifdef VBOX_WITH_TESTCASES
PROGRAMS += tstVBoxDbg3
endif
endif
endif # VBOX_WITH_DEBUGGER
ifndef VBOX_OSE
INSTALLS.win.x86 += dbghelp
endif
#
# Debugger library - linked into VBoxVMM.
#
Debugger_TEMPLATE = VBOXR3
Debugger_DEFS = IN_VMM_R3 IN_PDM_R3 IN_CFGM_R3 IN_IOM_R3 IN_SUP_R3 IN_VM_R3 IN_RT_R3 IN_CPUM_R3 IN_SELM_R3 IN_PGM_R3 IN_TRPM_R3 IN_MM_R3 IN_DBG_R3 IN_DBGF_R3 IN_DIS_R3
Debugger_SOURCES = \
DBGConsole.cpp \
DBGCBuiltInSymbols.cpp \
DBGCCmdHlp.cpp \
DBGCCmdWorkers.cpp \
DBGCCommands.cpp \
DBGCEmulateCodeView.cpp \
DBGCOps.cpp \
DBGCTcp.cpp \
DBGPlugInSolaris.cpp \
DBGPlugInCommonELF.cpp
#
# The DBGC parser testcase.
# This stubs all the VBoxVMM APIs.
#
tstDBGCParser_TEMPLATE = VBOXR3TSTEXE
tstDBGCParser_DEFS = IN_DBGF_R3 IN_CPUM_R3 IN_MM_R3 IN_PGM_R3 IN_SELM_R3
tstDBGCParser_SOURCES = \
testcase/tstDBGCParser.cpp \
testcase/tstDBGCStubs.cpp
tstDBGCParser_LIBS = \
$(TARGET_Debugger) \
$(LIB_RUNTIME)
#
# Debugger GUI component.
#
USES += qt3
VBoxDbg3_TEMPLATE = VBOXQTGUI
VBoxDbg3_USES = qt3
VBoxDbg3_QTTOOL = QT3
VBoxDbg3_DEFS = IN_DBG_R3
VBoxDbg3_INCS = .
VBoxDbg3_CXXFLAGS.linux = $(TEMPLATE_VBOXQTGUI_CXXFLAGS.linux) -O2
VBoxDbg3_QT_MOCHDRS = \
VBoxDbgConsole.h \
VBoxDbgStats.h \
VBoxDbgGui.h
VBoxDbg3_SOURCES = \
VBoxDbg.cpp \
VBoxDbgGui.cpp \
VBoxDbgBase.cpp \
VBoxDbgConsole.cpp \
VBoxDbgStats.cpp
VBoxDbg3_LIBS = \
$(LIB_VMM)
VBoxDbg3_LDFLAGS.darwin = \
-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDbg3.dylib
#
# The VBoxDbg3 testcase.
#
tstVBoxDbg3_TEMPLATE = VBOXQTGUIEXE
tstVBoxDbg3_USES = qt3
tstVBoxDbg3_QTTOOL = QT3
tstVBoxDbg3_SOURCES = testcase/tstVBoxDbg.cpp
tstVBoxDbg3_LIBS = \
$(LIB_VMM) \
$(LIB_RUNTIME)
ifeq ($(KBUILD_TARGET),win)
tstVBoxDbg3_LIBS += \
$(PATH_LIB)/VBoxDbg3.lib
else
tstVBoxDbg3_LIBS += \
$(PATH_BIN)/VBoxDbg3$(VBOX_SUFF_DLL)
endif
#
# Install the dbghelp.dll binary.
#
dbghelp_INST = bin/
dbghelp_SOURCES.x86 = win32/dbghelp.dll
dbghelp_SOURCES.amd64 = win64/dbghelp.dll
include $(KBUILD_PATH)/subfooter.kmk