VirtualBox

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

Last change on this file since 69360 was 69111, checked in by vboxsync, 7 years ago

(C) year

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