VirtualBox

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

Last change on this file since 74881 was 71323, checked in by vboxsync, 7 years ago

WDDM: build and use VBoxWddm.sys. bugref:9133

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 9.6 KB
Line 
1# $Id: Makefile.kmk 71323 2018-03-14 14:05:32Z vboxsync $
2## @file
3# Makefile for the Windows guest video driver.
4#
5
6#
7# Copyright (C) 2011-2018 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# Include sub-makefiles.
22include $(PATH_SUB_CURRENT)/mp/Makefile.kmk
23include $(PATH_SUB_CURRENT)/disp/Makefile.kmk
24
25#
26# Install the inf & cat.
27# This has to be done here since it depends on both the
28# miniport driver and the display dll.
29#
30INSTALLS += VBoxVideo-inf
31VBoxVideo-inf_INST = $(INST_ADDITIONS)
32VBoxVideo-inf_MODE = a+r,u+w
33VBoxVideo-inf_SOURCES = \
34 $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.inf
35ifdef VBOX_SIGN_ADDITIONS
36 VBoxVideo-inf_SOURCES += \
37 $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys \
38 $(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll \
39 $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.cat
40endif
41VBoxVideo-inf_CLEAN = $(VBoxVideo-inf_SOURCES)
42VBoxVideo-inf_BLDDIRS = \
43 $(PATH_TARGET)/VBoxVideoCat.dir
44
45$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.inf: $(PATH_SUB_CURRENT)/mp/xpdm/VBoxVideo.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
46 $(call MSG_GENERATE,VBoxVideo-inf,$@,$<)
47 $(call VBOX_EDIT_INF_FN,$<,$@)
48
49$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys: $$(VBoxVideo_1_TARGET) | $$(dir $$@)
50 $(INSTALL) -m 644 $< $(@D)
51
52$(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll: $$(VBoxDisp_1_TARGET) | $$(dir $$@)
53 $(INSTALL) -m 644 $< $(@D)
54
55$(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.cat: \
56 $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.inf \
57 $(PATH_TARGET)/VBoxVideoCat.dir/VBoxVideo.sys \
58 $(PATH_TARGET)/VBoxVideoCat.dir/VBoxDisp.dll
59 $(call MSG_TOOL,Inf2Cat,VBoxVideo-inf,$@,$<)
60 $(call VBOX_MAKE_CAT_FN, $(@D),$@)
61
62ifdef VBOX_WITH_WDDM
63 VBOXWDDM_WITH_DISPD3D = 1
64 ifdef VBOX_WITH_CROGL
65 VBOXWDDM_WITH_GL = 1
66 endif
67
68 #
69 # Install the inf & cat.
70 # This has to be done here since it depends on both the
71 # miniport driver and the display dll.
72 #
73 INSTALLS += VBoxWddm-inf
74 VBoxWddm-inf_INST = $(INST_ADDITIONS)
75 VBoxWddm-inf_MODE = a+r,u+w
76 VBoxWddm-inf_SOURCES = \
77 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.inf
78 ifdef VBOX_SIGN_ADDITIONS
79 VBoxWddm-inf_SOURCES += \
80 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.sys \
81 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.cat
82
83 ifdef VBOXWDDM_WITH_DISPD3D
84 VBoxWddm-inf_SOURCES += \
85 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D.dll
86 VBoxWddm-inf_SOURCES.amd64 += \
87 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D-x86.dll
88 endif # VBOXWDDM_WITH_DISPD3D
89
90 ifdef VBOXWDDM_WITH_GL
91 VBoxWddm-inf_SOURCES += \
92 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGL.dll \
93 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxD3D9wddm.dll \
94 $(PATH_TARGET)/VBoxWddmCat.dir/wined3dwddm.dll \
95 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLarrayspu.dll \
96 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLcrutil.dll \
97 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLerrorspu.dll \
98 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLfeedbackspu.dll \
99 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpackspu.dll \
100 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpassthroughspu.dll
101 VBoxWddm-inf_SOURCES.amd64 += \
102 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGL-x86.dll \
103 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxD3D9wddm-x86.dll \
104 $(PATH_TARGET)/VBoxWddmCat.dir/wined3dwddm-x86.dll \
105 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLarrayspu-x86.dll \
106 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLcrutil-x86.dll \
107 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLerrorspu-x86.dll \
108 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLfeedbackspu-x86.dll \
109 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpackspu-x86.dll \
110 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpassthroughspu-x86.dll
111 endif # VBOXWDDM_WITH_GL
112 endif # VBOX_SIGN_ADDITIONS
113
114 VBoxWddm-inf_CLEAN = $(VBoxWddm-inf_SOURCES)
115 VBoxWddm-inf_BLDDIRS = \
116 $(PATH_TARGET)/VBoxWddmCat.dir
117
118 VBOXWDDM_EDIT_INF_DISPD3D_FN_ARG = $(if $(VBOXWDDM_WITH_DISPD3D),-e 's/^;dispd3d *//', -e '/^;dispd3d /d')
119 VBOXWDDM_EDIT_INF_GL_FN_ARG = $(if $(VBOXWDDM_WITH_GL),-e 's/^;gl *//', -e '/^;gl /d')
120 # Depends on VBOXWDDM_WITH_GL. ";icd" prefix is used for telling which lines are for OpenGL ICD
121 VBOXWDDM_EDIT_INF_ICD_FN_ARG = $(if $(VBOXWDDM_WITH_GL),-e 's/^;icd *//', -e '/^;icd /d')
122
123 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.inf: \
124 $(PATH_SUB_CURRENT)/mp/wddm/VBoxWddm.inf $(MAKEFILE_CURRENT) | $$(dir $$@)
125 $(call MSG_GENERATE,VBoxWddm-inf,$@,$<)
126 $(call VBOX_EDIT_INF_FN,$<,$@ $(VBOXWDDM_EDIT_INF_DISPD3D_FN_ARG) $(VBOXWDDM_EDIT_INF_GL_FN_ARG) $(VBOXWDDM_EDIT_INF_ICD_FN_ARG))
127
128 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.sys: $$(VBoxWddm_1_TARGET) | $$(dir $$@)
129 $(INSTALL) -m 644 $< $(@D)
130
131 ifdef VBOXWDDM_WITH_DISPD3D
132 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D.dll: $$(VBoxDispD3D_1_TARGET) | $$(dir $$@)
133 $(INSTALL) -m 644 $< $(@D)
134
135 ifeq ($(KBUILD_TARGET_ARCH),amd64)
136 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D-x86.dll: $$(VBoxDispD3D-x86_1_TARGET) | $$(dir $$@)
137 $(INSTALL) -m 644 $< $(@D)
138 endif
139 endif # VBOXWDDM_WITH_DISPD3D
140
141 ifdef VBOXWDDM_WITH_GL
142 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGL.dll: $(PATH_OBJ)/VBoxOGL/VBoxOGL.dll | $$(dir $$@)
143 $(INSTALL) -m 644 $< $(@D)
144
145 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxD3D9wddm.dll: $(PATH_OBJ)/VBoxD3D9wddm/VBoxD3D9wddm.dll | $$(dir $$@)
146 $(INSTALL) -m 644 $< $(@D)
147
148 $(PATH_TARGET)/VBoxWddmCat.dir/wined3dwddm.dll: $(PATH_OBJ)/wined3dwddm/wined3dwddm.dll | $$(dir $$@)
149 $(INSTALL) -m 644 $< $(@D)
150
151 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLarrayspu.dll: $(PATH_OBJ)/VBoxOGLarrayspu/VBoxOGLarrayspu.dll | $$(dir $$@)
152 $(INSTALL) -m 644 $< $(@D)
153
154 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLcrutil.dll: $(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil.dll | $$(dir $$@)
155 $(INSTALL) -m 644 $< $(@D)
156
157 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLerrorspu.dll: $(PATH_OBJ)/VBoxOGLerrorspu/VBoxOGLerrorspu.dll | $$(dir $$@)
158 $(INSTALL) -m 644 $< $(@D)
159
160 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLfeedbackspu.dll: $(PATH_OBJ)/VBoxOGLfeedbackspu/VBoxOGLfeedbackspu.dll | $$(dir $$@)
161 $(INSTALL) -m 644 $< $(@D)
162
163 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpackspu.dll: $(PATH_OBJ)/VBoxOGLpackspu/VBoxOGLpackspu.dll | $$(dir $$@)
164 $(INSTALL) -m 644 $< $(@D)
165
166 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpassthroughspu.dll: $(PATH_OBJ)/VBoxOGLpassthroughspu/VBoxOGLpassthroughspu.dll | $$(dir $$@)
167 $(INSTALL) -m 644 $< $(@D)
168
169 ifeq ($(KBUILD_TARGET_ARCH),amd64)
170 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGL-x86.dll: $(PATH_OBJ)/VBoxOGL-x86/VBoxOGL-x86.dll | $$(dir $$@)
171 $(INSTALL) -m 644 $< $(@D)
172
173 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxD3D9wddm-x86.dll: $(PATH_OBJ)/VBoxD3D9wddm-x86/VBoxD3D9wddm-x86.dll | $$(dir $$@)
174 $(INSTALL) -m 644 $< $(@D)
175
176 $(PATH_TARGET)/VBoxWddmCat.dir/wined3dwddm-x86.dll: $(PATH_OBJ)/wined3dwddm-x86/wined3dwddm-x86.dll | $$(dir $$@)
177 $(INSTALL) -m 644 $< $(@D)
178
179 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLarrayspu-x86.dll: $(PATH_OBJ)/VBoxOGLarrayspu-x86/VBoxOGLarrayspu-x86.dll | $$(dir $$@)
180 $(INSTALL) -m 644 $< $(@D)
181
182 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLcrutil-x86.dll: $(PATH_OBJ)/VBoxOGLcrutil-x86/VBoxOGLcrutil-x86.dll | $$(dir $$@)
183 $(INSTALL) -m 644 $< $(@D)
184
185 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLerrorspu-x86.dll: $(PATH_OBJ)/VBoxOGLerrorspu-x86/VBoxOGLerrorspu-x86.dll | $$(dir $$@)
186 $(INSTALL) -m 644 $< $(@D)
187
188 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLfeedbackspu-x86.dll: $(PATH_OBJ)/VBoxOGLfeedbackspu-x86/VBoxOGLfeedbackspu-x86.dll | $$(dir $$@)
189 $(INSTALL) -m 644 $< $(@D)
190
191 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpackspu-x86.dll: $(PATH_OBJ)/VBoxOGLpackspu-x86/VBoxOGLpackspu-x86.dll | $$(dir $$@)
192 $(INSTALL) -m 644 $< $(@D)
193
194 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpassthroughspu-x86.dll: $(PATH_OBJ)/VBoxOGLpassthroughspu-x86/VBoxOGLpassthroughspu-x86.dll | $$(dir $$@)
195 $(INSTALL) -m 644 $< $(@D)
196 endif # ($(KBUILD_TARGET_ARCH), amd64)
197 endif # VBOXWDDM_WITH_GL
198
199 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.cat: \
200 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.inf \
201 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxWddm.sys \
202 $(if $(VBOXWDDM_WITH_DISPD3D), $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D.dll, ) \
203 $(if $(VBOXWDDM_WITH_DISPD3D), $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64", $(PATH_TARGET)/VBoxWddmCat.dir/VBoxDispD3D-x86.dll, ), ) \
204 $(if $(VBOXWDDM_WITH_GL), $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGL.dll \
205 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxD3D9wddm.dll \
206 $(PATH_TARGET)/VBoxWddmCat.dir/wined3dwddm.dll \
207 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLarrayspu.dll \
208 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLcrutil.dll \
209 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLerrorspu.dll \
210 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLfeedbackspu.dll \
211 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpackspu.dll \
212 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpassthroughspu.dll, ) \
213 $(if $(VBOXWDDM_WITH_GL), $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64", \
214 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGL-x86.dll \
215 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxD3D9wddm-x86.dll \
216 $(PATH_TARGET)/VBoxWddmCat.dir/wined3dwddm-x86.dll \
217 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLarrayspu-x86.dll \
218 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLcrutil-x86.dll \
219 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLerrorspu-x86.dll \
220 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLfeedbackspu-x86.dll \
221 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpackspu-x86.dll \
222 $(PATH_TARGET)/VBoxWddmCat.dir/VBoxOGLpassthroughspu-x86.dll, ), )
223 $(call MSG_TOOL,Inf2Cat,VBoxWddm-inf,$@,$<)
224 $(call VBOX_MAKE_CAT_FN, $(@D),$@)
225
226endif # VBOX_WITH_WDDM
227
228include $(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