Makefile.kmk revision 0f240a6c7a0b78877f400eda02f2a6520de082ca
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# $Id$
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync## @file
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# Top-level makefile for the VMM.
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# Copyright (C) 2006-2007 innotek GmbH
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# available from http://www.virtualbox.org. This file is free software;
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# you can redistribute it and/or modify it under the terms of the GNU
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# General Public License as published by the Free Software Foundation,
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# distribution. VirtualBox OSE is distributed in the hope that it will
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# be useful, but WITHOUT ANY WARRANTY of any kind.
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# If you received this file as part of a commercial VirtualBox
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# distribution, then only the terms of your commercial VirtualBox
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# license agreement apply instead of the previous paragraph.
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncDEPTH = ../../..
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncinclude $(PATH_KBUILD)/subheader.kmk
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync## @todo get rid of these.
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# Enable the PDM lock.
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#DEFS += VBOX_WITH_PDM_LOCK
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifdef VBOX_WITH_INTERNAL_NETWORKING
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncDEFS += VBOX_WITH_INTERNAL_NETWORKING
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncendif
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# Include sub-makefiles.
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# VMMR3.dll
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncLIBRARIES += VMMR3
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR3_TEMPLATE = VBOXR3
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR3_DEFS = IN_VMM_R3 IN_PDM_R3 IN_CFGM_R3 IN_IOM_R3 IN_VM_R3 IN_CPUM_R3 IN_SELM_R3 IN_PGM_R3 IN_TRPM_R3 IN_MM_R3 IN_DBG_R3 \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync IN_DBGF_R3 IN_PATM_R3 IN_DIS_R3 IN_STAM_R3 IN_CSAM_R3 IN_EM_R3 IN_TM_R3 IN_SSM_R3 IN_HWACCM_R3
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifdef VBOX_OSE
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync ifeq ($(BUILD_TARGET),darwin)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMR3_DEFS += PDMLDR_FAKE_MODE
3393c62e395aa8388303d99f765a219efc289158vboxsync endif
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncendif
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR3_INCS := \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(PATH_SUB_CURRENT)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR3_SOURCES = \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync CFGM.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync CPUM.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync CPUMStack.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync DBGF.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync DBGFAddr.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync DBGFBp.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync DBGFDisas.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync DBGFInfo.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync DBGFLog.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync DBGFStack.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync DBGFSym.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync EM.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync IOM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync MM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync MMHeap.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync MMHyper.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync MMPagePool.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync MMPhys.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PDM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PDMDevice.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PDMDriver.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PDMLdr.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PDMCritSect.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PDMQueue.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PDMThread.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync PGM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PGMHandler.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PGMMap.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PGMPhys.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PGMPool.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync SELM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync SSM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync STAM.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync TM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync TRPM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMEmt.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMReq.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMTests.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync HWACCM.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/CPUMAllRegs.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/CPUMAllA.asm \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/DBGFAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/IOMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/IOMAllMMIO.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/MMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/MMAllHyper.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/MMAllPagePool.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/MMAllPhys.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PDMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PDMAllCritSect.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/PDMAllQueue.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/PGMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllHandler.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/PGMAllMap.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/PGMAllPhys.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/PGMAllPool.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/SELMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/EMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/EMAllA.asm \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/TMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/TMAllCpu.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/TMAllReal.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/TMAllVirtual.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/TRPMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/VMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/VMMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM/CSAM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM/VMMAll/CSAMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM/PATM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM/PATMPatch.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM/PATMGuest.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM/PATMA.asm \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM/PATMSSM.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync PATM/VMMAll/PATMAll.cpp
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR3_SOURCES.x86 += \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMSwitcher/32BitTo32Bit.asm \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMSwitcher/32BitToPAE.asm \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMSwitcher/PAETo32Bit.asm \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMSwitcher/PAEToPAE.asm
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR3_SOURCES.amd64 = \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMSwitcher/AMD64ToPAE.asm
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR3_SOURCES.darwin.x86 += \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMSwitcher/AMD64ToPAE.asm
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# The VMM DLL.
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncDLLS += VBoxVMM
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVBoxVMM_TEMPLATE = VBOXR3
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVBoxVMM_DEFS = $(VMMR3_DEFS)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVBoxVMM_SOURCES = VBoxVMMDeps.cpp
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVBoxVMM_SONAME.linux = VBoxVMM.so
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVBoxVMM_LIBS = \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(PATH_LIB)/VMMR3$(VBOX_SUFF_LIB) \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(PATH_LIB)/Debugger$(VBOX_SUFF_LIB) \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB) \
4b30f6c72b07654509606857da385afcc09aaae3vboxsync $(LIB_REM) \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(LIB_RUNTIME)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVBoxVMM_LIBS.win = $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVBoxVMM_LDFLAGS.win = /DELAYLOAD:dbghelp.dll
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVBoxVMM_LDFLAGS.linux = -Wl,--no-undefined
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVBoxVMM_LDFLAGS.darwin = -install_name @executable_path/VBoxVMM.dylib
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync# VMMGCBuiltin.lib
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifneq ($(BUILD_TARGET),darwin)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncLIBRARIES += VMMGCBuiltin
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGCBuiltin_TEMPLATE = VBOXGC
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifeq ($(VBOX_LDR_FMT32),pe)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGCBuiltin_SOURCES = VMMGC/VMMGCBuiltin.def
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifeq ($(VBOX_LDR_FMT32),lx)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGCBuiltin_SOURCES = $(PATH_TARGET)/VMMGCBuiltin.def
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync$(PATH_TARGET)/VMMGCBuiltin.def: VMMGC/VMMGCBuiltin.def | $(call DIRDEP,$(PATH_TARGET))
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(SED) -e 's/^[ \t][ \t]*\([a-zA-Z]\)/ _\1/' -e 's/[ \t]DATA[ \t]*/ /' $< > $@.tmp
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(MV) -f $@.tmp $@
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncendif # !darwin
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
4b30f6c72b07654509606857da385afcc09aaae3vboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# VMMGCImp.lib
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifneq ($(BUILD_TARGET),darwin)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncLIBRARIES += VMMGCImp
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMGCImp_TEMPLATE = VBOXGC
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifeq ($(VBOX_LDR_FMT32),pe)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMGCImp_SOURCES = VMMGC/VMMGC.def
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncendif
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifeq ($(VBOX_LDR_FMT32),lx)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMGCImp_SOURCES = $(PATH_TARGET)/VMMGC.def
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync$(PATH_TARGET)/VMMGC.def: VMMGC/VMMGC.def | $(call DIRDEP,$(PATH_TARGET))
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(SED) -e 's/^[ \t][ \t]*\([a-zA-Z]\)/ _\1/' -e 's/[ \t]DATA[ \t]*/ /' $< > $@.tmp
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(APPEND) "$@.tmp" ""
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(APPEND) "$@.tmp" " ___ehInit"
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(MV) -f $@.tmp $@
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncendif # !darwin
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
4b30f6c72b07654509606857da385afcc09aaae3vboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync# VMMR0Imp.lib
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync#
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifneq ($(BUILD_TARGET),darwin)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncLIBRARIES += VMMR0Imp
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR0Imp_TEMPLATE = VBOXR0
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncifeq ($(VBOX_LDR_FMT),pe)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR0Imp_SOURCES = VMMR0/VMMR0.def
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT),lx)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0Imp_SOURCES = $(PATH_TARGET)/VMMR0.def
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync$(PATH_TARGET)/VMMR0.def: VMMR0/VMMR0.def | $(call DIRDEP,$(PATH_TARGET))
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(SED) -e 's/^[ \t][ \t]*\([a-zA-Z]\)/ _\1/' -e 's/[ \t]DATA[ \t]*/ /' $< > $@.tmp
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(APPEND) "$@.tmp" ""
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(APPEND) "$@.tmp" " ___ehInit"
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(MV) -f $@.tmp $@
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif # !darwin
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync#
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync# VMMGC.gc
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync#
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncSYSMODS += VMMGC
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_TEMPLATE = VBOXGC
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_INCS := \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_SUB_CURRENT) \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync PATM
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_DEFS = IN_VMM_GC IN_PDM_GC IN_CFGM_GC IN_IOM_GC IN_MM_GC IN_RT_GC IN_TRPM_GC IN_SELM_GC IN_VM_GC IN_IOM_GC IN_DIS_GC DIS_CORE_ONLY IN_PGM_GC IN_CPUM_GC IN_EM_GC IN_TM_GC IN_PATM_GC IN_CSAM_GC IN_REM_GC IN_DBGF_GC
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_SYSSUFF = .gc
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_LIBS = \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_LIBS += \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT32),pe)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_LDFLAGS = -Entry:VMMGCEntry
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_SOURCES = \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/VMMGC0.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/VMMGCDeps.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/CPUMGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/CPUMGCA.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/EMGCA.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/DBGFGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/IOMGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/MMRamGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/MMRamGCA.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/PDMGCDevice.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/PGMGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/SELMGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/TRPMGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/TRPMGCHandlers.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/TRPMGCHandlersA.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/VMMGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMGC/VMMGCA.asm \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/CPUMAllRegs.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/CPUMAllA.asm \
0a769a6be37f526faeabe88f77422ee6291afa37vboxsync VMMAll/DBGFAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/IOMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/IOMAllMMIO.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/EMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/EMAllA.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/MMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/MMAllHyper.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PDMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PDMAllCritSect.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PDMAllQueue.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllHandler.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllMap.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllPhys.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllPool.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/REMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/SELMAll.cpp \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync VMMAll/TMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TMAllCpu.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TMAllReal.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TMAllVirtual.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TRPMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/VMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/VMMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync PATM/VMMGC/CSAMGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync PATM/VMMAll/CSAMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync PATM/VMMGC/PATMGC.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync PATM/VMMAll/PATMAll.cpp
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT32),pe)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_SOURCES += VMMGC/VMMGC.def
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT32),lx)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_SOURCES += $(PATH_TARGET)/VMMGC.def
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync# the very last one.
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC_SOURCES += VMMGC/VMMGC99.asm
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMGC/VMMGCDeps.cpp_CXXFLAGS.win = -Oi- -TC ## @todo rename VMMGCDeps.cpp to .c
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
3a5d16e1911830b585d10278ea2cdbb408e261e6vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync#
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync# VMMR0.r0
3a5d16e1911830b585d10278ea2cdbb408e261e6vboxsync#
3a5d16e1911830b585d10278ea2cdbb408e261e6vboxsyncSYSMODS += VMMR0
3a5d16e1911830b585d10278ea2cdbb408e261e6vboxsyncVMMR0_TEMPLATE = VBOXR0
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0_INCS := \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_SUB_CURRENT) \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync PATM
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0_DEFS = IN_VMM_R0 IN_RT_R0 IN_TRPM_R0 IN_CPUM_R0 IN_VM_R0 IN_TM_R0 IN_INTNET_R0 IN_HWACCM_R0 IN_EM_R0 IN_PDM_R0 IN_PGM_R0 IN_DIS_R0 IN_MM_R0 IN_SELM_R0 IN_CSAM_R0 IN_PATM_R0 IN_DBGF_R0 IN_REM_R0 IN_IOM_R0 DIS_CORE_ONLY
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT),pe)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0_LDFLAGS = -Entry:VMMR0Entry
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT),elf)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR0_LDFLAGS = -entry=VMMR0Entry
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncendif
0a769a6be37f526faeabe88f77422ee6291afa37vboxsyncVMMR0_SYSSUFF = .r0
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0_SOURCES = \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/VMMR0.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/DBGFR0.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/DBGFAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TRPMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/CPUMAllRegs.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/CPUMAllA.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/MMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/MMAllHyper.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/MMAllPagePool.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/MMAllPhys.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/VMMR0A.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/HWACCMR0.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/HWACCMR0A.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/HWVMXR0.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/HWSVMR0.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/CPUMR0.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/TRPMR0.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/TRPMR0A.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMR0/PDMR0Device.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/EMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/EMAllA.asm \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PDMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PDMAllCritSect.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PDMAllQueue.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllHandler.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllMap.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllPhys.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/PGMAllPool.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/REMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/IOMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/IOMAllMMIO.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/SELMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TMAllCpu.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TMAllReal.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/TMAllVirtual.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync VMMAll/VMAll.cpp \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync PATM/VMMAll/PATMAll.cpp
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT),pe)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0_SOURCES += VMMR0/VMMR0.def
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT),lx)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0_SOURCES += $(PATH_TARGET)/VMMR0.def
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0_LIBS = \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_LIB)/ServicesR0$(VBOX_SUFF_LIB) \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_LIB)/DisasmR0$(VBOX_SUFF_LIB)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifneq ($(BUILD_TARGET),darwin)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncVMMR0_LIBS += \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync $(PATH_LIB)/SUPR0$(VBOX_SUFF_LIB)
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncendif
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncifeq ($(VBOX_LDR_FMT),elf)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncVMMR0_LIBS += \
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync $(VBOX_GCC_LIBGCC)
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncendif
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncinclude $(PATH_KBUILD)/subfooter.kmk
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync# Alias the PGM templates to the object in which they are defined.
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncPGMBth.o PGMGst.o PGMShw.o \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncPGMBth.obj PGMGst.obj PGMShw.obj: PGM.o
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncPGMAllBth.o PGMAllGst.o PGMAllShw.o \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncPGMAllBth.obj PGMAllGst.obj PGMAllShw.obj: PGMAll.o
bb73206f5ad484c56a70984ee9897e9ffee18b8bvboxsyncPGMGCBth.o PGMGCGst.o PGMGCShw.o \
84eeabfd29e718854e00e795879dab6ce61469e5vboxsyncPGMGCBth.obj PGMGCGst.obj PGMGCShw.obj: PGMGC.o
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync
84eeabfd29e718854e00e795879dab6ce61469e5vboxsync