VirtualBox

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

Last change on this file was 109192, checked in by vboxsync, 20 hours ago

trying to fix maca3 build failure, caused by r168724, jiraref:VBP-1653

  • 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 109192 2025-05-07 13:33:05Z 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 arm64)
66 PROGRAMS += VBoxCpuReport
67endif
68VBoxCpuReport_TEMPLATE := VBoxR3StaticSignedExe
69VBoxCpuReport_DEFS = VBOX_IN_VMM IN_VMM_R3 IN_VBOX_CPU_REPORT $(VMM_COMMON_DEFS)
70VBoxCpuReport_DEFS.amd64 := VBOX_VMM_TARGET_X86
71VBoxCpuReport_DEFS.x86 := VBOX_VMM_TARGET_X86
72VBoxCpuReport_DEFS.arm64 := VBOX_VMM_TARGET_ARMV8
73VBoxCpuReport_INCS := ../include
74VBoxCpuReport_SOURCES := \
75 VBoxCpuReport.cpp \
76 ../VMMAll/CPUMAllCpuId.cpp
77
78VBoxCpuReport_SOURCES.amd64 := \
79 VBoxCpuReport-x86.cpp \
80 VBoxCpuReportMsrSup.cpp \
81 ../VMMR3/CPUMR3CpuId.cpp
82VBoxCpuReport_SOURCES.x86 := \
83 VBoxCpuReport-x86.cpp \
84 VBoxCpuReportMsrSup.cpp \
85 ../VMMR3/CPUMR3CpuId.cpp
86VBoxCpuReport_SOURCES.linux.amd64 := \
87 VBoxCpuReportMsrLinux.cpp
88VBoxCpuReport_SOURCES.linux.x86 := \
89 VBoxCpuReportMsrLinux.cpp
90VBoxCpuReport_DEFS.linux.amd64 := VBCR_HAVE_PLATFORM_MSR_PROBER
91VBoxCpuReport_DEFS.linux.x86 := VBCR_HAVE_PLATFORM_MSR_PROBER
92
93VBoxCpuReport_SOURCES.arm64 := \
94 VBoxCpuReport-arm.cpp
95
96VBoxCpuReport_LIBS = \
97 $(PATH_STAGE_LIB)/SUPR3Static$(VBOX_SUFF_LIB) \
98 $(VBOX_LIB_RUNTIME_STATIC)
99VBoxCpuReport_LIBS.solaris = kstat contract
100
101VBoxCpuReport_LDFLAGS.darwin = \
102 -framework IOKit -framework CoreFoundation -framework CoreServices
103VBoxCpuReport_LDFLAGS.darwin.arm64 = \
104 -framework Hypervisor
105
106ifdef VBOX_SIGNING_MODE
107 VBoxCpuReport_DEPS.darwin.arm64 = $(PATH_ROOT)/src/VBox/VMM/tools/VBoxCpuReport-arm-entitlements.plist #$(VBOX_DARWIN_ENTITLEMENTS_FILE_VM)
108 VBoxCpuReport_POST_CMDS.darwin.arm64 = \
109 $(call VBOX_SIGN_MACHO_FN,$(out),org.virtualbox.app.macos.VBoxCpuReport,-entitlements $(VBoxCpuReport_DEPS.darwin.arm64))
110endif
111
112
113
114include $(FILE_KBUILD_SUB_FOOTER)
115
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