Makefile.kmk revision 42476bdb36f2f55dd8512c4eecc9ee6ac34ea924
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Makefile for the VBox debugger.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Copyright (C) 2006-2007 Sun Microsystems, Inc.
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# 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.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncSUB_DEPTH = ../../..
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# The targets.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef VBOX_WITH_DEBUGGER
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync LIBRARIES += Debugger
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ifdef VBOX_WITH_TESTCASES
7e960d3a0a8a3a84d7aba2cca45d72b1c31cc97bvboxsync PROGRAMS += tstDBGCParser
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncendif # VBOX_WITH_DEBUGGER
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifndef VBOX_OSE
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Debugger library - linked into VBoxVMM.
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
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncDebugger_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# The DBGC parser testcase.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# This stubs all the VBoxVMM APIs.
0174432b2b1a760b89840ba696f7ba51def65dddvboxsynctstDBGCParser_TEMPLATE = VBOXR3TSTEXE
2daaccf68be3773aee600c5c3e48bcf5401418a6vboxsynctstDBGCParser_DEFS = IN_DBGF_R3 IN_CPUM_R3 IN_MM_R3 IN_PGM_R3 IN_SELM_R3
0174432b2b1a760b89840ba696f7ba51def65dddvboxsynctstDBGCParser_SOURCES = \
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsynctstDBGCParser_LIBS = \
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync $(TARGET_Debugger) \
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync $(LIB_RUNTIME)
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsyncif defined(VBOX_WITH_QTGUI) && defined(VBOX_WITH_DEBUGGER_GUI)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Debugger GUI component (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 = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg3_LIBS = \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDbg3.dylib
22e281e75ed636601178296c6daebda8f1d17c59vboxsync ifdef VBOX_WITH_TESTCASES
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# The VBoxDbg testcase (Qt3).
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 += \
22e281e75ed636601178296c6daebda8f1d17c59vboxsynctstVBoxDbg3_LIBS += \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync $(PATH_BIN)/VBoxDbg3$(VBOX_SUFF_DLL)
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncendif # QTGUI
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncif defined(VBOX_WITH_QT4GUI) && defined(VBOX_WITH_DEBUGGER_GUI) && $(USER) == bird
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# Debugger GUI component (Qt4).
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncDLLS += VBoxDbg
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_TEMPLATE = VBOXQT4GUI
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_DEFS = IN_DBG_R3 VBOXDBG_USE_QT4
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_INCS = .
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_QT_MODULES = Core Gui
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncVBoxDbg_QT_MOCHDRS = \
d1cbbd799d8912978f5146960b6780f387bb414bvboxsyncVBoxDbg_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxDbg_LIBS = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDbg.dylib
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ifdef VBOX_WITH_TESTCASES
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# The VBoxDbg testcase (Qt4).
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 += \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctstVBoxDbg_LIBS += \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_BIN)/VBoxDbg$(VBOX_SUFF_DLL)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync endif # TESTCASES
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Install the dbghelp.dll binary.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncdbghelp_INST = bin/
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncinclude $(KBUILD_PATH)/subfooter.kmk