VirtualBox

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

Last change on this file since 52195 was 52038, checked in by vboxsync, 11 years ago

crOpenGL: Removed duplicate targets.

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