Makefile.kmk revision 443e1ef1db2bde801e0f9f1f9ef696fe6594036a
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Top-level makefile for the VMM.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Copyright (C) 2006-2010 Sun Microsystems, Inc.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# available from http://www.virtualbox.org. This file is free software;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# you can redistribute it and/or modify it under the terms of the GNU
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# General Public License (GPL) as published by the Free Software
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# additional information or have any questions.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncSUB_DEPTH = ../../..
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Include sub-makefiles.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncLIBRARIES += VMMR3
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncVMMR3_TEMPLATE = VBoxR3Dll
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncVMMR3_DEFS = IN_VMM_R3 IN_DIS IN_GMM_R3 IN_DBG
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync## @todo eliminate IN_GMM_R3
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncifdef VBOX_WITH_PREALLOC_RAM_BY_DEFAULT
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync VMMR3_DEFS += VBOX_WITH_PREALLOC_RAM_BY_DEFAULT
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncifdef VBOX_WITH_R0_LOGGING
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync VMMR3_DEFS += VBOX_WITH_R0_LOGGING
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncifdef VBOX_WITH_MULTI_CORE
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync VMMR3_DEFS += VBOX_WITH_MULTI_CORE
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncifdef VBOX_WITH_USB
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync VMMR3_DEFS += VBOX_WITH_USB
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncifdef VBOX_WITH_VMI
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync VMMR3_DEFS += \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync VBOX_WITH_VMI
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncifdef VBOX_WITH_PDM_ASYNC_COMPLETION
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync VMMR3_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncifdef VBOX_WITH_LIVE_MIGRATION
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync VMMR3_DEFS += VBOX_WITH_LIVE_MIGRATION
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncifdef VBOX_WITH_RAW_MODE
VMMR3_DEFS.darwin = VMM_R0_SWITCH_STACK
CFGM.cpp \
CPUM.cpp \
DBGF.cpp \
EM.cpp \
IOM.cpp \
GMM.cpp \
MM.cpp \
PDM.cpp \
PGM.cpp \
SELM.cpp \
SSM.cpp \
STAM.cpp \
TM.cpp \
TRPM.cpp \
VM.cpp \
VMM.cpp \
VMMR3_SOURCES += PDMUsb.cpp
VMMR3_SOURCES.x86 += \
VMMSwitcher/32BitTo32Bit.asm \
VMMSwitcher/32BitToPAE.asm \
VMMSwitcher/32BitToAMD64.asm \
SSM.cpp_DEFS += \
PGMPool.cpp_CXXFLAGS += \
VBoxVMM_SOURCES = VBoxVMMDeps.cpp
VBoxVMM_LDFLAGS.linux = -Wl,--no-undefined
VBoxVMM_LDFLAGS.solaris = -mimpure-text
# SSMStandalone.lib/a for linking with VBoxSVC and other executables.
SSMStandalone_SOURCES = SSM.cpp
VMMGCBuiltin_SOURCES = VMMGC/VMMGCBuiltin.def
VMMGCBuiltin_SOURCES = $(PATH_VMMGCBuiltin)/VMMGCBuiltin.def
$(SED) -e '/not-os2/d' -e 's/^[ \t][ \t]*\([a-zA-Z]\)/ _\1/' -e 's/[ \t]DATA[ \t]*/ /' --output $@ $<
VMMGCImp_SOURCES = $(PATH_VMMGCImp)/VMMGC.def
VMMGCImp_CLEAN = $(PATH_VMMGCImp)/VMMGC.def
VMMR0Imp_SOURCES = $(PATH_VMMR0Imp)/VMMR0.def
VMMR0Imp_CLEAN = $(PATH_VMMR0Imp)/VMMR0.def
# VMMGC.gc
VMMGC_DEFS.darwin = VMM_R0_SWITCH_STACK
VMMGC_SOURCES += VMMGC/VMMGC.def
VMMGC_SOURCES += $(PATH_VMMGCImp)/VMMGC.def
VMMGC_SOURCES += VMMGC/VMMGC99.asm
# VMMR0.r0
VMMR0_DEFS = IN_VMM_R0 IN_RT_R0 IN_DIS DIS_CORE_ONLY IN_GVMM_R0 IN_GMM_R0 IN_INTNET_R0 RTASSERT_HAVE_SHOULD_PANIC
VMMR0_DEFS.darwin = VMM_R0_SWITCH_STACK
VMMR0_DEFS.win.amd64 = VBOX_WITH_KERNEL_USING_XMM
VMMR0_SOURCES += VMMR0/VMMR0.def
VMMR0_SOURCES += $(PATH_VMMR0Imp)/VMMR0.def
VMMAll/PGMAllPool.cpp_CXXFLAGS = $(if-expr $(KBUILD_TARGET) == "win",,$(VBOX_GCC_Wno-array_bounds))
VMMAll/VMMAll.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV)
include $(KBUILD_PATH)/subfooter.kmk