VirtualBox

source: vbox/trunk/src/VBox/Additions/common/crOpenGL/Makefile.kmk@ 43273

最後變更 在這個檔案從43273是 43273,由 vboxsync 提交於 13 年 前

Additions/common/crOpenGL: replace a dependency on X server headers with a (standard) definition.

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 24.9 KB
 
1# $Id: Makefile.kmk 43273 2012-09-10 19:29:40Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest OpenGL part
4#
5
6#
7# Copyright (C) 2008-2012 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.alldomusa.eu.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# Target lists.
23#
24BLDDIRS += \
25 $(VBOX_PATH_CROGL_GENFILES)/
26
27DLLS.win += \
28 VBoxOGL \
29 VBoxOGLarrayspu \
30 VBoxOGLpassthroughspu \
31 VBoxOGLpackspu \
32 VBoxOGLfeedbackspu
33
34if1of ($(KBUILD_TARGET), linux solaris freebsd)
35DLLS += \
36 VBoxOGL \
37 VBoxOGLarrayspu \
38 VBoxOGLpassthroughspu \
39 VBoxOGLpackspu \
40 VBoxOGLfeedbackspu
41endif
42
43if1of ($(KBUILD_TARGET), linux solaris freebsd)
44 #VBoxOGL_DRI = 1
45 ifn1of ($(KBUILD_TARGET),solaris freebsd) # No DRI on Solaris yet
46 VBoxOGL_FAKEDRI = 1
47 endif
48
49 # Only Solaris right now needs C stubs because I can't figure out how to
50 # generate the GOT based relocation ASM yet.
51 ifdef VBoxOGL_FAKEDRI
52 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),solaris.x86 solaris.amd64 linux.x86 linux.amd64 freebsd.x86 freebsd.amd64)
53 VBOX_OGL_GLX_USE_CSTUBS = 1
54 endif
55 endif
56endif
57
58
59#
60# VBoxOGL
61#
62VBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL
63VBoxOGL_INCS = .
64if1of ($(KBUILD_TARGET), linux solaris freebsd)
65 VBoxOGL_INCS += \
66 $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \
67 $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \
68 $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \
69 $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \
70 $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \
71 $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \
72 $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \
73 $(VBOX_MESA_INCS) \
74 $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
75 VBoxOGL_DEFS += VBOX_NO_NATIVEGL
76endif
77
78ifdef VBoxOGL_DRI
79 VBoxOGL_DEFS += VBOXOGL_DRI IN_DRI_DRIVER
80else ifdef VBoxOGL_FAKEDRI
81 VBoxOGL_DEFS += VBOXOGL_FAKEDRI
82 ifdef VBOX_OGL_GLX_USE_CSTUBS
83 VBoxOGL_DEFS += VBOX_OGL_GLX_USE_CSTUBS
84 endif
85endif
86
87ifdef VBOX_WITH_WDDM
88 VBoxOGL_DEFS.win += VBOX_WITH_WDDM
89 VBoxOGL_SDKS.win += $(VBOX_WINDDK_GST_WLH)
90endif
91
92ifeq ($(KBUILD_TARGET),win)
93#fixme?, INTERMEDIATES.win ain't working
94 VBoxOGL_INTERMEDIATES += $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
95 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
96 VBoxOGL_INSTTYPE.win = none
97 VBoxOGL_DEBUG_INSTTYPE.win = both
98 endif
99endif
100ifdef VBoxOGL_DRI
101 VBoxOGL_INTERMEDIATES += \
102 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \
103 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.h
104else ifdef VBoxOGL_FAKEDRI
105 VBoxOGL_INTERMEDIATES += \
106 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
107endif
108VBoxOGL_SOURCES += \
109 load.c \
110 stub.c \
111 context.c \
112 $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
113 $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
114 $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
115
116if1of ($(KBUILD_TARGET), linux solaris freebsd)
117 VBoxOGL_SOURCES += \
118 glx.c \
119 xfont.c
120 ifdef VBOX_OGL_GLX_USE_CSTUBS
121 VBoxOGL_SOURCES += glx_c_exports.c
122 endif
123
124 ifdef VBoxOGL_DRI
125 VBoxOGL_SOURCES += \
126 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.c \
127 dri_drv.c
128 VBoxOGL_SOURCES.linux += \
129 $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm
130 VBoxOGL_SOURCES.solaris += \
131 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm
132 VBoxOGL_SOURCES.freebsd += \
133 $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm
134 else ifdef VBoxOGL_FAKEDRI
135 VBoxOGL_SOURCES += \
136 fakedri_drv.c
137 ifndef VBOX_OGL_GLX_USE_CSTUBS
138 VBoxOGL_SOURCES.solaris += \
139 $(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm \
140 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm
141 VBoxOGL_SOURCES.linux += \
142 $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm \
143 $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm
144 VBoxOGL_SOURCES.freebsd += \
145 $(VBOX_PATH_CROGL_GENFILES)/freebsd_glxapi_exports.asm \
146 $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm
147 else
148 VBoxOGL_SOURCES.solaris += \
149 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
150 VBoxOGL_SOURCES.linux += \
151 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.c
152 VBoxOGL_SOURCES.freebsd += \
153 $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c
154 endif
155 else
156 VBoxOGL_SOURCES.linux += \
157 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
158 VBoxOGL_SOURCES.solaris += \
159 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
160 VBoxOGL_SOURCES.freebsd += \
161 $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c
162 endif
163endif
164
165VBoxOGL_SOURCES.win = \
166 wgl.c \
167 icd_drv.c \
168 VBoxCROGL.rc \
169 $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
170 $(VBOX_PATH_CROGL_GENFILES)/cropengl.def
171VBoxOGL_CLEAN = \
172 $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
173 $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
174 $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
175VBoxOGL_CLEAN.linux += \
176 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
177VBoxOGL_CLEAN.solaris += \
178 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
179VBoxOGL_CLEAN.win = \
180 $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
181 $(VBOX_PATH_CROGL_GENFILES)/cropengl.def
182if1of ($(KBUILD_TARGET), linux solaris)
183 ifdef VBoxOGL_DRI
184 VBoxOGL_CLEAN += \
185 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \
186 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.h \
187 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.c
188 else ifdef VBoxOGL_FAKEDRI
189 VBoxOGL_CLEAN += \
190 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
191 VBoxOGL_CLEAN.linux += \
192 $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm
193 VBoxOGL_CLEAN.solaris += \
194 $(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm
195 endif
196endif
197VBoxOGL_LIBS = \
198 $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
199 $(VBOX_LIB_VBGL_R3_SHARED) \
200 $(VBOX_LIB_OGL_CRUTIL) \
201 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
202if1of ($(KBUILD_TARGET), linux solaris freebsd)
203 VBoxOGL_LIBS += \
204 $(PATH_STAGE_LIB)/libXcomposite.so \
205 $(PATH_STAGE_LIB)/libXdamage.so \
206 $(PATH_STAGE_LIB)/libXfixes.so \
207 $(PATH_STAGE_LIB)/libXext.so
208 ifdef VBoxOGL_FAKEDRI
209 VBoxOGL_LIBS += \
210 dl
211 endif
212endif
213ifdef VBOX_WITH_CRHGSMI
214VBoxOGL_DEFS.win += VBOX_WITH_CRHGSMI
215endif
216ifdef VBOX_WITH_WDDM
217VBoxOGL_DEFS.win += VBOX_WITH_WDDM
218endif
219
220ifdef VBOX_WITH_WDDM
221#
222# VBoxOGL-x86 - x86 VBoxOGL version built for amd64 build
223#
224DLLS.win.amd64 += VBoxOGL-x86
225VBoxOGL-x86_EXTENDS = VBoxOGL
226VBoxOGL-x86_BLD_TRG_ARCH = x86
227VBoxOGL-x86_LIBS = $(VBOX_LIB_IPRT_GUEST_R3_SHARED_X86) \
228 $(VBOX_LIB_VBGL_R3_SHARED_X86) \
229 $(VBOX_LIB_OGL_CRUTIL_X86) \
230 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB)
231VBoxOGL-x86_SOURCES.win = $(subst cropengl.def,cropengl-x86.def,$(VBoxOGL_SOURCES.win))
232VBoxOGL-x86_CLEAN.win = $(subst cropengl.def,cropengl-x86.def,$(VBoxOGL_CLEAN.win))
233VBoxOGL-x86_DEFS = $(VBoxOGL_DEFS) VBOX_WDDM_WOW64
234endif
235
236#
237# Generate files for VBoxOGL.
238#
239$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
240 $(call MSG_GENERATE,python,$@,$<)
241 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
242$(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
243 $(call MSG_GENERATE,python,$@,$<)
244 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
245
246ifeq ($(KBUILD_TARGET),win)
247$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
248 $(call MSG_GENERATE,python,$@,$<)
249 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
250 ifeq ($(KBUILD_TARGET_ARCH),amd64)
251$(VBOX_PATH_CROGL_GENFILES)/cropengl.def: $(PATH_SUB_CURRENT)/defs64.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
252 $(call MSG_GENERATE,python,$@,$<)
253 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
254 else
255$(VBOX_PATH_CROGL_GENFILES)/cropengl.def: $(PATH_SUB_CURRENT)/defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
256 $(call MSG_GENERATE,python,$@,$<)
257 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
258 endif
259$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
260 $(call MSG_GENERATE,python,$@,$<)
261 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
262$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm: \
263 $(PATH_SUB_CURRENT)/windows_i386_exports.py \
264 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
265 | $$(dir $$@)
266 $(call MSG_GENERATE,python,$@,$<)
267 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
268 ifdef VBOX_WITH_WDDM
269 ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.amd64)
270$(VBOX_PATH_CROGL_GENFILES)/cropengl-x86.def: $(PATH_SUB_CURRENT)/defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
271 $(call MSG_GENERATE,python,$@,$<)
272 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
273 endif #ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.amd64)
274 endif #ifdef VBOX_WITH_WDDM
275else if1of ($(KBUILD_TARGET), linux solaris freebsd)
276$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
277 $(call MSG_GENERATE,python,$@,$<)
278 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
279if !defined(VBoxOGL_DRI) && !defined(VBoxOGL_FAKEDRI)
280 ifeq ($(KBUILD_TARGET),solaris)
281$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
282 $(PATH_SUB_CURRENT)/SunOS_exports.py \
283 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
284 | $$(dir $$@)
285 $(call MSG_GENERATE,python,$@,$<)
286 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
287 else ifeq ($(KBUILD_TARGET),freebsd)
288$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c: \
289 $(PATH_SUB_CURRENT)/FreeBSD_exports.py \
290 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
291 | $$(dir $$@)
292 $(call MSG_GENERATE,python,$@,$<)
293 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
294 else
295$(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm: \
296 $(PATH_SUB_CURRENT)/Linux_i386_exports.py \
297 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
298 | $$(dir $$@)
299 $(call MSG_GENERATE,python,$@,$<)
300 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
301 endif
302else ifdef VBoxOGL_DRI
303$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
304 $(call MSG_GENERATE,python,$@,$<)
305 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
306$(VBOX_PATH_CROGL_GENFILES)/DD_gl.h: $(PATH_SUB_CURRENT)/DD_glh.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
307 $(call MSG_GENERATE,python,$@,$<)
308 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
309$(VBOX_PATH_CROGL_GENFILES)/DD_gl.c: $(PATH_SUB_CURRENT)/DD_glc.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
310 $(call MSG_GENERATE,python,$@,$<)
311 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
312 ifeq ($(KBUILD_TARGET),solaris)
313$(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm: \
314 $(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
315 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
316 | $$(dir $$@)
317 $(call MSG_GENERATE,python,$@,$<)
318 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
319 else ifeq ($(KBUILD_TARGET),freebsd)
320$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm: \
321 $(PATH_SUB_CURRENT)/FreeBSD_i386_exports_dri.py \
322 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
323 | $$(dir $$@)
324 $(call MSG_GENERATE,python,$@,$<)
325 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
326 else
327$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
328 $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
329 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
330 | $$(dir $$@)
331 $(call MSG_GENERATE,python,$@,$<)
332 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
333 endif
334else ifdef VBoxOGL_FAKEDRI
335$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
336 $(call MSG_GENERATE,python,$@,$<)
337 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
338 ifndef VBOX_OGL_GLX_USE_CSTUBS
339 ifeq ($(KBUILD_TARGET),solaris)
340$(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm: \
341 $(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
342 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
343 | $$(dir $$@)
344 $(call MSG_GENERATE,python,$@,$<)
345 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
346$(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm: $(PATH_SUB_CURRENT)/SunOS_i386_glxapi_exports.py | $$(dir $$@)
347 $(call MSG_GENERATE,python,$@,$<)
348 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
349 else
350$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
351 $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
352 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
353 | $$(dir $$@)
354 $(call MSG_GENERATE,python,$@,$<)
355 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
356$(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm: $(PATH_SUB_CURRENT)/Linux_i386_glxapi_exports.py | $$(dir $$@)
357 $(call MSG_GENERATE,python,$@,$<)
358 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
359 endif
360 else
361 ifeq ($(KBUILD_TARGET),solaris)
362$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
363 $(PATH_SUB_CURRENT)/SunOS_exports.py \
364 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
365 | $$(dir $$@)
366 $(call MSG_GENERATE,python,$@,$<)
367 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
368 else
369$(VBOX_PATH_CROGL_GENFILES)/linux_exports.c: \
370 $(PATH_SUB_CURRENT)/Linux_exports.py \
371 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
372 | $$(dir $$@)
373 $(call MSG_GENERATE,python,$@,$<)
374 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
375 endif
376 endif # VBOX_OGL_GLX_USE_CSTUBS
377endif
378endif
379
380#
381# VBoxOGLarrayspu
382#
383VBoxOGLarrayspu_TEMPLATE = VBOXCROGLR3GUESTDLL
384VBoxOGLarrayspu_INCS = \
385 array
386if1of ($(KBUILD_TARGET), linux solaris freebsd)
387 VBoxOGLarrayspu_INCS += \
388 $(VBOX_MESA_INCS)
389endif
390if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
391 VBoxOGLarrayspu_INSTTYPE.win = none
392 VBoxOGLarrayspu_DEBUG_INSTTYPE.win = both
393endif
394VBoxOGLarrayspu_INCS.darwin += $(PATH_OUT)/obj/VBoxOGL
395VBoxOGLarrayspu_INTERMEDIATES = \
396 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
397 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
398VBoxOGLarrayspu_SOURCES = \
399 array/arrayspu.c \
400 array/arrayspu_config.c \
401 array/arrayspu_init.c
402VBoxOGLarrayspu_SOURCES.win = \
403 array/arrayspu.def \
404 array/arrayspu.rc
405VBoxOGLarrayspu_LIBS = \
406 $(VBOX_LIB_OGL_CRUTIL) \
407 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
408 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
409ifdef VBOX_WITH_CRHGSMI
410VBoxOGLarrayspu_DEFS.win += VBOX_WITH_CRHGSMI
411endif
412ifdef VBOX_WITH_WDDM
413VBoxOGLarrayspu_DEFS.win += VBOX_WITH_WDDM
414endif
415
416ifdef VBOX_WITH_WDDM
417#
418# VBoxOGLarrayspu-x86 - x86 version of VBoxOGLarrayspu built for amd64 build
419#
420DLLS.win.amd64 += VBoxOGLarrayspu-x86
421VBoxOGLarrayspu-x86_EXTENDS = VBoxOGLarrayspu
422VBoxOGLarrayspu-x86_BLD_TRG_ARCH = x86
423VBoxOGLarrayspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86) \
424 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB) \
425 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate-x86$(VBOX_SUFF_LIB)
426VBoxOGLarrayspu-x86_DEFS = $(VBoxOGLarrayspu_DEFS) VBOX_WDDM_WOW64
427endif
428
429#
430# VBoxOGLpassthroughspu
431#
432VBoxOGLpassthroughspu_TEMPLATE = VBOXCROGLR3GUESTDLL
433VBoxOGLpassthroughspu_INCS = \
434 passthrough
435if1of ($(KBUILD_TARGET), linux solaris freebsd)
436 VBoxOGLpassthroughspu_INCS += \
437 $(VBOX_MESA_INCS)
438endif
439if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
440 VBoxOGLpassthroughspu_INSTTYPE.win = none
441 VBoxOGLpassthroughspu_DEBUG_INSTTYPE.win = both
442endif
443VBoxOGLpassthroughspu_SOURCES = \
444 passthrough/passthroughspu_init.c \
445 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
446VBoxOGLpassthroughspu_SOURCES.win = \
447 passthrough/passthrough.def \
448 passthrough/passthroughspu.rc
449VBoxOGLpassthroughspu_CLEAN = \
450 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
451VBoxOGLpassthroughspu_LIBS = \
452 $(VBOX_LIB_OGL_CRUTIL)
453ifdef VBOX_WITH_CRHGSMI
454VBoxOGLpassthroughspu_DEFS.win += VBOX_WITH_CRHGSMI
455endif
456ifdef VBOX_WITH_WDDM
457VBoxOGLpassthroughspu_DEFS.win += VBOX_WITH_WDDM
458endif
459
460ifdef VBOX_WITH_WDDM
461#
462# VBoxOGLpassthroughspu-x86 - x86 version of VBoxOGLpassthroughspu built for amd64 build
463#
464DLLS.win.amd64 += VBoxOGLpassthroughspu-x86
465VBoxOGLpassthroughspu-x86_EXTENDS = VBoxOGLpassthroughspu
466VBoxOGLpassthroughspu-x86_BLD_TRG_ARCH = x86
467VBoxOGLpassthroughspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86)
468VBoxOGLpassthroughspu-x86_DEFS = $(VBoxOGLpassthroughspu_DEFS) VBOX_WDDM_WOW64
469endif
470
471#
472# Generate files for VBoxOGLpassthroughspu.
473#
474$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c: $(PATH_SUB_CURRENT)/passthrough/passthrough.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
475 $(call MSG_GENERATE,python,$@,$<)
476 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
477
478#
479# VBoxOGLpackspu
480#
481VBoxOGLpackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
482VBoxOGLpackspu_DEFS = TRACKS_STATE=1 PACKS=1
483VBoxOGLpackspu_INCS = \
484 pack
485if1of ($(KBUILD_TARGET), linux solaris freebsd)
486 VBoxOGLpackspu_INCS += \
487 $(VBOX_MESA_INCS)
488endif
489if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
490 VBoxOGLpackspu_INSTTYPE.win = none
491 VBoxOGLpackspu_DEBUG_INSTTYPE.win = both
492endif
493VBoxOGLpackspu_INTERMEDIATES = \
494 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
495 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h
496VBoxOGLpackspu_SOURCES = \
497 pack/packspu_bufferobject.c \
498 pack/packspu_client.c \
499 pack/packspu_config.c \
500 pack/packspu_context.c \
501 pack/packspu_getstring.c \
502 pack/packspu_init.c \
503 pack/packspu_misc.c \
504 pack/packspu_net.c \
505 pack/packspu_swapbuf.c \
506 pack/packspu_pixel.c \
507 pack/packspu_texture.c \
508 pack/packspu_getshaders.c \
509 pack/packspu_glsl.c \
510 pack/packspu_framebuffer.c \
511 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
512 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
513 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
514 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
515VBoxOGLpackspu_SOURCES.win = \
516 pack/pack.def \
517 pack/packspu.rc
518VBoxOGLpackspu_CLEAN = \
519 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
520 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
521 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
522 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
523 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
524VBoxOGLpackspu_LIBS = \
525 $(VBOX_LIB_OGL_CRUTIL) \
526 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
527 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
528 $(PATH_STAGE_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
529ifdef VBOX_WITH_CRHGSMI
530VBoxOGLpackspu_DEFS.win += VBOX_WITH_CRHGSMI
531endif
532ifdef VBOX_WITH_WDDM
533VBoxOGLpackspu_DEFS.win += VBOX_WITH_WDDM
534endif
535
536ifdef VBOX_WITH_WDDM
537#
538# VBoxOGLpackspu-x86 - x86 version of VBoxOGLpackspu built for amd64 build
539#
540DLLS.win.amd64 += VBoxOGLpackspu-x86
541VBoxOGLpackspu-x86_EXTENDS = VBoxOGLpackspu
542VBoxOGLpackspu-x86_BLD_TRG_ARCH = x86
543VBoxOGLpackspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86) \
544 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB) \
545 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate-x86$(VBOX_SUFF_LIB) \
546 $(PATH_STAGE_LIB)/additions/VBoxOGLcrpacker-x86$(VBOX_SUFF_LIB)
547VBoxOGLpackspu-x86_DEFS = $(VBoxOGLpackspu_DEFS) VBOX_WDDM_WOW64
548endif
549
550#
551# Generate files for VBoxOGLpackspu.
552#
553$(VBOX_PATH_CROGL_GENFILES)/packspu.c: $(addprefix $(PATH_SUB_CURRENT)/pack/,pack.py packspu_special packspu_unimplemented_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
554 $(call MSG_GENERATE,python,$@,$<)
555 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
556
557$(VBOX_PATH_CROGL_GENFILES)/packspu_get.c: $(PATH_SUB_CURRENT)/pack/packspu_get.py $(PATH_SUB_CURRENT)/pack/packspu_special $(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib/get_sizes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
558 $(call MSG_GENERATE,python,$@,$<)
559 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
560
561$(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c: $(PATH_SUB_CURRENT)/pack/packspu_flush.py $(PATH_SUB_CURRENT)/pack/packspu_flush_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
562 $(call MSG_GENERATE,python,$@,$<)
563 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
564
565$(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c: $(PATH_SUB_CURRENT)/pack/packspu_beginend.py $(PATH_SUB_CURRENT)/pack/packspu_vertex_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
566 $(call MSG_GENERATE,python,$@,$<)
567 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
568
569$(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h: $(addprefix $(PATH_SUB_CURRENT)/pack/,packspu_proto.py packspu_special packspu_unimplemented_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
570 $(call MSG_GENERATE,python,$@,$<)
571 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
572
573#
574# VBoxOGLfeedbackspu
575#
576VBoxOGLfeedbackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
577VBoxOGLfeedbackspu_INCS = \
578 feedback
579if1of ($(KBUILD_TARGET), linux solaris freebsd)
580 VBoxOGLfeedbackspu_INCS += \
581 $(VBOX_MESA_INCS)
582endif
583if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
584 VBoxOGLfeedbackspu_INSTTYPE.win = none
585 VBoxOGLfeedbackspu_DEBUG_INSTTYPE.win = both
586endif
587VBoxOGLarrayspu_INTERMEDIATES = \
588 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h
589VBoxOGLfeedbackspu_SOURCES = \
590 feedback/feedbackspu_config.c \
591 feedback/feedbackspu_init.c \
592 feedback/feedback_context.c \
593 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
594 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
595VBoxOGLfeedbackspu_SOURCES.win = \
596 feedback/feedback.def \
597 feedback/feedbackspu.rc
598VBoxOGLfeedbackspu_CLEAN = \
599 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h \
600 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
601 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
602VBoxOGLfeedbackspu_LIBS = \
603 $(VBOX_LIB_OGL_CRUTIL) \
604 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
605 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
606ifdef VBOX_WITH_CRHGSMI
607VBoxOGLfeedbackspu_DEFS.win += VBOX_WITH_CRHGSMI
608endif
609ifdef VBOX_WITH_WDDM
610VBoxOGLfeedbackspu_DEFS.win += VBOX_WITH_WDDM
611endif
612
613ifdef VBOX_WITH_WDDM
614#
615# VBoxOGLfeedbackspu-x86 - x86 version of VBoxOGLfeedbackspu built for amd64 build
616#
617DLLS.win.amd64 += VBoxOGLfeedbackspu-x86
618VBoxOGLfeedbackspu-x86_EXTENDS = VBoxOGLfeedbackspu
619VBoxOGLfeedbackspu-x86_BLD_TRG_ARCH = x86
620VBoxOGLfeedbackspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86) \
621 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB) \
622 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate-x86$(VBOX_SUFF_LIB)
623VBoxOGLfeedbackspu-x86_DEFS = $(VBoxOGLfeedbackspu_DEFS) VBOX_WDDM_WOW64
624endif
625
626#
627# Generate files for VBoxOGLfeedbackspu.
628#
629$(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedback.py feedback_special select_special feedback_state_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
630 $(call MSG_GENERATE,python,$@,$<)
631 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
632
633$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedback_state.py feedback_state_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
634 $(call MSG_GENERATE,python,$@,$<)
635 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
636
637$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedbackspu_proto.py feedback_special select_special feedback_state_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
638 $(call MSG_GENERATE,python,$@,$<)
639 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
640
641include $(FILE_KBUILD_SUB_FOOTER)
642
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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