Makefile.kmk revision 42476bdb36f2f55dd8512c4eecc9ee6ac34ea924
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# $Id$
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync## @file
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Makefile for the VBox debugger.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Copyright (C) 2006-2007 Sun Microsystems, Inc.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# available from http://www.virtualbox.org. This file is free software;
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync#
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# additional information or have any questions.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncSUB_DEPTH = ../../..
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# The targets.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef VBOX_WITH_DEBUGGER
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync LIBRARIES += Debugger
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ifdef VBOX_WITH_TESTCASES
7e960d3a0a8a3a84d7aba2cca45d72b1c31cc97bvboxsync PROGRAMS += tstDBGCParser
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync endif
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncendif # VBOX_WITH_DEBUGGER
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifndef VBOX_OSE
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync INSTALLS.win.x86 += dbghelp
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncendif
61fa69e2bc9fc9e7490feed1c020273f3ddb238dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Debugger library - linked into VBoxVMM.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
b74ca013e5f201a2dd371e6c438433ceac12af30vboxsyncDebugger_TEMPLATE = VBOXR3
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncDebugger_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
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifneq ($(KBUILD_TARGET),release)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync Debugger_DEFS += VBOX_WITH_DEBUGGER_TCP_BY_DEFAULT
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncendif
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncDebugger_SOURCES = \
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsync DBGConsole.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync DBGCBuiltInSymbols.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync DBGCCmdHlp.cpp \
223cf005b18af2c21352a70693ebaf0582f68ebcvboxsync DBGCCmdWorkers.cpp \
223cf005b18af2c21352a70693ebaf0582f68ebcvboxsync DBGCCommands.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync DBGCEmulateCodeView.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync DBGCOps.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync DBGCTcp.cpp \
afed5ab737f4aacfae3fe73776f40e989190a7cavboxsync DBGPlugInSolaris.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync DBGPlugInCommonELF.cpp
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# The DBGC parser testcase.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# This stubs all the VBoxVMM APIs.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
0174432b2b1a760b89840ba696f7ba51def65dddvboxsynctstDBGCParser_TEMPLATE = VBOXR3TSTEXE
2daaccf68be3773aee600c5c3e48bcf5401418a6vboxsynctstDBGCParser_DEFS = IN_DBGF_R3 IN_CPUM_R3 IN_MM_R3 IN_PGM_R3 IN_SELM_R3
0174432b2b1a760b89840ba696f7ba51def65dddvboxsynctstDBGCParser_SOURCES = \
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync testcase/tstDBGCParser.cpp \
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync testcase/tstDBGCStubs.cpp
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsynctstDBGCParser_LIBS = \
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync $(TARGET_Debugger) \
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync $(LIB_RUNTIME)
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsyncif defined(VBOX_WITH_QTGUI) && defined(VBOX_WITH_DEBUGGER_GUI)
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Debugger GUI component (Qt3).
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncUSES += qt3
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncDLLS += VBoxDbg3
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_TEMPLATE = VBOXQTGUI
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_USES = qt3
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_QTTOOL = QT3
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_DEFS = IN_DBG_R3
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_INCS = .
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_CXXFLAGS.linux = $(TEMPLATE_VBOXQTGUI_CXXFLAGS.linux) -O2
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_QT_MOCHDRS = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbgConsole.h \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbgStats.h \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbgGui.h
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbg.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbgGui.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbgBase.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbgConsole.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbgStats.cpp
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_LIBS = \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync $(LIB_VMM)
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg3_LDFLAGS.darwin = \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDbg3.dylib
22e281e75ed636601178296c6daebda8f1d17c59vboxsync
22e281e75ed636601178296c6daebda8f1d17c59vboxsync ifdef VBOX_WITH_TESTCASES
22e281e75ed636601178296c6daebda8f1d17c59vboxsync#
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# The VBoxDbg testcase (Qt3).
22e281e75ed636601178296c6daebda8f1d17c59vboxsync#
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncPROGRAMS += tstVBoxDbg3
22e281e75ed636601178296c6daebda8f1d17c59vboxsynctstVBoxDbg3_TEMPLATE = VBOXQTGUIEXE
22e281e75ed636601178296c6daebda8f1d17c59vboxsynctstVBoxDbg3_USES = qt3
22e281e75ed636601178296c6daebda8f1d17c59vboxsynctstVBoxDbg3_QTTOOL = QT3
22e281e75ed636601178296c6daebda8f1d17c59vboxsynctstVBoxDbg3_SOURCES = testcase/tstVBoxDbg.cpp
22e281e75ed636601178296c6daebda8f1d17c59vboxsynctstVBoxDbg3_LIBS = \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync $(LIB_VMM) \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync $(LIB_RUNTIME)
22e281e75ed636601178296c6daebda8f1d17c59vboxsync ifeq ($(KBUILD_TARGET),win)
22e281e75ed636601178296c6daebda8f1d17c59vboxsynctstVBoxDbg3_LIBS += \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync $(PATH_LIB)/VBoxDbg3.lib
22e281e75ed636601178296c6daebda8f1d17c59vboxsync else
22e281e75ed636601178296c6daebda8f1d17c59vboxsynctstVBoxDbg3_LIBS += \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync $(PATH_BIN)/VBoxDbg3$(VBOX_SUFF_DLL)
22e281e75ed636601178296c6daebda8f1d17c59vboxsync endif
7b80828e5760a8814fe6cd494d2715a4544fbddcvboxsync endif
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncendif # QTGUI
22e281e75ed636601178296c6daebda8f1d17c59vboxsync
22e281e75ed636601178296c6daebda8f1d17c59vboxsync
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncif defined(VBOX_WITH_QT4GUI) && defined(VBOX_WITH_DEBUGGER_GUI) && $(USER) == bird
22e281e75ed636601178296c6daebda8f1d17c59vboxsync#
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# Debugger GUI component (Qt4).
22e281e75ed636601178296c6daebda8f1d17c59vboxsync#
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncUSES += qt4
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncDLLS += VBoxDbg
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_TEMPLATE = VBOXQT4GUI
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_DEFS = IN_DBG_R3 VBOXDBG_USE_QT4
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_INCS = .
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_QT_MODULES = Core Gui
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_QT_MOCHDRS = \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync VBoxDbgGui.h \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync VBoxDbgConsole.h \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync VBoxDbgStatsQt4.h
d1cbbd799d8912978f5146960b6780f387bb414bvboxsyncVBoxDbg_SOURCES = \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync VBoxDbg.cpp \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync VBoxDbgGui.cpp \
c17f5c90f2cb60b38ecabebce128724c6ff2d036vboxsync VBoxDbgBase.cpp \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync VBoxDbgConsole.cpp \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxDbgStatsQt4.cpp
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg_LIBS = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(LIB_VMM)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg_LDFLAGS.darwin = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDbg.dylib
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ifdef VBOX_WITH_TESTCASES
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# The VBoxDbg testcase (Qt4).
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncPROGRAMS += tstVBoxDbg
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_TEMPLATE = VBOXQT4GUIEXE
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_USES = qt4
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_QTTOOL = QT4
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_QT_MODULES = Core Gui
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_SOURCES = testcase/tstVBoxDbg.cpp
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_LIBS = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(LIB_VMM) \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(LIB_RUNTIME)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ifeq ($(KBUILD_TARGET),win)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_LIBS += \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_LIB)/VBoxDbg.lib
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync else
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_LIBS += \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_BIN)/VBoxDbg$(VBOX_SUFF_DLL)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync endif
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync endif # TESTCASES
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncendif # Qt4
b1c3cdef473df2fbc621d5da81acc82dbfb8a11avboxsync
a11c569636fa6838bd423f4631a9660a5a84204bvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Install the dbghelp.dll binary.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncdbghelp_INST = bin/
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncdbghelp_SOURCES.x86 = win32/dbghelp.dll
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncdbghelp_SOURCES.amd64 = win64/dbghelp.dll
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync