VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/Makefile.kmk@ 82968

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

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.3 KB
Line 
1# $Id: Makefile.kmk 82968 2020-02-04 10:35:17Z vboxsync $
2## @file
3# Makefile for the Windows guest display driver.
4#
5
6#
7# Copyright (C) 2011-2020 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# VBoxDisp - Windows Guest Additions XPDM Display Driver
29#
30# Note. This has to run on NT4! (*_NT4 => *_W2K3 when targeting 64-bit.)
31#
32SYSMODS += VBoxDisp
33VBoxDisp_TEMPLATE = VBOXGUESTR0
34VBoxDisp_SYSSUFF = .dll
35VBoxDisp_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_NT4)
36VBoxDisp_DEFS.x86 = _WIN32_WINNT=0x0501
37VBoxDisp_DEFS = VBOX_WITH_DDRAW
38VBoxDisp_DEFS += LOG_TO_BACKDOOR #LOG_ENABLED
39ifdef VBOX_WITH_VIDEOHWACCEL
40 VBoxDisp_DEFS += VBOX_WITH_VIDEOHWACCEL
41endif
42#VBoxDisp_DEFS += VBOX_VBVA_ADJUST_RECT
43VBoxDisp_INCS = ../../../include .. $(VBOX_GRAPHICS_INCS)
44VBoxDisp_LDFLAGS.x86 = /Entry:DrvEnableDriver@12
45VBoxDisp_LDFLAGS.amd64 = /Entry:DrvEnableDriver
46VBoxDisp_SOURCES = \
47 xpdm/VBoxDispDriver.cpp \
48 xpdm/VBoxDispMini.cpp \
49 xpdm/VBoxDispMouse.cpp \
50 xpdm/VBoxDispPalette.cpp \
51 xpdm/VBoxDispVBVA.cpp \
52 xpdm/VBoxDispDrawCmd.cpp \
53 xpdm/VBoxDispVRDP.cpp \
54 xpdm/VBoxDispVrdpBmp.cpp \
55 xpdm/VBoxDispVrdpTxt.cpp \
56 xpdm/VBoxDispDriverDDraw.cpp \
57 xpdm/VBoxDispDDraw.cpp \
58 xpdm/VBoxDisp.def \
59 xpdm/VBoxDisp.rc \
60 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp \
61 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIBuffers.cpp \
62 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/HGSMIHostCmd.cpp \
63 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp \
64 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
65ifdef VBOX_WITH_VIDEOHWACCEL
66 VBoxDisp_SOURCES += \
67 xpdm/VBoxDispVHWA.cpp \
68 xpdm/VBoxDispDDrawVHWA.cpp
69endif
70VBoxDisp_LIBS = \
71 $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/win32k.lib \
72 $(VBOX_LIB_IPRT_GUEST_R0_NT4) \
73 $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
74VBoxDisp_USES.win += vboximportchecker
75VBoxDisp_VBOX_IMPORT_CHECKER.win.x86 = nt4/r0
76VBoxDisp_VBOX_IMPORT_CHECKER.win.amd64 = xp64/r0
77
78# Signing requires both miniport and display drivers
79# so it'd be dealt with in the parent makefile.
80ifdef VBOX_SIGN_ADDITIONS
81 VBoxDisp_INSTTYPE = none
82 VBoxDisp_DEBUG_INSTTYPE = both
83 ifdef VBOX_WITH_WDDM
84 VBoxDispD3D_INSTTYPE = none
85 VBoxDispD3D_DEBUG_INSTTYPE = both
86 endif
87endif
88
89ifdef VBOX_WITH_WDDM
90#
91# VBoxDispD3D - Windows Guest Additions WDDM R3 Display Driver
92#
93DLLS += VBoxDispD3D
94VBoxDispD3D_TEMPLATE = VBoxGuestR3DllMinVista
95VBoxDispD3D_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
96VBoxDispD3D_DEFS = UNICODE _UNICODE VBOX_WITH_WDDM VBOXWDDMDISP LOG_TO_BACKDOOR LOG_TO_BACKDOOR_DRV VBOX_WITH_HGCM
97ifdef DEBUG_misha
98VBoxDispD3D_DEFS += LOG_ENABLED
99endif
100ifdef VBOXWDDM_WITH_VBVA
101VBoxDispD3D_DEFS += VBOXWDDM_WITH_VBVA
102endif
103ifdef VBOX_WITH_VIDEOHWACCEL
104 VBoxDispD3D_DEFS += VBOX_WITH_VIDEOHWACCEL
105endif
106VBoxDispD3D_INCS = \
107 ../../../include \
108 .. \
109 $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared \
110 $(VBOX_GRAPHICS_INCS)
111VBoxDispD3D_SOURCES = \
112 wddm/VBoxDispD3D.cpp \
113 wddm/VBoxDispD3DIf.cpp \
114 wddm/VBoxDispDbg.cpp \
115 wddm/VBoxD3DIf.cpp \
116 wddm/VBoxDispD3D.rc \
117 wddm/VBoxDispD3D.def
118VBoxDispD3D_LIBS = \
119 $(VBOX_LIB_IPRT_GUEST_R3) \
120 $(VBOX_LIB_VBGL_R3) \
121 Psapi.lib \
122 $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
123 $(VBOX_PATH_ADDITIONS_LIB)/VBoxWddmUmKmt$(VBOX_SUFF_LIB)
124
125ifdef VBOX_WITH_MESA3D
126VBoxDispD3D_DEFS += VBOX_WITH_MESA3D
127VBoxDispD3D_INCS += \
128 $(VBOX_PATH_MESA)/src/gallium/include \
129 $(VBOX_PATH_MESA)/src \
130 $(VBOX_PATH_MESA)/include/c99 \
131 $(VBOX_PATH_MESA)/include \
132 $(VBOX_PATH_3D)/win/include \
133 $(VBOX_PATH_VMSVGA_INC)
134VBoxDispD3D_SOURCES += \
135 wddm/gallium/GaDxva.cpp \
136 wddm/gallium/GaDrvEnvWddm.cpp \
137 wddm/gallium/GaWddm.cpp \
138 wddm/gallium/GaDdi.cpp \
139 wddm/gallium/Present.cpp \
140 wddm/gallium/VBoxGallium.cpp \
141 wddm/gallium/VBoxGaD3DDevice9Ex.cpp \
142 wddm/gallium/VBoxD3DAdapter9.c
143
144 ifdef VBOX_WITH_MESA3D_D3DTEST
145VBoxDispD3D_DEFS += VBOX_WITH_MESA3D_D3DTEST
146VBoxDispD3D_SOURCES += \
147 wddm/gallium/test/d3dhlp.cpp \
148 wddm/gallium/test/d3d9render.cpp \
149 wddm/gallium/GaDrvTest.cpp
150 endif
151endif
152
153#
154# 64-bit systems needs a 32-bit version of VBoxDispD3D.
155#
156DLLS.amd64 += VBoxDispD3D-x86
157VBoxDispD3D-x86_EXTENDS = VBoxDispD3D
158VBoxDispD3D-x86_BLD_TRG_ARCH = x86
159VBoxDispD3D-x86_LIBS = \
160 $(VBOX_LIB_IPRT_GUEST_R3_X86) \
161 $(VBOX_LIB_VBGL_R3_X86) \
162 Psapi.lib \
163 $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
164 $(VBOX_PATH_ADDITIONS_LIB)/VBoxWddmUmKmt-x86$(VBOX_SUFF_LIB)
165VBoxDispD3D-x86_DEFS = $(VBoxDispD3D_DEFS) VBOX_WDDM_WOW64
166
167include $(PATH_SUB_CURRENT)/wddm/shared/Makefile.kmk
168
169endif #ifdef VBOX_WITH_WDDM
170
171ifdef VBOXVIDEOWINDBG
172DLLS += vbvdbg
173vbvdbg_TEMPLATE = VBOXR3STATIC
174vbvdbg_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
175vbvdbg_DEFS = UNICODE _UNICODE
176vbvdbg_SOURCES = \
177 wddm/dbg/VBoxVideoWinDbg.cpp \
178 wddm/dbg/VBoxVideoWinDbg.def
179
180PROGRAMS += tstMvWnd
181tstMvWnd_TEMPLATE = VBOXR3EXE
182tstMvWnd_DEFS = UNICODE _UNICODE
183tstMvWnd_SOURCES = \
184 wddm/dbg/tstMvWnd.cpp
185tstMvWnd_LIBS = $(VBOX_LIB_IPRT_GUEST_R3)
186tstMvWnd_LDFLAGS.win = /SUBSYSTEM:windows
187
188PROGRAMS += DumpD3DCaps9
189DumpD3DCaps9_TEMPLATE = VBOXR3EXE
190DumpD3DCaps9_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
191DumpD3DCaps9_DEFS = UNICODE _UNICODE
192DumpD3DCaps9_SOURCES = \
193 wddm/dbg/DumpD3DCaps9.cpp
194DumpD3DCaps9_LIBS = d3d9.lib
195DumpD3DCaps9_LDFLAGS.win = /SUBSYSTEM:CONSOLE
196
197PROGRAMS += D3DFeatureLevel
198D3DFeatureLevel_TEMPLATE = VBOXR3EXE
199D3DFeatureLevel_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
200D3DFeatureLevel_SOURCES = \
201 wddm/dbg/D3DFeatureLevel.cpp
202D3DFeatureLevel_LIBS = $(VBOX_LIB_IPRT_GUEST_R3) d3d11.lib
203D3DFeatureLevel_LDFLAGS.win = /SUBSYSTEM:CONSOLE
204
205endif #VBOXVIDEOWINDBG
206
207include $(FILE_KBUILD_SUB_FOOTER)
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