Makefile.kmk revision 67b8a5a52c43a79ea7e159dbbeec99687fb9cd3b
0N/A# $Id$
0N/A## @file
0N/A# Makefile for the Windows guest miniport driver.
0N/A#
25N/A
0N/A#
0N/A# Copyright (C) 2011-2012 Oracle Corporation
0N/A#
0N/A# This file is part of VirtualBox Open Source Edition (OSE), as
0N/A# available from http://www.virtualbox.org. This file is free software;
0N/A# you can redistribute it and/or modify it under the terms of the GNU
0N/A# General Public License (GPL) as published by the Free Software
0N/A# Foundation, in version 2 as it comes in the "COPYING" file of the
0N/A# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0N/A# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0N/A#
0N/A
0N/ASUB_DEPTH = ../../../../../../..
0N/Ainclude $(KBUILD_PATH)/subheader.kmk
0N/A
176N/A#
0N/A# VBoxVideo - Windows Guest Additions XPDM Miniport Video Driver
0N/A#
0N/A# Note. This has to run on NT4! (*_NT4 => *_W2K3 when targetting 64-bit.)
0N/A#
176N/ASYSMODS += VBoxVideo
176N/AVBoxVideo_TEMPLATE = VBOXGUESTR0
176N/AVBoxVideo_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_NT4)
176N/AVBoxVideo_DEFS = VBOX_XPDM_MINIPORT VBOX_WITH_8BPP_MODES VBOX_USING_$(VBOX_WINDDK_GST_NT4)
176N/AVBoxVideo_DEFS += LOG_TO_BACKDOOR #LOG_ENABLED
176N/Aifdef VBOX_WITH_VIDEOHWACCEL
176N/A VBoxVideo_DEFS += VBOX_WITH_VIDEOHWACCEL
176N/Aendif
176N/AVBoxVideo_INCS = ../../../include .. .
176N/AVBoxVideo_LDFLAGS.x86 = /Entry:DriverEntry@8
176N/AVBoxVideo_LDFLAGS.amd64 = /Entry:DriverEntry
176N/AVBoxVideo_SOURCES = \
25N/A xpdm/VBoxMPDriver.cpp \
0N/A xpdm/VBoxMP.def \
0N/A xpdm/VBoxMP.rc \
0N/A xpdm/VBoxMPVideoPortAPI.cpp \
0N/A xpdm/VBoxMPInternal.cpp \
176N/A xpdm/VBoxMPRegistry.cpp \
25N/A xpdm/VBoxMPIOCTL.cpp \
290N/A common/VBoxMPUtils.cpp \
154N/A common/VBoxMPCommon.cpp \
154N/A common/VBoxMPHGSMI.cpp \
25N/A common/VBoxMPVidModes.cpp \
25N/A $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
25N/A $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
25N/AVBoxVideo_LIBS = \
56N/A $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/videoprt.lib \
56N/A $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/ntoskrnl.lib \
56N/A $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/hal.lib \
56N/A $(VBOX_LIB_VBGL_R0) \
56N/A $(VBOX_LIB_IPRT_GUEST_R0_NT4) \
25N/A $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
0N/AVBoxVideo_LIBS.x86 = \
25N/A $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/exsup.lib
25N/A
154N/Aifdef VBOX_WITH_WDDM
0N/A #
154N/A # VBoxVideoWddm - Windows Guest Additions WDDM Miniport Video Driver
25N/A #
0N/A SYSMODS += VBoxVideoWddm
0N/A VBoxVideoWddm_TEMPLATE = VBOXGUESTR0
0N/A VBoxVideoWddm_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
0N/A VBoxVideoWddm_DEFS += VBOX_WITH_8BPP_MODES DXGKDDI_INTERFACE_VERSION=0x1053
25N/A VBoxVideoWddm_DEFS += VBOX_WDDM_MINIPORT VBOX_WITH_WDDM VBOX_WITH_HGCM
0N/A ifdef VBOX_WITH_VIDEOHWACCEL
0N/A VBoxVideoWddm_DEFS += VBOX_WITH_VIDEOHWACCEL
154N/A endif
25N/A ifdef VBOXWDDM_WITH_VBVA
25N/A VBoxVideoWddm_DEFS += VBOXWDDM_WITH_VBVA
25N/A VBoxVideoWddm_DEFS += VBOXWDDM_RENDER_FROM_SHADOW
25N/A ifdef VBOXVDMA_WITH_VBVA
25N/A VBoxVideoWddm_DEFS += VBOXVDMA_WITH_VBVA
25N/A endif
25N/A endif
0N/A ifdef VBOX_WITH_VDMA
0N/A VBoxVideoWddm_DEFS += VBOX_WITH_VDMA
25N/A endif
154N/A ifdef VBOX_WITH_CRHGSMI
154N/A VBoxVideoWddm_DEFS += VBOX_WITH_CRHGSMI
154N/A endif
154N/A ifdef DEBUG_misha
154N/A VBoxVideoWddm_DEFS += LOG_ENABLED
154N/A endif
154N/A VBoxVideoWddm_DEFS += LOG_TO_BACKDOOR
154N/A ifdef VBOX_WITH_CROGL
154N/A VBoxVideoWddm_DEFS += VBOX_WITH_CROGL
154N/A endif
154N/A ifdef VBOX_VDMA_WITH_WATCHDOG
154N/A VBoxVideoWddm_DEFS += VBOX_VDMA_WITH_WATCHDOG
154N/A endif
154N/A
154N/A VBoxVideoWddm_INCS += \
154N/A ../../../include \
154N/A .. \
154N/A . \
154N/A ../../../../common/VBoxGuestLib \
154N/A $(VBOX_PATH_CROGL_INCLUDE) \
154N/A $(VBOX_PATH_CROGL_GENFILES) \
154N/A $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer
154N/A
154N/A VBoxVideoWddm_LDFLAGS.x86 += /Entry:DriverEntry@8
154N/A VBoxVideoWddm_LDFLAGS.amd64 += /Entry:DriverEntry
154N/A
154N/A VBoxVideoWddm_SOURCES = \
154N/A wddm/VBoxMPWddm.cpp \
154N/A wddm/VBoxMPVidPn.cpp \
154N/A wddm/VBoxMPVdma.cpp \
154N/A wddm/VBoxMPShgsmi.cpp \
154N/A wddm/VBoxMPCm.cpp \
154N/A wddm/VBoxMPCr.cpp \
154N/A wddm/VBoxMPMisc.cpp \
154N/A wddm/VBoxMPWddm.rc \
154N/A wddm/VBoxMPRegistry.cpp \
154N/A common/VBoxMPUtils.cpp \
154N/A common/VBoxMPCommon.cpp \
154N/A common/VBoxMPHGSMI.cpp \
154N/A common/VBoxMPVidModes.cpp \
154N/A $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
154N/A $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
154N/A if defined(VBOX_WITH_CROGL) && defined(VBOX_WDDM_WITH_CRCMD)
154N/A VBoxVideoWddm_SOURCES += \
154N/A $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer/pack_buffer.c \
154N/A $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer/pack_bounds.c \
154N/A $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
0N/A wddm/VBoxMPCrUtil.cpp
VBoxVideoWddm_DEFS += VBOX_WDDM_WITH_CRCMD
endif
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_$(VBOX_WINDDK_GST_WLH)_LIB)/BufferOverflowK.lib
#VBoxVideoWddm_LIBS.x86 += \
# $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB)/exsup.lib
VBoxVideoWddm_LIBS = \
$(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB)/ntoskrnl.lib \
$(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB)/hal.lib \
$(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB)/displib.lib \
$(VBOX_LIB_VBGL_R0) \
$(VBOX_LIB_IPRT_GUEST_R0) \
$(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
ifdef VBOX_WITH_WDDM_W8
#
# VBoxVideoW8 - Windows Guest Additions WDDM 1.2 Miniport Video Driver for Win8
#
SYSMODS += VBoxVideoW8
VBoxVideoW8_EXTENDS = VBoxVideoWddm
VBoxVideoW8_TEMPLATE = VBOXGUESTR0
VBoxVideoW8_SDKS = $(VBOX_WINDDK_GST_W8) # No ReorderCompilerIncs here!
VBoxVideoW8_DEFS = $(subst DXGKDDI_INTERFACE_VERSION=0x1053,DXGKDDI_INTERFACE_VERSION=0x300E,$(VBoxVideoWddm_DEFS)) VBOX_WDDM_WIN8
VBoxVideoW8_SOURCES = $(subst VBoxMPWddm.rc,VBoxMPW8.rc,$(VBoxVideoWddm_SOURCES))
VBoxVideoW8_LIBS.x86 = $(NO_SUCH_VARIABLE)
VBoxVideoW8_LIBS.amd64 = $(NO_SUCH_VARIABLE)
VBoxVideoW8_LIBS = \
$(VBOX_LIB_VBGL_R0) \
$(VBOX_LIB_IPRT_GUEST_R0) \
$(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB) \
$(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/ntoskrnl.lib \
$(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/hal.lib \
$(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/displib.lib \
$(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/BufferOverflowK.lib
endif # VBOX_WITH_WDDM_W8
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
ifdef VBOX_WITH_WDDM_W8
VBoxVideoW8_INSTTYPE = none
VBoxVideoW8_DEBUG_INSTTYPE = both
endif
endif
endif # VBOX_SIGN_ADDITIONS
include $(FILE_KBUILD_SUB_FOOTER)