VirtualBox

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

Last change on this file since 23399 was 23399, checked in by vboxsync, 15 years ago

crOpenGL: cache uniforms info

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 18.4 KB
Line 
1# $Id: Makefile.kmk 23399 2009-09-29 05:04:38Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest OpenGL part
4#
5
6#
7# Copyright (C) 2008 Sun Microsystems, Inc.
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# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18# Clara, CA 95054 USA or visit http://www.sun.com if you need
19# additional information or have any questions.
20#
21
22SUB_DEPTH = ../../../../..
23include $(KBUILD_PATH)/subheader.kmk
24
25#
26# Target lists.
27#
28BLDDIRS += \
29 $(VBOX_PATH_CROGL_GENFILES)/
30
31DLLS.win += \
32 VBoxOGL \
33 VBoxOGLarrayspu \
34 VBoxOGLpassthroughspu \
35 VBoxOGLpackspu \
36 VBoxOGLfeedbackspu
37
38if1of ($(KBUILD_TARGET),linux solaris)
39DLLS += \
40 VBoxOGL \
41 VBoxOGLarrayspu \
42 VBoxOGLpassthroughspu \
43 VBoxOGLpackspu \
44 VBoxOGLfeedbackspu
45endif
46
47if1of ($(KBUILD_TARGET),linux solaris)
48 #VBoxOGL_DRI = 1
49 ifneq ($(KBUILD_TARGET),solaris) # No DRI on Solaris yet
50 VBoxOGL_FAKEDRI = 1
51 endif
52# VBOX_PATH_MESA_SOURCE = $(PATH_ROOT)/src/libs/mesa-7.2
53 VBOX_PATH_MESA_SOURCE = $(VBOX_PATH_X11_ROOT)/mesa-7.2
54
55 # Only Solaris right now needs C stubs because I can't figure out how to
56 # generate the GOT based relocation ASM yet.
57 ifeq ($(KBUILD_TARGET),solaris)
58 ifdef VBoxOGL_FAKEDRI
59 VBOX_OGL_GLX_USE_CSTUBS = 1
60 endif
61 endif
62endif
63
64
65#
66# VBoxOGL
67#
68VBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL
69VBoxOGL_INCS = .
70if1of ($(KBUILD_TARGET),linux solaris)
71 VBoxOGL_INCS += \
72 $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \
73 $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \
74 $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \
75 $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \
76 $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \
77 $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \
78 $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \
79 $(VBOX_PATH_X11_ROOT)/1.3/xorg \
80 $(VBOX_PATH_MESA_SOURCE) \
81 $(VBOX_PATH_MESA_SOURCE)/include \
82 $(VBOX_PATH_MESA_SOURCE)/src/mesa/ \
83 $(VBOX_PATH_MESA_SOURCE)/src/mesa/glapi \
84 $(VBOX_PATH_MESA_SOURCE)/src/mesa/main \
85 $(VBOX_PATH_MESA_SOURCE)/src/mesa/drivers/dri/common \
86 $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
87 VBoxOGL_DEFS += VBOX_NO_NATIVEGL
88endif
89ifdef VBoxOGL_DRI
90 VBoxOGL_DEFS += VBOXOGL_DRI IN_DRI_DRIVER
91else ifdef VBoxOGL_FAKEDRI
92 VBoxOGL_DEFS += VBOXOGL_FAKEDRI
93 VBoxOGL_DEFS.solaris += VBOX_OGL_GLX_USE_CSTUBS
94endif
95ifeq ($(KBUILD_TARGET),win)
96#fixme?, INTERMEDIATES.win ain't working
97 VBoxOGL_INTERMEDIATES += $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
98endif
99ifdef VBoxOGL_DRI
100 VBoxOGL_INTERMEDIATES += \
101 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \
102 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.h
103else ifdef VBoxOGL_FAKEDRI
104 VBoxOGL_INTERMEDIATES += \
105 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
106endif
107VBoxOGL_SOURCES += \
108 load.c \
109 stub.c \
110 context.c \
111 $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
112 $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
113 $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
114
115if1of ($(KBUILD_TARGET),linux solaris)
116 VBoxOGL_SOURCES += \
117 glx.c \
118 xfont.c
119 ifdef VBOX_OGL_GLX_USE_CSTUBS
120 VBoxOGL_SOURCES += glx_c_exports.c
121 endif
122
123 ifdef VBoxOGL_DRI
124 VBoxOGL_SOURCES += \
125 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.c \
126 dri_drv.c
127 VBoxOGL_SOURCES.linux += \
128 $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm
129 VBoxOGL_SOURCES.solaris += \
130 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm
131 else ifdef VBoxOGL_FAKEDRI
132 VBoxOGL_SOURCES += \
133 fakedri_drv.c
134 VBoxOGL_SOURCES.linux += \
135 $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm \
136 $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm
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 else
142 VBoxOGL_SOURCES.solaris += \
143 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
144 endif
145 else
146 VBoxOGL_SOURCES.linux += \
147 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
148 VBoxOGL_SOURCES.solaris += \
149 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
150 endif
151endif
152
153VBoxOGL_SOURCES.win = \
154 wgl.c \
155 icd_drv.c \
156 VBoxCROGL.rc \
157 $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
158 $(VBOX_PATH_CROGL_GENFILES)/cropengl.def
159VBoxOGL_CLEAN = \
160 $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
161 $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
162 $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
163VBoxOGL_CLEAN.linux += \
164 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
165VBoxOGL_CLEAN.solaris += \
166 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
167VBoxOGL_CLEAN.win = \
168 $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
169 $(VBOX_PATH_CROGL_GENFILES)/cropengl.def
170if1of ($(KBUILD_TARGET),linux solaris)
171 ifdef VBoxOGL_DRI
172 VBoxOGL_CLEAN += \
173 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \
174 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.h \
175 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.c
176 else ifdef VBoxOGL_FAKEDRI
177 VBoxOGL_CLEAN += \
178 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
179 VBoxOGL_CLEAN.linux += \
180 $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm
181 VBoxOGL_CLEAN.solaris += \
182 $(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm
183 endif
184endif
185VBoxOGL_LIBS = \
186 $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
187 $(VBOX_LIB_VBGL_R3_SHARED) \
188 $(VBOX_LIB_OGL_CRUTIL) \
189 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
190if1of ($(KBUILD_TARGET),linux solaris)
191 VBoxOGL_LIBS += \
192 $(PATH_LIB)/libXcomposite.so
193 ifdef VBoxOGL_FAKEDRI
194 VBoxOGL_LIBS += \
195 dl
196 endif
197endif
198
199#
200# Generate files for VBoxOGL.
201#
202$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
203 $(call MSG_GENERATE,python,$@,$<)
204 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
205$(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
206 $(call MSG_GENERATE,python,$@,$<)
207 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
208
209ifeq ($(KBUILD_TARGET),win)
210$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
211 $(call MSG_GENERATE,python,$@,$<)
212 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
213$(VBOX_PATH_CROGL_GENFILES)/cropengl.def: $(PATH_SUB_CURRENT)/defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
214 $(call MSG_GENERATE,python,$@,$<)
215 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
216$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
217 $(call MSG_GENERATE,python,$@,$<)
218 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
219$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm: \
220 $(PATH_SUB_CURRENT)/windows_i386_exports.py \
221 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
222 | $$(dir $$@)
223 $(call MSG_GENERATE,python,$@,$<)
224 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
225else if1of ($(KBUILD_TARGET),linux solaris)
226$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
227 $(call MSG_GENERATE,python,$@,$<)
228 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
229if !defined(VBoxOGL_DRI) && !defined(VBoxOGL_FAKEDRI)
230 ifeq ($(KBUILD_TARGET),solaris)
231$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
232 $(PATH_SUB_CURRENT)/SunOS_exports.py \
233 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
234 | $$(dir $$@)
235 $(call MSG_GENERATE,python,$@,$<)
236 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
237 else
238$(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm: \
239 $(PATH_SUB_CURRENT)/Linux_i386_exports.py \
240 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
241 | $$(dir $$@)
242 $(call MSG_GENERATE,python,$@,$<)
243 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
244 endif
245else ifdef VBoxOGL_DRI
246$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
247 $(call MSG_GENERATE,python,$@,$<)
248 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
249$(VBOX_PATH_CROGL_GENFILES)/DD_gl.h: $(PATH_SUB_CURRENT)/DD_glh.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
250 $(call MSG_GENERATE,python,$@,$<)
251 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
252$(VBOX_PATH_CROGL_GENFILES)/DD_gl.c: $(PATH_SUB_CURRENT)/DD_glc.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
253 $(call MSG_GENERATE,python,$@,$<)
254 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
255 ifeq ($(KBUILD_TARGET),solaris)
256$(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm: \
257 $(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
258 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
259 | $$(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 else
263$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
264 $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
265 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
266 | $$(dir $$@)
267 $(call MSG_GENERATE,python,$@,$<)
268 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
269 endif
270else ifdef VBoxOGL_FAKEDRI
271$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
272 $(call MSG_GENERATE,python,$@,$<)
273 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
274 ifndef VBOX_OGL_GLX_USE_CSTUBS
275 ifeq ($(KBUILD_TARGET),solaris)
276$(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm: \
277 $(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
278 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
279 | $$(dir $$@)
280 $(call MSG_GENERATE,python,$@,$<)
281 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
282$(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm: $(PATH_SUB_CURRENT)/SunOS_i386_glxapi_exports.py | $$(dir $$@)
283 $(call MSG_GENERATE,python,$@,$<)
284 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
285 else
286$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
287 $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.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$(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm: $(PATH_SUB_CURRENT)/Linux_i386_glxapi_exports.py | $$(dir $$@)
293 $(call MSG_GENERATE,python,$@,$<)
294 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
295 endif
296 else
297 # @todo linux if required
298 ifeq ($(KBUILD_TARGET),solaris)
299$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
300 $(PATH_SUB_CURRENT)/SunOS_exports.py \
301 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
302 | $$(dir $$@)
303 $(call MSG_GENERATE,python,$@,$<)
304 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
305 endif
306 endif # VBOX_OGL_GLX_USE_CSTUBS
307endif
308endif
309
310#
311# VBoxOGLarrayspu
312#
313VBoxOGLarrayspu_TEMPLATE = VBOXCROGLR3GUESTDLL
314VBoxOGLarrayspu_INCS = \
315 array
316VBoxOGLarrayspu_INCS.darwin += $(PATH_OUT)/obj/VBoxOGL
317VBoxOGLarrayspu_INTERMEDIATES = \
318 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
319 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
320VBoxOGLarrayspu_SOURCES = \
321 array/arrayspu.c \
322 array/arrayspu_config.c \
323 array/arrayspu_init.c
324VBoxOGLarrayspu_SOURCES.win = \
325 array/arrayspu.def \
326 array/arrayspu.rc
327VBoxOGLarrayspu_LIBS = \
328 $(VBOX_LIB_OGL_CRUTIL) \
329 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
330 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
331
332#
333# VBoxOGLpassthroughspu
334#
335VBoxOGLpassthroughspu_TEMPLATE = VBOXCROGLR3GUESTDLL
336VBoxOGLpassthroughspu_INCS = \
337 passthrough
338VBoxOGLpassthroughspu_SOURCES = \
339 passthrough/passthroughspu_init.c \
340 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
341VBoxOGLpassthroughspu_SOURCES.win = \
342 passthrough/passthrough.def \
343 passthrough/passthroughspu.rc
344VBoxOGLpassthroughspu_CLEAN = \
345 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
346VBoxOGLpassthroughspu_LIBS = \
347 $(VBOX_LIB_OGL_CRUTIL)
348
349#
350# Generate files for VBoxOGLpassthroughspu.
351#
352$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c: $(PATH_SUB_CURRENT)/passthrough/passthrough.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
353 $(call MSG_GENERATE,python,$@,$<)
354 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
355
356#
357# VBoxOGLpackspu
358#
359VBoxOGLpackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
360VBoxOGLpackspu_DEFS = TRACKS_STATE=1 PACKS=1
361VBoxOGLpackspu_INCS = \
362 pack
363VBoxOGLpackspu_INTERMEDIATES = \
364 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
365 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h
366VBoxOGLpackspu_SOURCES = \
367 pack/packspu_bufferobject.c \
368 pack/packspu_client.c \
369 pack/packspu_config.c \
370 pack/packspu_context.c \
371 pack/packspu_getstring.c \
372 pack/packspu_init.c \
373 pack/packspu_misc.c \
374 pack/packspu_net.c \
375 pack/packspu_swapbuf.c \
376 pack/packspu_pixel.c \
377 pack/packspu_texture.c \
378 pack/packspu_getshaders.c \
379 pack/packspu_glsl.c \
380 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
381 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
382 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
383 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
384VBoxOGLpackspu_SOURCES.win = \
385 pack/pack.def \
386 pack/packspu.rc
387VBoxOGLpackspu_CLEAN = \
388 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
389 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
390 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
391 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
392 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
393VBoxOGLpackspu_LIBS = \
394 $(VBOX_LIB_OGL_CRUTIL) \
395 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
396 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
397 $(PATH_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
398
399#
400# Generate files for VBoxOGLpackspu.
401#
402$(VBOX_PATH_CROGL_GENFILES)/packspu.c: $(addprefix $(PATH_SUB_CURRENT)/pack/,pack.py packspu_special packspu_unimplemented_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
403 $(call MSG_GENERATE,python,$@,$<)
404 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
405
406$(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 $$@)
407 $(call MSG_GENERATE,python,$@,$<)
408 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
409
410$(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 $$@)
411 $(call MSG_GENERATE,python,$@,$<)
412 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
413
414$(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 $$@)
415 $(call MSG_GENERATE,python,$@,$<)
416 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
417
418$(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 $$@)
419 $(call MSG_GENERATE,python,$@,$<)
420 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
421
422#
423# VBoxOGLfeedbackspu
424#
425VBoxOGLfeedbackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
426VBoxOGLfeedbackspu_INCS = \
427 feedback
428VBoxOGLarrayspu_INTERMEDIATES = \
429 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h
430VBoxOGLfeedbackspu_SOURCES = \
431 feedback/feedbackspu_config.c \
432 feedback/feedbackspu_init.c \
433 feedback/feedback_context.c \
434 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
435 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
436VBoxOGLfeedbackspu_SOURCES.win = \
437 feedback/feedback.def \
438 feedback/feedbackspu.rc
439VBoxOGLfeedbackspu_CLEAN = \
440 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h \
441 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
442 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
443VBoxOGLfeedbackspu_LIBS = \
444 $(VBOX_LIB_OGL_CRUTIL) \
445 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
446 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
447
448#
449# Generate files for VBoxOGLfeedbackspu.
450#
451$(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 $$@)
452 $(call MSG_GENERATE,python,$@,$<)
453 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
454
455$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedback_state.py feedback_state_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
456 $(call MSG_GENERATE,python,$@,$<)
457 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
458
459$(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 $$@)
460 $(call MSG_GENERATE,python,$@,$<)
461 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
462
463include $(KBUILD_PATH)/subfooter.kmk
464
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