VirtualBox

source: vbox/trunk/src/VBox/VMM/tools/Makefile.kmk@ 109010

Last change on this file since 109010 was 109008, checked in by vboxsync, 6 weeks ago

VMM,Main: Working on ARM CPU profile support, which is neede/useful for getting info about the host CPU as well. The CPUDBENTRY typedef is used externally by Main, so we can't have two definitions of it, so left the bits that are common to both x86 and ARM in CPUDBENTRY and created sub-structures for each of the two targets/platforms. Also started reworking the VBoxCpuReport tool so we can use it on arm as well (much left to do there, though). jiraref:VBP-1598

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.6 KB
Line 
1# $Id: Makefile.kmk 109008 2025-04-16 20:59:36Z vboxsync $
2## @file
3# Sub-Makefile for VMM tools.
4#
5
6#
7# Copyright (C) 2006-2024 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31
32#
33# Targets.
34#
35ifdef VBOX_WITH_HARDENING
36 PROGRAMS += VBoxVMMPreloadHardened
37 DLLS += VBoxVMMPreload
38else
39 PROGRAMS += VBoxVMMPreload
40endif
41
42
43#
44# Hardened stub.
45#
46VBoxVMMPreloadHardened_TEMPLATE = VBoxR3HardenedExe
47VBoxVMMPreloadHardened_SOURCES = VBoxVMMPreloadHardened.cpp
48VBoxVMMPreloadHardened_NAME = VBoxVMMPreload
49
50
51#
52# The real thing
53#
54VBoxVMMPreload_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBoxR3Dll,VBoxR3SignedExe)
55VBoxVMMPreload_SOURCES = VBoxVMMPreload.cpp
56VBoxVMMPreload_LIBS = $(LIB_RUNTIME)
57ifdef VBOX_WITH_HARDENING
58 VBoxVMMPreload_LDFLAGS.darwin += -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxVMMPreload.dylib
59endif
60
61
62#
63# CPU report program (CPUM DB).
64#
65if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
66 PROGRAMS += VBoxCpuReport
67endif
68VBoxCpuReport_TEMPLATE := VBoxR3Static
69VBoxCpuReport_DEFS = VBOX_VMM_TARGET_X86 VBOX_IN_VMM IN_VMM_R3 IN_VBOX_CPU_REPORT $(VMM_COMMON_DEFS)
70VBoxCpuReport_INCS = ../include
71VBoxCpuReport_SOURCES = \
72 VBoxCpuReport.cpp \
73 ../VMMR3/CPUMR3CpuId.cpp \
74 ../VMMAll/CPUMAllCpuId.cpp
75
76VBoxCpuReport_SOURCES.amd64 = \
77 VBoxCpuReport-x86.cpp \
78 VBoxCpuReportMsrSup.cpp
79VBoxCpuReport_SOURCES.x86 = \
80 VBoxCpuReport-x86.cpp \
81 VBoxCpuReportMsrSup.cpp
82VBoxCpuReport_SOURCES.linux.amd64 = \
83 VBoxCpuReportMsrLinux.cpp
84VBoxCpuReport_SOURCES.linux.x86 = \
85 VBoxCpuReportMsrLinux.cpp
86VBoxCpuReport_DEFS.linux.amd64 = VBCR_HAVE_PLATFORM_MSR_PROBER
87VBoxCpuReport_DEFS.linux.x86 = VBCR_HAVE_PLATFORM_MSR_PROBER
88
89VBoxCpuReport_LIBS = \
90 $(PATH_STAGE_LIB)/SUPR3Static$(VBOX_SUFF_LIB) \
91 $(VBOX_LIB_RUNTIME_STATIC)
92VBoxCpuReport_LIBS.solaris = kstat contract
93
94VBoxCpuReport_LDFLAGS.darwin = \
95 -framework IOKit -framework CoreFoundation -framework CoreServices
96
97
98include $(FILE_KBUILD_SUB_FOOTER)
99
Note: See TracBrowser for help on using the repository browser.

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