VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/Makefile.kmk@ 81759

Last change on this file since 81759 was 81651, checked in by vboxsync, 5 years ago

WDDM: support for the legacy VBoxVGA adapter

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.8 KB
Line 
1# $Id: Makefile.kmk 81651 2019-11-04 12:52:17Z vboxsync $
2## @file
3# Makefile for the Windows guest miniport driver.
4#
5
6#
7# Copyright (C) 2011-2019 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18SUB_DEPTH = ../../../../../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21ifdef VBOX_WITH_MESA3D
22 ifndef VBOX_MESA3D_CONFIG_KMK_INCLUDED
23 include $(PATH_ROOT)/src/VBox/Additions/3D/Config.kmk
24 endif
25endif
26
27#
28# VBoxVideo - Windows Guest Additions XPDM Miniport Video Driver
29#
30# Note. This has to run on NT4! (*_NT4 => *_W2K3 when targeting 64-bit.)
31#
32SYSMODS += VBoxVideo
33VBoxVideo_TEMPLATE = VBOXGUESTR0
34VBoxVideo_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_NT4)
35VBoxVideo_DEFS = VBOX_XPDM_MINIPORT VBOX_WITH_8BPP_MODES VBOX_USING_$(VBOX_WINDDK_GST_NT4)
36VBoxVideo_DEFS += LOG_TO_BACKDOOR #LOG_ENABLED
37VBoxVideo_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV)
38ifdef VBOX_WITH_VIDEOHWACCEL
39 VBoxVideo_DEFS += VBOX_WITH_VIDEOHWACCEL
40endif
41VBoxVideo_INCS = ../../../include .. . $(VBOX_GRAPHICS_INCS)
42VBoxVideo_LDFLAGS.x86 = /Entry:DriverEntry@8
43VBoxVideo_LDFLAGS.amd64 = /Entry:DriverEntry
44VBoxVideo_SOURCES = \
45 xpdm/VBoxMPDriver.cpp \
46 xpdm/VBoxMP.def \
47 xpdm/VBoxMP.rc \
48 xpdm/VBoxMPVideoPortAPI.cpp \
49 xpdm/VBoxMPInternal.cpp \
50 xpdm/VBoxMPRegistry.cpp \
51 xpdm/VBoxMPIOCTL.cpp \
52 common/VBoxMPUtils.cpp \
53 common/VBoxMPCommon.cpp \
54 common/VBoxMPHGSMI.cpp \
55 common/VBoxMPVidModes.cpp \
56 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
57 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBuffers.cpp \
58 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIHostCmd.cpp \
59 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
60VBoxVideo_LIBS = \
61 $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/videoprt.lib \
62 $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/ntoskrnl.lib \
63 $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/hal.lib \
64 $(VBOX_LIB_VBGL_R0) \
65 $(VBOX_LIB_IPRT_GUEST_R0_NT4) \
66 $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
67VBoxVideo_LIBS.x86 = \
68 $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/exsup.lib
69
70ifdef VBOX_WITH_WDDM
71 #
72 # VBoxWddm - Windows Guest Additions WDDM Miniport Video Driver
73 #
74 SYSMODS += VBoxWddm
75 VBoxWddm_TEMPLATE = VBOXGUESTR0
76 VBoxWddm_SDKS = $(VBOX_WINDDK_GST_W8)
77 VBoxWddm_DEFS += VBOX_WDDM_MINIPORT VBOX_WITH_WDDM VBOX_WITH_HGCM
78 # WIN9X_COMPAT_SPINLOCK inlines KeInitializeSpinLock in W8 DDK (Windows 7 or older ntoskrnl does not export it).
79 VBoxWddm_DEFS += WIN9X_COMPAT_SPINLOCK
80 VBoxWddm_DEFS += VBOX_WITH_8BPP_MODES
81 ifdef VBOX_WITH_VIDEOHWACCEL
82 VBoxWddm_DEFS += VBOX_WITH_VIDEOHWACCEL
83 endif
84 ifdef VBOXWDDM_WITH_VBVA
85 VBoxWddm_DEFS += VBOXWDDM_WITH_VBVA
86 VBoxWddm_DEFS += VBOXWDDM_RENDER_FROM_SHADOW
87 ifdef VBOXVDMA_WITH_VBVA
88 VBoxWddm_DEFS += VBOXVDMA_WITH_VBVA
89 endif
90 endif
91 VBoxWddm_DEFS += LOG_TO_BACKDOOR
92 VBoxWddm_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV)
93 VBoxWddm_INCS += \
94 ../../../include \
95 .. \
96 . \
97 $(VBOX_GRAPHICS_INCS)
98
99 VBoxWddm_LDFLAGS.x86 += /Entry:DriverEntry@8
100 VBoxWddm_LDFLAGS.amd64 += /Entry:DriverEntry
101
102 VBoxWddm_SOURCES = \
103 wddm/VBoxMPWddm.cpp \
104 wddm/VBoxMPLegacy.cpp \
105 wddm/VBoxMPVidPn.cpp \
106 wddm/VBoxMPVdma.cpp \
107 wddm/VBoxMPShgsmi.cpp \
108 wddm/VBoxMPCm.cpp \
109 wddm/VBoxMPSa.cpp \
110 wddm/VBoxMPMisc.cpp \
111 wddm/VBoxWddm.rc \
112 wddm/VBoxMPRegistry.cpp \
113 wddm/VBoxMPVModes.cpp \
114 common/VBoxMPUtils.cpp \
115 common/VBoxMPCommon.cpp \
116 common/VBoxMPHGSMI.cpp \
117 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
118 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBuffers.cpp \
119 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIHostCmd.cpp \
120 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp \
121 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
122
123 ifdef VBOXWDDM_WITH_VBVA
124 VBoxWddm_SOURCES += \
125 wddm/VBoxMPVbva.cpp
126 endif
127 ifdef VBOX_WITH_VIDEOHWACCEL
128 VBoxWddm_SOURCES += \
129 wddm/VBoxMPVhwa.cpp
130 endif
131
132 VBoxWddm_LIBS = \
133 $(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/BufferOverflowK.lib \
134 $(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/ntoskrnl.lib \
135 $(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/hal.lib \
136 $(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/displib.lib \
137 $(VBOX_LIB_VBGL_R0) \
138 $(VBOX_LIB_IPRT_GUEST_R0) \
139 $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
140
141 VBoxWddm_LIBS.x86 = \
142 $(PATH_SDK_$(VBOX_WINDDK_GST_W8)_LIB)/memcmp.lib
143
144 ifdef VBOX_WITH_MESA3D
145 VBoxWddm_DEFS += VBOX_WITH_MESA3D
146 VBoxWddm_DEFS += __STDC_VERSION__=0 # for mesa include/c99_compat.h
147 VBoxWddm_DEFS += WIN9X_COMPAT_SPINLOCK # to avoid multiple KeInitializeSpinLock on amd64
148 VBoxWddm_INCS += \
149 $(VBOX_PATH_3D)/win/include \
150 $(VBOX_PATH_VMSVGA_INC)
151 VBoxWddm_SOURCES += \
152 wddm/gallium/Svga.cpp \
153 wddm/gallium/SvgaCmd.cpp \
154 wddm/gallium/SvgaFifo.cpp \
155 wddm/gallium/SvgaHw.cpp \
156 wddm/gallium/VBoxMPGaFence.cpp \
157 wddm/gallium/VBoxMPGaUtils.cpp \
158 wddm/gallium/VBoxMPGaWddm.cpp
159 endif
160
161endif # VBOX_WITH_WDDM
162
163#
164# Signing requires both miniport and display drivers
165# so it'd be dealt with in the parent makefile.
166#
167ifdef VBOX_SIGN_ADDITIONS
168 VBoxVideo_INSTTYPE = none
169 VBoxVideo_DEBUG_INSTTYPE = both
170 ifdef VBOX_WITH_WDDM
171 VBoxWddm_INSTTYPE = none
172 VBoxWddm_DEBUG_INSTTYPE = both
173 endif
174endif # VBOX_SIGN_ADDITIONS
175
176include $(FILE_KBUILD_SUB_FOOTER)
177
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette