Makefile.kmk revision efac9f717fd7349cf92633656338f9eb43b39c0f
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# Makefile for the VBox debugger.
62263e030f89e8323226e9f7243cbba769597e14vboxsync# Copyright (C) 2006-2007 innotek GmbH
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# available from http://www.virtualbox.org. This file is free software;
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# General Public License as published by the Free Software Foundation,
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# distribution. VirtualBox OSE is distributed in the hope that it will
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# be useful, but WITHOUT ANY WARRANTY of any kind.
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncDEPTH = ../../..
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncinclude $(PATH_KBUILD)/header.kmk
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncLIBRARIES = Debugger
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncifdef VBOX_WITH_DEBUGGER_GUI
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncDLLS = VBoxDbg
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncPROGRAMS = tstVBoxDbg
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncifndef VBOX_OSE
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# Debugger library
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncDebugger_TEMPLATE = VBOXR3
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncDebugger_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
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncDebugger_SOURCES = \
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# The testcase.
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsynctstVBoxDbg_TEMPLATE = VBOXQTGUIEXE
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsynctstVBoxDbg_SOURCES = testcase/tstVBoxDbg.cpp
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsynctstVBoxDbg_LIBS = \
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync $(LIB_VMM) \
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync $(LIB_RUNTIME)
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncifeq ($(BUILD_TARGET),win)
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsynctstVBoxDbg_LIBS += \
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsynctstVBoxDbg_LIBS += \
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync $(PATH_BIN)/VBoxDbg$(VBOX_SUFF_DLL)
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# Debugger GUI component.
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncVBoxDbg_TEMPLATE = VBOXQTGUI
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncVBoxDbg_DEFS = IN_DBG_R3
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncVBoxDbg_CXXFLAGS.linux = $(TEMPLATE_VBOXQTGUI_CXXFLAGS.linux) -O2
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncVBoxDbg_INCS = \
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync $(PATH_VBoxDbg)/ui \
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync $(PATH_VBoxDbg)/moc \
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync $(PATH_VBoxDbg)/include
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# QDesigner UI sources
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncVBoxDbg_QT_UISRCS =
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsync# Headers containing definitions of classes that use the Q_OBJECT macro
07ca5489e6fa49b415eb5e0e42567833699a9e57vboxsyncVBoxDbg_QT_MOCHDRS = \
# UI headers (ui.h) containing local definitions of classes that use the Q_OBJECT macro
$(foreach moc,$(notdir $(basename $(VBoxDbg_QT_MOCHDRS))), $(PATH_VBoxDbg)/moc/moc_$(moc).cpp) \
$(foreach ui,$(notdir $(basename $(VBoxDbg_QT_UISRCS))), $(PATH_VBoxDbg)/ui/$(ui).cpp $(PATH_VBoxDbg)/moc/moc_$(ui).cpp)
# Install the dbghelp.dll binary.
include $(PATH_KBUILD)/footer.kmk
$(eval mocsrc := $(PATH_$(target))/moc/moc_$(notdir $(basename $(mochdr))).cpp)
## Generate a rule to create a MOC include file from a UI header (ui.h) containing
$(eval mocsrc := $(PATH_$(target))/moc/moc_$(notdir $(basename $(uifile))).cpp)
$(VBOX_LUPDATE) $(VBoxDbg_SOURCES) $(VBoxDbg_QT_MOCHDRS) $(VBoxDbg_GENHDRS) -ts $(VBoxDbg_TRANSLATIONS)
$(PATH_VBoxDbg)/gen/ui/VBoxNewVMWzd$(VBOX_SUFF_OBJ): $(PATH_VBoxDbg)/ui/VBoxNewVMWzd.h $(PATH_VBoxDbg)/ui/VBoxDiskImageMgrDlg.h
$(PATH_VBoxDbg)/gen/ui/VBoxDiskImageMgrDlg$(VBOX_SUFF_OBJ): ui/VBoxDiskImageMgrDlg.ui $(PATH_VBoxDbg)/ui/VBoxNewHDWzd.h