# $Id: Makefile.kmk 109192 2025-05-07 13:33:05Z vboxsync $ ## @file # Sub-Makefile for VMM tools. # # # Copyright (C) 2006-2024 Oracle and/or its affiliates. # # This file is part of VirtualBox base platform packages, as # available from https://www.virtualbox.org. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation, in version 3 of the # License. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # SPDX-License-Identifier: GPL-3.0-only # SUB_DEPTH = ../../../.. include $(KBUILD_PATH)/subheader.kmk # # Targets. # ifdef VBOX_WITH_HARDENING PROGRAMS += VBoxVMMPreloadHardened DLLS += VBoxVMMPreload else PROGRAMS += VBoxVMMPreload endif # # Hardened stub. # VBoxVMMPreloadHardened_TEMPLATE = VBoxR3HardenedExe VBoxVMMPreloadHardened_SOURCES = VBoxVMMPreloadHardened.cpp VBoxVMMPreloadHardened_NAME = VBoxVMMPreload # # The real thing # VBoxVMMPreload_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBoxR3Dll,VBoxR3SignedExe) VBoxVMMPreload_SOURCES = VBoxVMMPreload.cpp VBoxVMMPreload_LIBS = $(LIB_RUNTIME) ifdef VBOX_WITH_HARDENING VBoxVMMPreload_LDFLAGS.darwin += -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxVMMPreload.dylib endif # # CPU report program (CPUM DB). # if1of ($(KBUILD_TARGET_ARCH), amd64 x86 arm64) PROGRAMS += VBoxCpuReport endif VBoxCpuReport_TEMPLATE := VBoxR3StaticSignedExe VBoxCpuReport_DEFS = VBOX_IN_VMM IN_VMM_R3 IN_VBOX_CPU_REPORT $(VMM_COMMON_DEFS) VBoxCpuReport_DEFS.amd64 := VBOX_VMM_TARGET_X86 VBoxCpuReport_DEFS.x86 := VBOX_VMM_TARGET_X86 VBoxCpuReport_DEFS.arm64 := VBOX_VMM_TARGET_ARMV8 VBoxCpuReport_INCS := ../include VBoxCpuReport_SOURCES := \ VBoxCpuReport.cpp \ ../VMMAll/CPUMAllCpuId.cpp VBoxCpuReport_SOURCES.amd64 := \ VBoxCpuReport-x86.cpp \ VBoxCpuReportMsrSup.cpp \ ../VMMR3/CPUMR3CpuId.cpp VBoxCpuReport_SOURCES.x86 := \ VBoxCpuReport-x86.cpp \ VBoxCpuReportMsrSup.cpp \ ../VMMR3/CPUMR3CpuId.cpp VBoxCpuReport_SOURCES.linux.amd64 := \ VBoxCpuReportMsrLinux.cpp VBoxCpuReport_SOURCES.linux.x86 := \ VBoxCpuReportMsrLinux.cpp VBoxCpuReport_DEFS.linux.amd64 := VBCR_HAVE_PLATFORM_MSR_PROBER VBoxCpuReport_DEFS.linux.x86 := VBCR_HAVE_PLATFORM_MSR_PROBER VBoxCpuReport_SOURCES.arm64 := \ VBoxCpuReport-arm.cpp VBoxCpuReport_LIBS = \ $(PATH_STAGE_LIB)/SUPR3Static$(VBOX_SUFF_LIB) \ $(VBOX_LIB_RUNTIME_STATIC) VBoxCpuReport_LIBS.solaris = kstat contract VBoxCpuReport_LDFLAGS.darwin = \ -framework IOKit -framework CoreFoundation -framework CoreServices VBoxCpuReport_LDFLAGS.darwin.arm64 = \ -framework Hypervisor ifdef VBOX_SIGNING_MODE VBoxCpuReport_DEPS.darwin.arm64 = $(PATH_ROOT)/src/VBox/VMM/tools/VBoxCpuReport-arm-entitlements.plist #$(VBOX_DARWIN_ENTITLEMENTS_FILE_VM) VBoxCpuReport_POST_CMDS.darwin.arm64 = \ $(call VBOX_SIGN_MACHO_FN,$(out),org.virtualbox.app.macos.VBoxCpuReport,-entitlements $(VBoxCpuReport_DEPS.darwin.arm64)) endif include $(FILE_KBUILD_SUB_FOOTER)