VirtualBox

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

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

/Makefile.kmk: Cosmetic changes.

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