VirtualBox

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

Last change on this file since 42288 was 42288, checked in by vboxsync, 12 years ago

Jettisoned the old compilers.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.6 KB
Line 
1# $Id: Makefile.kmk 42288 2012-07-20 18:30:53Z vboxsync $
2## @file
3# Makefile for the Windows guest display driver.
4#
5
6#
7# Copyright (C) 2011-2012 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 targetting 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 ..
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/VBVABase.cpp \
59 $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
60ifdef VBOX_WITH_VIDEOHWACCEL
61 VBoxDisp_SOURCES += \
62 xpdm/VBoxDispVHWA.cpp \
63 xpdm/VBoxDispDDrawVHWA.cpp
64endif
65VBoxDisp_LIBS = \
66 $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/win32k.lib \
67 $(VBOX_LIB_IPRT_GUEST_R0_NT4) \
68 $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
69
70# Signing requires both miniport and display drivers
71# so it'd be dealt with in the parent makefile.
72ifdef VBOX_SIGN_ADDITIONS
73 VBoxDisp_INSTTYPE = none
74 VBoxDisp_DEBUG_INSTTYPE = both
75 ifdef VBOX_WITH_WDDM
76 VBoxDispD3D_INSTTYPE = none
77 VBoxDispD3D_DEBUG_INSTTYPE = both
78 endif
79endif
80
81ifdef VBOX_WITH_WDDM
82#
83# VBoxDispD3D - Windows Guest Additions WDDM R3 Display Driver
84#
85DLLS += VBoxDispD3D
86VBoxDispD3D_TEMPLATE = VBOXGUESTR3DLL
87VBoxDispD3D_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
88VBoxDispD3D_DEFS = UNICODE _UNICODE VBOX_WITH_WDDM VBOXWDDMDISP LOG_TO_BACKDOOR LOG_TO_BACKDOOR_DRV VBOX_WITH_HGCM
89ifdef DEBUG_misha
90VBoxDispD3D_DEFS += LOG_ENABLED
91endif
92ifdef VBOXWDDM_WITH_VBVA
93VBoxDispD3D_DEFS += VBOXWDDM_WITH_VBVA
94endif
95ifdef VBOX_WITH_VIDEOHWACCEL
96 VBoxDispD3D_DEFS += VBOX_WITH_VIDEOHWACCEL
97endif
98ifdef VBOX_WDDMDISP_WITH_PROFILE
99 VBoxDispD3D_DEFS += VBOX_WDDMDISP_WITH_PROFILE
100endif
101ifdef VBOXWDDM_TEST_UHGSMI
102 VBoxDispD3D_DEFS += VBOXWDDM_TEST_UHGSMI
103endif
104ifdef VBOX_WITH_CROGL
105 VBoxDispD3D_DEFS += VBOX_WITH_CROGL
106endif
107VBoxDispD3D_INCS = \
108 ../../../include \
109 ..
110VBoxDispD3D_SOURCES = \
111 wddm/VBoxDispD3D.cpp \
112 wddm/VBoxDispD3DIf.cpp \
113 wddm/VBoxDispCm.cpp \
114 wddm/VBoxDispMp.cpp \
115 wddm/VBoxScreen.cpp \
116 wddm/VBoxDispMpTst.cpp \
117 wddm/VBoxDispKmt.cpp \
118 wddm/VBoxDispDbg.cpp \
119 wddm/VBoxDispD3D.rc \
120 wddm/VBoxDispD3D.def \
121#ifdef VBOX_WITH_CRHGSMI
122#VBoxDispD3D_SOURCES += \
123# wddm/VBoxUhgsmiDisp.cpp \
124# wddm/VBoxUhgsmiKmt.cpp
125#VBoxDispD3D_DEFS += VBOX_WITH_CRHGSMI
126#endif
127VBoxDispD3D_LIBS = \
128 $(VBOX_LIB_IPRT_GUEST_R3) \
129 $(VBOX_LIB_VBGL_R3) \
130 Psapi.lib \
131 $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB)
132
133#
134# 64-bit systems needs a 32-bit version of VBoxDispD3D.
135#
136DLLS.amd64 += VBoxDispD3D-x86
137VBoxDispD3D-x86_EXTENDS = VBoxDispD3D
138VBoxDispD3D-x86_BLD_TRG_ARCH = x86
139VBoxDispD3D-x86_LIBS = \
140 $(VBOX_LIB_IPRT_GUEST_R3_X86) \
141 $(VBOX_LIB_VBGL_R3_X86) \
142 Psapi.lib \
143 $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB)
144VBoxDispD3D-x86_DEFS = $(VBoxDispD3D_DEFS) VBOX_WDDM_WOW64
145
146ifdef VBOX_WITH_CRHGSMI
147#
148# VBoxCrHgsmi - Chromium HGSMI API library
149#
150LIBRARIES += VBoxCrHgsmi
151VBoxCrHgsmi_TEMPLATE = VBOXGUESTR3LIB
152VBoxCrHgsmi_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
153VBoxCrHgsmi_DEFS = UNICODE _UNICODE VBOX_WITH_CRHGSMI IN_VBOXCRHGSMI VBOX_WITH_WDDM VBOX_WITH_VDMA VBOX_WITH_HGCM
154VBoxCrHgsmi_INCS = ../../../include ..
155VBoxCrHgsmi_SOURCES = \
156 wddm/VBoxCrHgsmi.cpp \
157 wddm/VBoxDispKmt.cpp \
158 wddm/VBoxDispDbg.cpp \
159 wddm/VBoxUhgsmiKmt.cpp
160
161#
162# 64-bit systems needs a 32-bit version of VBoxCrHgsmi.
163#
164LIBRARIES.amd64 += VBoxCrHgsmi-x86
165VBoxCrHgsmi-x86_TEMPLATE = VBOXGUESTR3LIB
166VBoxCrHgsmi-x86_EXTENDS = VBoxCrHgsmi
167VBoxCrHgsmi-x86_BLD_TRG_ARCH = x86
168VBoxCrHgsmi-x86_DEFS = $(VBoxCrHgsmi_DEFS) VBOX_WDDM_WOW64
169endif #VBOX_WITH_CRHGSMI
170
171#
172# VBoxDispMpLogger - display backdoor logger library
173#
174LIBRARIES += VBoxDispMpLogger
175VBoxDispMpLogger_TEMPLATE = VBOXGUESTR3LIB
176VBoxDispMpLogger_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
177VBoxDispMpLogger_DEFS = UNICODE _UNICODE VBOX_WITH_CRHGSMI IN_VBOXCRHGSMI VBOX_WITH_WDDM VBOX_WITH_VDMA VBOX_WITH_HGCM
178VBoxDispMpLogger_INCS = ../../../include ..
179VBoxDispMpLogger_SOURCES = \
180 wddm/VBoxDispMpLogger.cpp
181
182#
183# 64-bit systems needs a 32-bit version of VBoxCrHgsmi.
184#
185LIBRARIES.amd64 += VBoxDispMpLogger-x86
186VBoxDispMpLogger-x86_TEMPLATE = VBOXGUESTR3LIB
187VBoxDispMpLogger-x86_EXTENDS = VBoxDispMpLogger
188VBoxDispMpLogger-x86_BLD_TRG_ARCH = x86
189VBoxDispMpLogger-x86_DEFS = $(VBoxDispMpLogger_DEFS) VBOX_WDDM_WOW64
190
191endif #ifdef VBOX_WITH_WDDM
192
193ifdef VBOXVIDEOWINDBG
194DLLS += vbvdbg
195vbvdbg_TEMPLATE = VBOXR3STATIC
196vbvdbg_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
197vbvdbg_DEFS = UNICODE _UNICODE
198vbvdbg_SOURCES = \
199 wddm/dbg/VBoxVideoWinDbg.cpp \
200 wddm/dbg/VBoxVideoWinDbg.def
201
202PROGRAMS += tstMvWnd
203tstMvWnd_TEMPLATE = VBOXR3EXE
204tstMvWnd_DEFS = UNICODE _UNICODE
205tstMvWnd_SOURCES = \
206 wddm/dbg/tstMvWnd.cpp
207tstMvWnd_LIBS = $(LIB_RUNTIME)
208tstMvWnd_LDFLAGS.win = /SUBSYSTEM:windows
209
210PROGRAMS += DumpD3DCaps9
211DumpD3DCaps9_TEMPLATE = VBOXR3EXE
212DumpD3DCaps9_SDKS = ReorderCompilerIncs $(VBOX_WINDDK_GST_WLH)
213DumpD3DCaps9_DEFS = UNICODE _UNICODE
214DumpD3DCaps9_SOURCES = \
215 wddm/dbg/DumpD3DCaps9.cpp
216DumpD3DCaps9_LIBS = $(LIB_RUNTIME)
217DumpD3DCaps9_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