VirtualBox

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

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

crOpenGL: fix text relocations in VBoxOGL.so for linux.amd64 (#4662)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 20.2 KB
Line 
1# $Id: Makefile.kmk 26283 2010-02-05 10:31:12Z 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 freebsd)
39DLLS += \
40 VBoxOGL \
41 VBoxOGLarrayspu \
42 VBoxOGLpassthroughspu \
43 VBoxOGLpackspu \
44 VBoxOGLfeedbackspu
45endif
46
47if1of ($(KBUILD_TARGET), linux solaris freebsd)
48 #VBoxOGL_DRI = 1
49 ifn1of ($(KBUILD_TARGET),solaris freebsd) # No DRI on Solaris yet
50 VBoxOGL_FAKEDRI = 1
51 endif
52
53 # Only Solaris right now needs C stubs because I can't figure out how to
54 # generate the GOT based relocation ASM yet.
55 ifdef VBoxOGL_FAKEDRI
56 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),solaris.x86 solaris.amd64 linux.x86 linux.amd64 freebsd.x86 freebsd.amd64)
57 VBOX_OGL_GLX_USE_CSTUBS = 1
58 endif
59 endif
60endif
61
62
63#
64# VBoxOGL
65#
66VBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL
67VBoxOGL_INCS = .
68if1of ($(KBUILD_TARGET), linux solaris freebsd)
69 VBoxOGL_INCS += \
70 $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \
71 $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \
72 $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \
73 $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \
74 $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \
75 $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \
76 $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \
77 $(VBOX_PATH_X11_ROOT)/1.3/xorg \
78 $(VBOX_MESA_INCS) \
79 $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
80 VBoxOGL_DEFS += VBOX_NO_NATIVEGL
81endif
82
83ifdef VBoxOGL_DRI
84 VBoxOGL_DEFS += VBOXOGL_DRI IN_DRI_DRIVER
85else ifdef VBoxOGL_FAKEDRI
86 VBoxOGL_DEFS += VBOXOGL_FAKEDRI
87 ifdef VBOX_OGL_GLX_USE_CSTUBS
88 VBoxOGL_DEFS += VBOX_OGL_GLX_USE_CSTUBS
89 endif
90endif
91
92ifeq ($(KBUILD_TARGET),win)
93#fixme?, INTERMEDIATES.win ain't working
94 VBoxOGL_INTERMEDIATES += $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
95endif
96ifdef VBoxOGL_DRI
97 VBoxOGL_INTERMEDIATES += \
98 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \
99 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.h
100else ifdef VBoxOGL_FAKEDRI
101 VBoxOGL_INTERMEDIATES += \
102 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
103endif
104VBoxOGL_SOURCES += \
105 load.c \
106 stub.c \
107 context.c \
108 $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
109 $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
110 $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
111
112if1of ($(KBUILD_TARGET), linux solaris freebsd)
113 VBoxOGL_SOURCES += \
114 glx.c \
115 xfont.c
116 ifdef VBOX_OGL_GLX_USE_CSTUBS
117 VBoxOGL_SOURCES += glx_c_exports.c
118 endif
119
120 ifdef VBoxOGL_DRI
121 VBoxOGL_SOURCES += \
122 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.c \
123 dri_drv.c
124 VBoxOGL_SOURCES.linux += \
125 $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm
126 VBoxOGL_SOURCES.solaris += \
127 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm
128 VBoxOGL_SOURCES.freebsd += \
129 $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm
130 else ifdef VBoxOGL_FAKEDRI
131 VBoxOGL_SOURCES += \
132 fakedri_drv.c
133 ifndef VBOX_OGL_GLX_USE_CSTUBS
134 VBoxOGL_SOURCES.solaris += \
135 $(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm \
136 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm \
137 VBoxOGL_SOURCES.linux += \
138 $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm \
139 $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm
140 VBoxOGL_SOURCES.freebsd += \
141 $(VBOX_PATH_CROGL_GENFILES)/freebsd_glxapi_exports.asm \
142 $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm \
143
144 else
145 VBoxOGL_SOURCES.solaris += \
146 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
147 VBoxOGL_SOURCES.linux += \
148 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.c
149 VBoxOGL_SOURCES.freebsd += \
150 $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c
151 endif
152 else
153 VBoxOGL_SOURCES.linux += \
154 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
155 VBoxOGL_SOURCES.solaris += \
156 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
157 VBoxOGL_SOURCES.freebsd += \
158 $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c
159 endif
160endif
161
162VBoxOGL_SOURCES.win = \
163 wgl.c \
164 icd_drv.c \
165 VBoxCROGL.rc \
166 $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
167 $(VBOX_PATH_CROGL_GENFILES)/cropengl.def
168VBoxOGL_CLEAN = \
169 $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
170 $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
171 $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
172VBoxOGL_CLEAN.linux += \
173 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
174VBoxOGL_CLEAN.solaris += \
175 $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
176VBoxOGL_CLEAN.win = \
177 $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
178 $(VBOX_PATH_CROGL_GENFILES)/cropengl.def
179if1of ($(KBUILD_TARGET), linux solaris)
180 ifdef VBoxOGL_DRI
181 VBoxOGL_CLEAN += \
182 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \
183 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.h \
184 $(VBOX_PATH_CROGL_GENFILES)/DD_gl.c
185 else ifdef VBoxOGL_FAKEDRI
186 VBoxOGL_CLEAN += \
187 $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
188 VBoxOGL_CLEAN.linux += \
189 $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm
190 VBoxOGL_CLEAN.solaris += \
191 $(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm
192 endif
193endif
194VBoxOGL_LIBS = \
195 $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
196 $(VBOX_LIB_VBGL_R3_SHARED) \
197 $(VBOX_LIB_OGL_CRUTIL) \
198 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
199if1of ($(KBUILD_TARGET), linux solaris freebsd)
200 VBoxOGL_LIBS += \
201 $(PATH_LIB)/libXcomposite.so \
202 $(PATH_LIB)/libXdamage.so \
203 $(PATH_LIB)/libXfixes.so \
204 $(PATH_LIB)/libXext.so
205 ifdef VBoxOGL_FAKEDRI
206 VBoxOGL_LIBS += \
207 dl
208 endif
209endif
210
211#
212# Generate files for VBoxOGL.
213#
214$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
215 $(call MSG_GENERATE,python,$@,$<)
216 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
217$(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
218 $(call MSG_GENERATE,python,$@,$<)
219 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
220
221ifeq ($(KBUILD_TARGET),win)
222$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(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)
225$(VBOX_PATH_CROGL_GENFILES)/cropengl.def: $(PATH_SUB_CURRENT)/defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
226 $(call MSG_GENERATE,python,$@,$<)
227 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
228$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
229 $(call MSG_GENERATE,python,$@,$<)
230 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
231$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm: \
232 $(PATH_SUB_CURRENT)/windows_i386_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)
237else if1of ($(KBUILD_TARGET), linux solaris freebsd)
238$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
239 $(call MSG_GENERATE,python,$@,$<)
240 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
241if !defined(VBoxOGL_DRI) && !defined(VBoxOGL_FAKEDRI)
242 ifeq ($(KBUILD_TARGET),solaris)
243$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
244 $(PATH_SUB_CURRENT)/SunOS_exports.py \
245 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
246 | $$(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 else ifeq ($(KBUILD_TARGET),freebsd)
250$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c: \
251 $(PATH_SUB_CURRENT)/FreeBSD_exports.py \
252 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
253 | $$(dir $$@)
254 $(call MSG_GENERATE,python,$@,$<)
255 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
256 else
257$(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm: \
258 $(PATH_SUB_CURRENT)/Linux_i386_exports.py \
259 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
260 | $$(dir $$@)
261 $(call MSG_GENERATE,python,$@,$<)
262 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
263 endif
264else ifdef VBoxOGL_DRI
265$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(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$(VBOX_PATH_CROGL_GENFILES)/DD_gl.h: $(PATH_SUB_CURRENT)/DD_glh.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$(VBOX_PATH_CROGL_GENFILES)/DD_gl.c: $(PATH_SUB_CURRENT)/DD_glc.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 ifeq ($(KBUILD_TARGET),solaris)
275$(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm: \
276 $(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
277 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
278 | $$(dir $$@)
279 $(call MSG_GENERATE,python,$@,$<)
280 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
281 else ifeq ($(KBUILD_TARGET),freebsd)
282$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm: \
283 $(PATH_SUB_CURRENT)/FreeBSD_i386_exports_dri.py \
284 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
285 | $$(dir $$@)
286 $(call MSG_GENERATE,python,$@,$<)
287 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
288 else
289$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
290 $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
291 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
292 | $$(dir $$@)
293 $(call MSG_GENERATE,python,$@,$<)
294 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
295 endif
296else ifdef VBoxOGL_FAKEDRI
297$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
298 $(call MSG_GENERATE,python,$@,$<)
299 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
300 ifndef VBOX_OGL_GLX_USE_CSTUBS
301 ifeq ($(KBUILD_TARGET),solaris)
302$(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm: \
303 $(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
304 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
305 | $$(dir $$@)
306 $(call MSG_GENERATE,python,$@,$<)
307 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
308$(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm: $(PATH_SUB_CURRENT)/SunOS_i386_glxapi_exports.py | $$(dir $$@)
309 $(call MSG_GENERATE,python,$@,$<)
310 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
311 else
312$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
313 $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
314 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
315 | $$(dir $$@)
316 $(call MSG_GENERATE,python,$@,$<)
317 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
318$(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm: $(PATH_SUB_CURRENT)/Linux_i386_glxapi_exports.py | $$(dir $$@)
319 $(call MSG_GENERATE,python,$@,$<)
320 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
321 endif
322 else
323 ifeq ($(KBUILD_TARGET),solaris)
324$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
325 $(PATH_SUB_CURRENT)/SunOS_exports.py \
326 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
327 | $$(dir $$@)
328 $(call MSG_GENERATE,python,$@,$<)
329 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
330 else
331$(VBOX_PATH_CROGL_GENFILES)/linux_exports.c: \
332 $(PATH_SUB_CURRENT)/Linux_exports.py \
333 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
334 | $$(dir $$@)
335 $(call MSG_GENERATE,python,$@,$<)
336 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
337 endif
338 endif # VBOX_OGL_GLX_USE_CSTUBS
339endif
340endif
341
342#
343# VBoxOGLarrayspu
344#
345VBoxOGLarrayspu_TEMPLATE = VBOXCROGLR3GUESTDLL
346VBoxOGLarrayspu_INCS = \
347 array
348if1of ($(KBUILD_TARGET), linux solaris freebsd)
349 VBoxOGLarrayspu_INCS += \
350 $(VBOX_MESA_INCS)
351endif
352VBoxOGLarrayspu_INCS.darwin += $(PATH_OUT)/obj/VBoxOGL
353VBoxOGLarrayspu_INTERMEDIATES = \
354 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
355 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
356VBoxOGLarrayspu_SOURCES = \
357 array/arrayspu.c \
358 array/arrayspu_config.c \
359 array/arrayspu_init.c
360VBoxOGLarrayspu_SOURCES.win = \
361 array/arrayspu.def \
362 array/arrayspu.rc
363VBoxOGLarrayspu_LIBS = \
364 $(VBOX_LIB_OGL_CRUTIL) \
365 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
366 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
367
368#
369# VBoxOGLpassthroughspu
370#
371VBoxOGLpassthroughspu_TEMPLATE = VBOXCROGLR3GUESTDLL
372VBoxOGLpassthroughspu_INCS = \
373 passthrough
374if1of ($(KBUILD_TARGET), linux solaris freebsd)
375 VBoxOGLpassthroughspu_INCS += \
376 $(VBOX_MESA_INCS)
377endif
378VBoxOGLpassthroughspu_SOURCES = \
379 passthrough/passthroughspu_init.c \
380 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
381VBoxOGLpassthroughspu_SOURCES.win = \
382 passthrough/passthrough.def \
383 passthrough/passthroughspu.rc
384VBoxOGLpassthroughspu_CLEAN = \
385 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
386VBoxOGLpassthroughspu_LIBS = \
387 $(VBOX_LIB_OGL_CRUTIL)
388
389#
390# Generate files for VBoxOGLpassthroughspu.
391#
392$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c: $(PATH_SUB_CURRENT)/passthrough/passthrough.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
393 $(call MSG_GENERATE,python,$@,$<)
394 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
395
396#
397# VBoxOGLpackspu
398#
399VBoxOGLpackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
400VBoxOGLpackspu_DEFS = TRACKS_STATE=1 PACKS=1
401VBoxOGLpackspu_INCS = \
402 pack
403if1of ($(KBUILD_TARGET), linux solaris freebsd)
404 VBoxOGLpackspu_INCS += \
405 $(VBOX_MESA_INCS)
406endif
407VBoxOGLpackspu_INTERMEDIATES = \
408 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
409 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h
410VBoxOGLpackspu_SOURCES = \
411 pack/packspu_bufferobject.c \
412 pack/packspu_client.c \
413 pack/packspu_config.c \
414 pack/packspu_context.c \
415 pack/packspu_getstring.c \
416 pack/packspu_init.c \
417 pack/packspu_misc.c \
418 pack/packspu_net.c \
419 pack/packspu_swapbuf.c \
420 pack/packspu_pixel.c \
421 pack/packspu_texture.c \
422 pack/packspu_getshaders.c \
423 pack/packspu_glsl.c \
424 pack/packspu_framebuffer.c \
425 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
426 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
427 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
428 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
429VBoxOGLpackspu_SOURCES.win = \
430 pack/pack.def \
431 pack/packspu.rc
432VBoxOGLpackspu_CLEAN = \
433 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
434 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
435 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
436 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
437 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
438VBoxOGLpackspu_LIBS = \
439 $(VBOX_LIB_OGL_CRUTIL) \
440 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
441 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
442 $(PATH_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
443
444#
445# Generate files for VBoxOGLpackspu.
446#
447$(VBOX_PATH_CROGL_GENFILES)/packspu.c: $(addprefix $(PATH_SUB_CURRENT)/pack/,pack.py packspu_special packspu_unimplemented_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
448 $(call MSG_GENERATE,python,$@,$<)
449 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
450
451$(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 $$@)
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)/packspu_flush.c: $(PATH_SUB_CURRENT)/pack/packspu_flush.py $(PATH_SUB_CURRENT)/pack/packspu_flush_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)/packspu_beginend.c: $(PATH_SUB_CURRENT)/pack/packspu_beginend.py $(PATH_SUB_CURRENT)/pack/packspu_vertex_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
463$(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 $$@)
464 $(call MSG_GENERATE,python,$@,$<)
465 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
466
467#
468# VBoxOGLfeedbackspu
469#
470VBoxOGLfeedbackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
471VBoxOGLfeedbackspu_INCS = \
472 feedback
473if1of ($(KBUILD_TARGET), linux solaris freebsd)
474 VBoxOGLfeedbackspu_INCS += \
475 $(VBOX_MESA_INCS)
476endif
477VBoxOGLarrayspu_INTERMEDIATES = \
478 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h
479VBoxOGLfeedbackspu_SOURCES = \
480 feedback/feedbackspu_config.c \
481 feedback/feedbackspu_init.c \
482 feedback/feedback_context.c \
483 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
484 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
485VBoxOGLfeedbackspu_SOURCES.win = \
486 feedback/feedback.def \
487 feedback/feedbackspu.rc
488VBoxOGLfeedbackspu_CLEAN = \
489 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h \
490 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
491 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
492VBoxOGLfeedbackspu_LIBS = \
493 $(VBOX_LIB_OGL_CRUTIL) \
494 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
495 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
496
497#
498# Generate files for VBoxOGLfeedbackspu.
499#
500$(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 $$@)
501 $(call MSG_GENERATE,python,$@,$<)
502 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
503
504$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedback_state.py feedback_state_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
505 $(call MSG_GENERATE,python,$@,$<)
506 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
507
508$(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 $$@)
509 $(call MSG_GENERATE,python,$@,$<)
510 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
511
512include $(KBUILD_PATH)/subfooter.kmk
513
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