Makefile.kmk revision 1e0b63f46b392446985612eb6fde60005e69414a
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# $Id$
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync## @file
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# Makefile for the Windows guest display driver.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# Copyright (C) 2011 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 = ../../../../../../..
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# VBoxDisp - Windows Guest Additions XPDM Display 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 += VBoxDisp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_TEMPLATE = VBOXGUESTR0
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_SYSSUFF = .dll
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_DEFS = _WIN32_WINNT=0x0501 VBOX_WITH_DDRAW
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_DEFS += LOG_TO_BACKDOOR #LOG_ENABLED
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOX_WITH_VIDEOHWACCEL
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync VBoxDisp_DEFS += VBOX_WITH_VIDEOHWACCEL
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif
1e0b63f46b392446985612eb6fde60005e69414avboxsyncifdef VBOX_WITH_CROGL
1e0b63f46b392446985612eb6fde60005e69414avboxsync VBoxDisp_DEFS += VBOX_WITH_CROGL
1e0b63f46b392446985612eb6fde60005e69414avboxsyncendif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#VBoxDisp_DEFS += VBOX_VBVA_ADJUST_RECT
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_INCS = ../../../include ..
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_LDFLAGS.x86 = /Entry:DrvEnableDriver@12
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_LDFLAGS.amd64 = /Entry:DrvEnableDriver
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_SOURCES = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispDriver.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispMini.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispMouse.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispPalette.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispVBVA.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispDrawCmd.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispVRDP.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispVrdpBmp.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispVrdpTxt.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispDriverDDraw.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispDDraw.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDisp.def \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDisp.rc \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOX_WITH_VIDEOHWACCEL
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync VBoxDisp_SOURCES += \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispVHWA.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync xpdm/VBoxDispDDrawVHWA.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDisp_LIBS = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(PATH_SDK_W2K3DDK_LIB)/win32k.lib \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(VBOX_LIB_IPRT_GUEST_R0_NT4) \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# Signing requires both miniport and display drivers
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# so it'd be dealt with in the parent makefile.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOX_SIGN_ADDITIONS
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync VBoxDisp_NOINST = true
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ifdef VBOX_WITH_WDDM
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync VBoxDispD3D_NOINST = true
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync endif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOX_WITH_WDDM
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# VBoxDispD3D - Windows Guest Additions WDDM R3 Display Driver
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncDLLS += VBoxDispD3D
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D_TEMPLATE = VBOXGUESTR3DLL
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D_DEFS = UNICODE _UNICODE VBOX_WITH_WDDM VBOXWDDMDISP LOG_TO_BACKDOOR
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef DEBUG_misha
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D_DEFS += LOG_ENABLED
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOXWDDM_WITH_VBVA
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D_DEFS += VBOXWDDM_WITH_VBVA
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOX_WITH_VIDEOHWACCEL
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync VBoxDispD3D_DEFS += VBOX_WITH_VIDEOHWACCEL
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOX_WDDMDISP_WITH_PROFILE
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync VBoxDispD3D_DEFS += VBOX_WDDMDISP_WITH_PROFILE
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOXWDDM_TEST_UHGSMI
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync VBoxDispD3D_DEFS += VBOXWDDM_TEST_UHGSMI
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D_INCS = ../../../include ..
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D_SOURCES = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispD3D.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispD3DIf.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispCm.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispMp.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxScreen.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispMpTst.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispKmt.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispDbg.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispD3D.rc \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispD3D.def \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#ifdef VBOX_WITH_CRHGSMI
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#VBoxDispD3D_SOURCES += \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# wddm/VBoxUhgsmiDisp.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# wddm/VBoxUhgsmiKmt.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#VBoxDispD3D_DEFS += VBOX_WITH_CRHGSMI
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#endif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D_SDKS = WINDDKWLH
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D_LIBS = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(VBOX_LIB_IPRT_GUEST_R3) \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(VBOX_LIB_VBGL_R3)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# 64-bit systems needs a 32-bit version of VBoxDispD3D.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncDLLS.amd64 += VBoxDispD3D-x86
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D-x86_EXTENDS = VBoxDispD3D
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D-x86_BLD_TRG_ARCH = x86
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D-x86_LIBS = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(VBOX_LIB_IPRT_GUEST_R3_X86) \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(VBOX_LIB_VBGL_R3_X86)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxDispD3D-x86_DEFS = $(VBoxDispD3D_DEFS) VBOX_WDDM_WOW64
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOX_WITH_CRHGSMI
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# VBoxCrHgsmi - Chromium HGSMI API library
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncLIBRARIES += VBoxCrHgsmi
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi_TEMPLATE = VBOXGUESTR3LIB
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi_DEFS = UNICODE _UNICODE VBOX_WITH_CRHGSMI IN_VBOXCRHGSMI VBOX_WITH_WDDM VBOX_WITH_VDMA
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi_INCS = ../../../include ..
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi_SOURCES = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxCrHgsmi.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispKmt.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxDispDbg.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/VBoxUhgsmiKmt.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi_SDKS = WINDDKWLH
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# 64-bit systems needs a 32-bit version of VBoxCrHgsmi.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncLIBRARIES.amd64 += VBoxCrHgsmi-x86
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi-x86_TEMPLATE = VBOXGUESTR3LIB
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi-x86_EXTENDS = VBoxCrHgsmi
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi-x86_BLD_TRG_ARCH = x86
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxCrHgsmi-x86_DEFS = $(VBoxCrHgsmi_DEFS) VBOX_WDDM_WOW64
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif #VBOX_WITH_CRHGSMI
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif #ifdef VBOX_WITH_WDDM
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOXVIDEOWINDBG
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncDLLS += vbvdbg
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncvbvdbg_TEMPLATE = VBOXR3STATIC
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncvbvdbg_DEFS = UNICODE _UNICODE
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncvbvdbg_SOURCES = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/dbg/VBoxVideoWinDbg.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/dbg/VBoxVideoWinDbg.def
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncvbvdbg_SDKS = WINDDKWLH
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncPROGRAMS += tstMvWnd
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctstMvWnd_TEMPLATE = VBOXR3EXE
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctstMvWnd_DEFS = UNICODE _UNICODE
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctstMvWnd_SOURCES = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync wddm/dbg/tstMvWnd.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctstMvWnd_LIBS = $(LIB_RUNTIME)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctstMvWnd_LDFLAGS.win = /SUBSYSTEM:windows
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendif #VBOXVIDEOWINDBG
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncinclude $(KBUILD_PATH)/subfooter.kmk