VirtualBox

source: vbox/trunk/src/VBox/Debugger/Makefile.kmk@ 48935

Last change on this file since 48935 was 46474, checked in by vboxsync, 11 years ago

VBoxDef2LazyLoad: Added tool for generating lazy loading of VBoxVMM.dll to prevent it being loaded into VBoxSVC and the VM selector.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1# $Id: Makefile.kmk 46474 2013-06-10 16:02:12Z vboxsync $
2## @file
3# Makefile for the VBox debugger.
4#
5
6#
7# Copyright (C) 2006-2012 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18SUB_DEPTH = ../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21#
22# The targets.
23#
24ifdef VBOX_WITH_DEBUGGER
25 LIBRARIES += Debugger
26 ifdef VBOX_WITH_TESTCASES
27 PROGRAMS += tstDBGCParser
28 endif
29endif # VBOX_WITH_DEBUGGER
30ifndef VBOX_OSE
31 INSTALLS.win.x86 += dbghelp
32endif
33
34
35#
36# Debugger library - linked into VBoxVMM.
37#
38Debugger_TEMPLATE = VBOXR3
39Debugger_DEFS = IN_VMM_R3 IN_DBG_R3 IN_DIS
40ifneq ($(KBUILD_TYPE),release)
41 Debugger_DEFS += VBOX_WITH_DEBUGGER_TCP_BY_DEFAULT
42endif
43Debugger_SOURCES = \
44 DBGConsole.cpp \
45 DBGCEval.cpp \
46 DBGCBuiltInSymbols.cpp \
47 DBGCCmdHlp.cpp \
48 DBGCCmdWorkers.cpp \
49 DBGCCommands.cpp \
50 DBGCFunctions.cpp \
51 DBGCEmulateCodeView.cpp \
52 DBGCOps.cpp \
53 DBGCGdbRemoteStub.cpp \
54 DBGCTcp.cpp
55
56#
57# The diggers plug-in.
58#
59DLLS += DBGCPlugInDiggers
60DBGCPlugInDiggers_TEMPLATE = VBOXR3
61DBGCPlugInDiggers_SOURCES = \
62 DBGPlugInDiggers.cpp \
63 DBGPlugInLinux.cpp \
64 DBGPlugInSolaris.cpp \
65 DBGPlugInWinNt.cpp \
66 DBGPlugInOS2.cpp \
67 DBGPlugInCommonELF.cpp
68DBGCPlugInDiggers_LIBS = \
69 $(if-expr "$(LIB_VMM)" == "$(VBOX_LIB_VMM_LAZY)",$(LIB_REM),) \
70 $(VBOX_LIB_VMM_LAZY) \
71 $(LIB_RUNTIME)
72
73
74#
75# The DBGC parser testcase.
76# This stubs all the VBoxVMM APIs.
77#
78tstDBGCParser_TEMPLATE = VBOXR3TSTEXE
79tstDBGCParser_DEFS = IN_VMM_R3
80tstDBGCParser_CXXFLAGS = $(VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS)
81tstDBGCParser_SOURCES = \
82 testcase/tstDBGCParser.cpp \
83 testcase/tstDBGCStubs.cpp
84tstDBGCParser_LIBS = \
85 $(Debugger_1_TARGET) \
86 $(LIB_RUNTIME)
87
88
89if defined(VBOX_WITH_QTGUI) && defined(VBOX_WITH_DEBUGGER_GUI)
90#
91# Debugger GUI component (Qt4).
92#
93USES += qt4
94DLLS += VBoxDbg
95VBoxDbg_TEMPLATE = VBOXQT4GUI
96VBoxDbg_DEFS = IN_DBG_R3 VBOXDBG_USE_QT4
97VBoxDbg_INCS = .
98VBoxDbg_QT_MODULES = Core Gui
99VBoxDbg_QT_MOCHDRS = \
100 VBoxDbgGui.h \
101 VBoxDbgConsole.h \
102 VBoxDbgStatsQt4.h
103VBoxDbg_SOURCES = \
104 VBoxDbg.cpp \
105 VBoxDbgGui.cpp \
106 VBoxDbgBase.cpp \
107 VBoxDbgConsole.cpp \
108 VBoxDbgStatsQt4.cpp
109VBoxDbg_LIBS = \
110 $(VBOX_LIB_VMM_LAZY)
111VBoxDbg_LDFLAGS.darwin = \
112 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDbg.dylib
113
114 ifdef VBOX_WITH_TESTCASES
115#
116# The VBoxDbg testcase (Qt4).
117#
118PROGRAMS += tstVBoxDbg
119tstVBoxDbg_TEMPLATE = VBOXQT4GUIEXE
120tstVBoxDbg_USES = qt4
121tstVBoxDbg_QTTOOL = QT4
122tstVBoxDbg_QT_MODULES = Core Gui
123tstVBoxDbg_SOURCES = testcase/tstVBoxDbg.cpp
124tstVBoxDbg_LIBS = \
125 $(LIB_VMM) \
126 $(LIB_RUNTIME)
127 ifeq ($(KBUILD_TARGET),win)
128tstVBoxDbg_LIBS += \
129 $(PATH_STAGE_LIB)/VBoxDbg.lib
130 else
131tstVBoxDbg_LIBS += \
132 $(PATH_STAGE_BIN)/VBoxDbg$(VBOX_SUFF_DLL)
133 endif
134 endif # TESTCASES
135endif # Qt4
136
137
138#
139# Install the dbghelp.dll binary.
140#
141dbghelp_INST = bin/
142dbghelp_SOURCES.x86 = win32/dbghelp.dll
143dbghelp_SOURCES.amd64 = win64/dbghelp.dll
144
145
146include $(FILE_KBUILD_SUB_FOOTER)
147
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette