VirtualBox

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

Last change on this file since 50041 was 50030, checked in by vboxsync, 11 years ago

Additions/linux: back out single bit-count Additions package experiment. Forgotten chunk.

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