VirtualBox

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

Last change on this file since 43406 was 43296, checked in by vboxsync, 12 years ago

Additions/common/crOpenGL: make fakedri_drv use more in-tree headers.

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