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