Makefile.kmk revision a5f487d264b5aebe8d28ad35d0353630bd2b77cd
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# $Id$
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync## @file
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# Makefile for the Windows guest miniport driver.
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync#
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync#
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# Copyright (C) 2011 Oracle Corporation
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync#
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# available from http://www.virtualbox.org. This file is free software;
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# you can redistribute it and/or modify it under the terms of the GNU
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# General Public License (GPL) as published by the Free Software
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync#
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncSUB_DEPTH = ../../../../../../..
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync#
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# VBoxVideo - Windows Guest Additions XPDM Miniport Video Driver
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync#
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# Note. This has to run on NT4!
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync# (VBOX_LIB_IPRT_GUEST_R0_NT4 == VBOX_LIB_IPRT_GUEST_R0 on 64-bit)
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync#
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncSYSMODS += VBoxVideo
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_TEMPLATE = VBOXGUESTR0
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_DEFS = VBOX_XPDM_MINIPORT VBOX_WITH_8BPP_MODES
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_DEFS += LOG_TO_BACKDOOR #LOG_ENABLED
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncifdef VBOX_WITH_VIDEOHWACCEL
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync VBoxVideo_DEFS += VBOX_WITH_VIDEOHWACCEL
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncendif
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_INCS = ../../../include .. .
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_LDFLAGS.x86 = /Entry:DriverEntry@8
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_LDFLAGS.amd64 = /Entry:DriverEntry
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_SOURCES = \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync xpdm/VBoxMPDriver.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync xpdm/VBoxMP.def \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync xpdm/VBoxMP.rc \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync xpdm/VBoxMPVideoPortAPI.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync xpdm/VBoxMPInternal.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync xpdm/VBoxMPRegistry.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync xpdm/VBoxMPIOCTL.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync common/VBoxMPUtils.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync common/VBoxMPCommon.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync common/VBoxMPHGSMI.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync common/VBoxMPVidModes.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_LIBS = \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(PATH_SDK_W2K3DDK_LIB)/videoprt.lib \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(VBOX_LIB_VBGL_R0) \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(VBOX_LIB_IPRT_GUEST_R0_NT4) \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncVBoxVideo_LIBS.x86 = \
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync $(PATH_SDK_W2K3DDK_LIB)/exsup.lib
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsyncifdef VBOX_WITH_WDDM
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync #
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync # VBoxVideoWddm - Windows Guest Additions WDDM Miniport Video Driver
97b634ea021fd984782256de4ba4ff31cdb96c47vboxsync #
SYSMODS += VBoxVideoWddm
VBoxVideoWddm_TEMPLATE = VBOXGUESTR0
VBoxVideoWddm_DEFS += VBOX_WITH_8BPP_MODES
VBoxVideoWddm_DEFS += VBOX_WDDM_MINIPORT VBOX_WITH_WDDM
ifdef VBOX_WITH_VIDEOHWACCEL
VBoxVideoWddm_DEFS += VBOX_WITH_VIDEOHWACCEL
endif
ifdef VBOXWDDM_WITH_VBVA
VBoxVideoWddm_DEFS += VBOXWDDM_WITH_VBVA
VBoxVideoWddm_DEFS += VBOXWDDM_RENDER_FROM_SHADOW
ifdef VBOXVDMA_WITH_VBVA
VBoxVideoWddm_DEFS += VBOXVDMA_WITH_VBVA
endif
endif
ifdef VBOX_WITH_VDMA
VBoxVideoWddm_DEFS += VBOX_WITH_VDMA
endif
ifdef VBOX_WITH_CRHGSMI
VBoxVideoWddm_DEFS += VBOX_WITH_CRHGSMI
endif
ifdef DEBUG_misha
VBoxVideoWddm_DEFS += LOG_ENABLED
endif
VBoxVideoWddm_DEFS += LOG_TO_BACKDOOR
VBoxVideoWddm_INCS += ../../../include .. .
VBoxVideoWddm_LDFLAGS.x86 += /Entry:DriverEntry@8
VBoxVideoWddm_LDFLAGS.amd64 += /Entry:DriverEntry
VBoxVideoWddm_SDKS = WINDDKWLH
VBoxVideoWddm_SOURCES = \
wddm/VBoxMPWddm.cpp \
wddm/VBoxMPVidPn.cpp \
wddm/VBoxMPVdma.cpp \
wddm/VBoxMPShgsmi.cpp \
wddm/VBoxMPCm.cpp \
wddm/VBoxMPMisc.cpp \
wddm/VBoxMPWddm.rc \
wddm/VBoxMPRegistry.cpp \
common/VBoxMPUtils.cpp \
common/VBoxMPCommon.cpp \
common/VBoxMPHGSMI.cpp \
common/VBoxMPVidModes.cpp \
$(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
$(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
ifdef VBOXWDDM_WITH_VBVA
VBoxVideoWddm_SOURCES += \
wddm/VBoxMPVbva.cpp
endif
ifdef VBOX_WITH_VIDEOHWACCEL
VBoxVideoWddm_SOURCES += \
wddm/VBoxMPVhwa.cpp
endif
VBoxVideoWddm_LIBS.x86 = \
$(PATH_SDK_WINDDKWLH_LIB)/BufferOverflowK.lib
#VBoxVideoWddm_LIBS.x86 += \
# $(PATH_SDK_WINDDKWLH_LIB)/exsup.lib
VBoxVideoWddm_LIBS = \
$(PATH_SDK_WINDDKWLH_LIB)/ntoskrnl.lib \
$(PATH_SDK_WINDDKWLH_LIB)/hal.lib \
$(PATH_SDK_WINDDKWLH_LIB)/displib.lib \
$(VBOX_LIB_VBGL_R0) \
$(VBOX_LIB_IPRT_GUEST_R0_NT4) \
$(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
endif # VBOX_WITH_WDDM
# Signing requires both miniport and display drivers
# so it'd be dealt with in the parent makefile.
ifdef VBOX_SIGN_ADDITIONS
VBoxVideo_INSTTYPE = none
VBoxVideo_DEBUG_INSTTYPE = both
ifdef VBOX_WITH_WDDM
VBoxVideoWddm_INSTTYPE = none
VBoxVideoWddm_DEBUG_INSTTYPE = both
endif
endif
include $(KBUILD_PATH)/subfooter.kmk