VirtualBox

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

Last change on this file since 38082 was 38082, checked in by vboxsync, 13 years ago

*.kmk: Installation/staging adjustments (kBuild 0.2.0 preps).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 23.9 KB
Line 
1# $Id: Makefile.kmk 38082 2011-07-20 14:26:24Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest OpenGL part
4#
5
6#
7# Copyright (C) 2008 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
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_PATH_X11_ROOT)/1.3/xorg \
74 $(VBOX_MESA_INCS) \
75 $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
76 VBoxOGL_DEFS += VBOX_NO_NATIVEGL
77endif
78
79ifdef VBoxOGL_DRI
80 VBoxOGL_DEFS += VBOXOGL_DRI IN_DRI_DRIVER
81else ifdef VBoxOGL_FAKEDRI
82 VBoxOGL_DEFS += VBOXOGL_FAKEDRI
83 ifdef VBOX_OGL_GLX_USE_CSTUBS
84 VBoxOGL_DEFS += VBOX_OGL_GLX_USE_CSTUBS
85 endif
86endif
87
88ifdef VBOX_WITH_WDDM
89 VBoxOGL_DEFS.win += VBOX_WITH_WDDM
90 VBoxOGL_SDKS.win += WINDDKWLH
91endif
92
93ifeq ($(KBUILD_TARGET),win)
94#fixme?, INTERMEDIATES.win ain't working
95 VBoxOGL_INTERMEDIATES += $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
96 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
97 VBoxOGL_NOINST.win = true
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
213
214ifdef VBOX_WITH_WDDM
215#
216# VBoxOGL-x86 - x86 VBoxOGL version built for amd64 build
217#
218DLLS.win.amd64 += VBoxOGL-x86
219VBoxOGL-x86_EXTENDS = VBoxOGL
220VBoxOGL-x86_BLD_TRG_ARCH = x86
221VBoxOGL-x86_LIBS = $(VBOX_LIB_IPRT_GUEST_R3_SHARED_X86) \
222 $(VBOX_LIB_VBGL_R3_SHARED_X86) \
223 $(VBOX_LIB_OGL_CRUTIL_X86) \
224 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB)
225VBoxOGL-x86_SOURCES.win = $(subst cropengl.def,cropengl-x86.def,$(VBoxOGL_SOURCES.win))
226VBoxOGL-x86_CLEAN.win = $(subst cropengl.def,cropengl-x86.def,$(VBoxOGL_CLEAN.win))
227VBoxOGL-x86_DEFS = $(VBoxOGL_DEFS) VBOX_WDDM_WOW64
228endif
229
230#
231# Generate files for VBoxOGL.
232#
233$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
234 $(call MSG_GENERATE,python,$@,$<)
235 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
236$(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
237 $(call MSG_GENERATE,python,$@,$<)
238 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
239
240ifeq ($(KBUILD_TARGET),win)
241$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(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 ifeq ($(KBUILD_TARGET_ARCH),amd64)
245$(VBOX_PATH_CROGL_GENFILES)/cropengl.def: $(PATH_SUB_CURRENT)/defs64.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
246 $(call MSG_GENERATE,python,$@,$<)
247 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
248 else
249$(VBOX_PATH_CROGL_GENFILES)/cropengl.def: $(PATH_SUB_CURRENT)/defs.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 endif
253$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(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$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm: \
257 $(PATH_SUB_CURRENT)/windows_i386_exports.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 ifdef VBOX_WITH_WDDM
263 ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.amd64)
264$(VBOX_PATH_CROGL_GENFILES)/cropengl-x86.def: $(PATH_SUB_CURRENT)/defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
265 $(call MSG_GENERATE,python,$@,$<)
266 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
267 endif #ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.amd64)
268 endif #ifdef VBOX_WITH_WDDM
269else if1of ($(KBUILD_TARGET), linux solaris freebsd)
270$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.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)
273if !defined(VBoxOGL_DRI) && !defined(VBoxOGL_FAKEDRI)
274 ifeq ($(KBUILD_TARGET),solaris)
275$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
276 $(PATH_SUB_CURRENT)/SunOS_exports.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.c: \
283 $(PATH_SUB_CURRENT)/FreeBSD_exports.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.asm: \
290 $(PATH_SUB_CURRENT)/Linux_i386_exports.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_DRI
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$(VBOX_PATH_CROGL_GENFILES)/DD_gl.h: $(PATH_SUB_CURRENT)/DD_glh.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
301 $(call MSG_GENERATE,python,$@,$<)
302 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
303$(VBOX_PATH_CROGL_GENFILES)/DD_gl.c: $(PATH_SUB_CURRENT)/DD_glc.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 ifeq ($(KBUILD_TARGET),solaris)
307$(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm: \
308 $(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
309 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
310 | $$(dir $$@)
311 $(call MSG_GENERATE,python,$@,$<)
312 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
313 else ifeq ($(KBUILD_TARGET),freebsd)
314$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm: \
315 $(PATH_SUB_CURRENT)/FreeBSD_i386_exports_dri.py \
316 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
317 | $$(dir $$@)
318 $(call MSG_GENERATE,python,$@,$<)
319 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
320 else
321$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
322 $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
323 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
324 | $$(dir $$@)
325 $(call MSG_GENERATE,python,$@,$<)
326 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
327 endif
328else ifdef VBoxOGL_FAKEDRI
329$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(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 ifndef VBOX_OGL_GLX_USE_CSTUBS
333 ifeq ($(KBUILD_TARGET),solaris)
334$(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm: \
335 $(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
336 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
337 | $$(dir $$@)
338 $(call MSG_GENERATE,python,$@,$<)
339 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
340$(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm: $(PATH_SUB_CURRENT)/SunOS_i386_glxapi_exports.py | $$(dir $$@)
341 $(call MSG_GENERATE,python,$@,$<)
342 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
343 else
344$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
345 $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
346 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
347 | $$(dir $$@)
348 $(call MSG_GENERATE,python,$@,$<)
349 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
350$(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm: $(PATH_SUB_CURRENT)/Linux_i386_glxapi_exports.py | $$(dir $$@)
351 $(call MSG_GENERATE,python,$@,$<)
352 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
353 endif
354 else
355 ifeq ($(KBUILD_TARGET),solaris)
356$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
357 $(PATH_SUB_CURRENT)/SunOS_exports.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 else
363$(VBOX_PATH_CROGL_GENFILES)/linux_exports.c: \
364 $(PATH_SUB_CURRENT)/Linux_exports.py \
365 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
366 | $$(dir $$@)
367 $(call MSG_GENERATE,python,$@,$<)
368 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
369 endif
370 endif # VBOX_OGL_GLX_USE_CSTUBS
371endif
372endif
373
374#
375# VBoxOGLarrayspu
376#
377VBoxOGLarrayspu_TEMPLATE = VBOXCROGLR3GUESTDLL
378VBoxOGLarrayspu_INCS = \
379 array
380if1of ($(KBUILD_TARGET), linux solaris freebsd)
381 VBoxOGLarrayspu_INCS += \
382 $(VBOX_MESA_INCS)
383endif
384if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
385 VBoxOGLarrayspu_NOINST.win = true
386endif
387VBoxOGLarrayspu_INCS.darwin += $(PATH_OUT)/obj/VBoxOGL
388VBoxOGLarrayspu_INTERMEDIATES = \
389 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
390 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
391VBoxOGLarrayspu_SOURCES = \
392 array/arrayspu.c \
393 array/arrayspu_config.c \
394 array/arrayspu_init.c
395VBoxOGLarrayspu_SOURCES.win = \
396 array/arrayspu.def \
397 array/arrayspu.rc
398VBoxOGLarrayspu_LIBS = \
399 $(VBOX_LIB_OGL_CRUTIL) \
400 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
401 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
402
403ifdef VBOX_WITH_WDDM
404#
405# VBoxOGLarrayspu-x86 - x86 version of VBoxOGLarrayspu built for amd64 build
406#
407DLLS.win.amd64 += VBoxOGLarrayspu-x86
408VBoxOGLarrayspu-x86_EXTENDS = VBoxOGLarrayspu
409VBoxOGLarrayspu-x86_BLD_TRG_ARCH = x86
410VBoxOGLarrayspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86) \
411 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB) \
412 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate-x86$(VBOX_SUFF_LIB)
413VBoxOGLarrayspu-x86_DEFS = $(VBoxOGLarrayspu_DEFS) VBOX_WDDM_WOW64
414endif
415
416#
417# VBoxOGLpassthroughspu
418#
419VBoxOGLpassthroughspu_TEMPLATE = VBOXCROGLR3GUESTDLL
420VBoxOGLpassthroughspu_INCS = \
421 passthrough
422if1of ($(KBUILD_TARGET), linux solaris freebsd)
423 VBoxOGLpassthroughspu_INCS += \
424 $(VBOX_MESA_INCS)
425endif
426if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
427 VBoxOGLpassthroughspu_NOINST.win = true
428endif
429VBoxOGLpassthroughspu_SOURCES = \
430 passthrough/passthroughspu_init.c \
431 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
432VBoxOGLpassthroughspu_SOURCES.win = \
433 passthrough/passthrough.def \
434 passthrough/passthroughspu.rc
435VBoxOGLpassthroughspu_CLEAN = \
436 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
437VBoxOGLpassthroughspu_LIBS = \
438 $(VBOX_LIB_OGL_CRUTIL)
439
440ifdef VBOX_WITH_WDDM
441#
442# VBoxOGLpassthroughspu-x86 - x86 version of VBoxOGLpassthroughspu built for amd64 build
443#
444DLLS.win.amd64 += VBoxOGLpassthroughspu-x86
445VBoxOGLpassthroughspu-x86_EXTENDS = VBoxOGLpassthroughspu
446VBoxOGLpassthroughspu-x86_BLD_TRG_ARCH = x86
447VBoxOGLpassthroughspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86)
448VBoxOGLpassthroughspu-x86_DEFS = $(VBoxOGLpassthroughspu_DEFS) VBOX_WDDM_WOW64
449endif
450
451#
452# Generate files for VBoxOGLpassthroughspu.
453#
454$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c: $(PATH_SUB_CURRENT)/passthrough/passthrough.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
455 $(call MSG_GENERATE,python,$@,$<)
456 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
457
458#
459# VBoxOGLpackspu
460#
461VBoxOGLpackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
462VBoxOGLpackspu_DEFS = TRACKS_STATE=1 PACKS=1
463VBoxOGLpackspu_INCS = \
464 pack
465if1of ($(KBUILD_TARGET), linux solaris freebsd)
466 VBoxOGLpackspu_INCS += \
467 $(VBOX_MESA_INCS)
468endif
469if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
470 VBoxOGLpackspu_NOINST.win = true
471endif
472VBoxOGLpackspu_INTERMEDIATES = \
473 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
474 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h
475VBoxOGLpackspu_SOURCES = \
476 pack/packspu_bufferobject.c \
477 pack/packspu_client.c \
478 pack/packspu_config.c \
479 pack/packspu_context.c \
480 pack/packspu_getstring.c \
481 pack/packspu_init.c \
482 pack/packspu_misc.c \
483 pack/packspu_net.c \
484 pack/packspu_swapbuf.c \
485 pack/packspu_pixel.c \
486 pack/packspu_texture.c \
487 pack/packspu_getshaders.c \
488 pack/packspu_glsl.c \
489 pack/packspu_framebuffer.c \
490 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
491 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
492 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
493 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
494VBoxOGLpackspu_SOURCES.win = \
495 pack/pack.def \
496 pack/packspu.rc
497VBoxOGLpackspu_CLEAN = \
498 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
499 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
500 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
501 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
502 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
503VBoxOGLpackspu_LIBS = \
504 $(VBOX_LIB_OGL_CRUTIL) \
505 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
506 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
507 $(PATH_STAGE_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
508
509ifdef VBOX_WITH_WDDM
510#
511# VBoxOGLpackspu-x86 - x86 version of VBoxOGLpackspu built for amd64 build
512#
513DLLS.win.amd64 += VBoxOGLpackspu-x86
514VBoxOGLpackspu-x86_EXTENDS = VBoxOGLpackspu
515VBoxOGLpackspu-x86_BLD_TRG_ARCH = x86
516VBoxOGLpackspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86) \
517 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB) \
518 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate-x86$(VBOX_SUFF_LIB) \
519 $(PATH_STAGE_LIB)/additions/VBoxOGLcrpacker-x86$(VBOX_SUFF_LIB)
520VBoxOGLpackspu-x86_DEFS = $(VBoxOGLpackspu_DEFS) VBOX_WDDM_WOW64
521endif
522
523#
524# Generate files for VBoxOGLpackspu.
525#
526$(VBOX_PATH_CROGL_GENFILES)/packspu.c: $(addprefix $(PATH_SUB_CURRENT)/pack/,pack.py packspu_special packspu_unimplemented_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
527 $(call MSG_GENERATE,python,$@,$<)
528 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
529
530$(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 $$@)
531 $(call MSG_GENERATE,python,$@,$<)
532 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
533
534$(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 $$@)
535 $(call MSG_GENERATE,python,$@,$<)
536 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
537
538$(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 $$@)
539 $(call MSG_GENERATE,python,$@,$<)
540 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
541
542$(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 $$@)
543 $(call MSG_GENERATE,python,$@,$<)
544 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
545
546#
547# VBoxOGLfeedbackspu
548#
549VBoxOGLfeedbackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
550VBoxOGLfeedbackspu_INCS = \
551 feedback
552if1of ($(KBUILD_TARGET), linux solaris freebsd)
553 VBoxOGLfeedbackspu_INCS += \
554 $(VBOX_MESA_INCS)
555endif
556if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
557 VBoxOGLfeedbackspu_NOINST.win = true
558endif
559VBoxOGLarrayspu_INTERMEDIATES = \
560 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h
561VBoxOGLfeedbackspu_SOURCES = \
562 feedback/feedbackspu_config.c \
563 feedback/feedbackspu_init.c \
564 feedback/feedback_context.c \
565 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
566 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
567VBoxOGLfeedbackspu_SOURCES.win = \
568 feedback/feedback.def \
569 feedback/feedbackspu.rc
570VBoxOGLfeedbackspu_CLEAN = \
571 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h \
572 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
573 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
574VBoxOGLfeedbackspu_LIBS = \
575 $(VBOX_LIB_OGL_CRUTIL) \
576 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
577 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
578
579ifdef VBOX_WITH_WDDM
580#
581# VBoxOGLfeedbackspu-x86 - x86 version of VBoxOGLfeedbackspu built for amd64 build
582#
583DLLS.win.amd64 += VBoxOGLfeedbackspu-x86
584VBoxOGLfeedbackspu-x86_EXTENDS = VBoxOGLfeedbackspu
585VBoxOGLfeedbackspu-x86_BLD_TRG_ARCH = x86
586VBoxOGLfeedbackspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86) \
587 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB) \
588 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate-x86$(VBOX_SUFF_LIB)
589VBoxOGLfeedbackspu-x86_DEFS = $(VBoxOGLfeedbackspu_DEFS) VBOX_WDDM_WOW64
590endif
591
592#
593# Generate files for VBoxOGLfeedbackspu.
594#
595$(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 $$@)
596 $(call MSG_GENERATE,python,$@,$<)
597 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
598
599$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedback_state.py feedback_state_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
600 $(call MSG_GENERATE,python,$@,$<)
601 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
602
603$(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 $$@)
604 $(call MSG_GENERATE,python,$@,$<)
605 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
606
607include $(KBUILD_PATH)/subfooter.kmk
608
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