VirtualBox

source: vbox/trunk/src/VBox/GuestHost/OpenGL/Makefile.kmk@ 16646

Last change on this file since 16646 was 16287, checked in by vboxsync, 16 years ago

GuestHost/OGL/Makefile: using EXTENDS_BY = prepending is simpler here.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 24.1 KB
Line 
1# $Id: Makefile.kmk 16287 2009-01-27 23:40:04Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest/Host OpenGL part
4#
5
6#
7# Copyright (C) 2008 Sun Microsystems, Inc.
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18# Clara, CA 95054 USA or visit http://www.sun.com if you need
19# additional information or have any questions.
20#
21
22SUB_DEPTH = ../../../..
23include $(KBUILD_PATH)/subheader.kmk
24
25
26#
27# Target lists.
28#
29BLDDIRS += \
30 $(VBOX_PATH_CROGL_GENFILES)/ \
31 $(VBOX_PATH_CROGL_GENFILES)/state/
32
33ifdef VBOX_WITH_ADDITIONS
34 DLLS += VBoxOGLcrutil VBoxOGLerrorspu
35 LIBRARIES += VBoxOGLcrpacker VBoxOGLspuload VBoxOGLcrstate
36endif
37
38ifndef VBOX_ONLY_ADDITIONS
39 DLLS += VBoxOGLhostcrutil VBoxOGLhosterrorspu
40 LIBRARIES += VBoxOGLhostcrpacker VBoxOGLhostspuload VBoxOGLhostcrstate
41endif
42
43
44#
45# Globals
46#
47if1of ($(KBUILD_HOST), win)
48 VBOX_CROGL_GUEST_HOST_PYTHONPATH := $(VBOX_PATH_CROGL_GLAPI);$(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer;$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib
49else
50 VBOX_CROGL_GUEST_HOST_PYTHONPATH := $(VBOX_PATH_CROGL_GLAPI):$(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer:$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib
51endif
52
53
54#
55# OpenGL templates.
56#
57TEMPLATE_VBOXCROGLR3HOST = VBox OpenGL Host DLLs/Libraries
58TEMPLATE_VBOXCROGLR3HOST_EXTENDS = VBOXR3NP
59TEMPLATE_VBOXCROGLR3HOST_EXTENDS_BY = prepending
60TEMPLATE_VBOXCROGLR3HOST_DEFS = CHROMIUM_THREADSAFE VBOX_WITH_HGCM UNPACKS
61TEMPLATE_VBOXCROGLR3HOST_DEFS.win = _WIN32_WINNT=0x0500 WINDOWS=1
62TEMPLATE_VBOXCROGLR3HOST_DEFS.linux = Linux=1
63TEMPLATE_VBOXCROGLR3HOST_DEFS.solaris = SunOS=1 GLEXT_64_TYPES_DEFINED
64TEMPLATE_VBOXCROGLR3HOST_DEFS.darwin = DARWIN=1 GL_GLEXT_LEGACY
65TEMPLATE_VBOXCROGLR3HOST_INCS = $(VBOX_PATH_CROGL_INCLUDE) $(VBOX_PATH_CROGL_GENFILES)
66TEMPLATE_VBOXCROGLR3HOST_SDKS.darwin = DARWIN-OPENGL
67TEMPLATE_VBOXCROGLR3HOST_LDFLAGS.darwin = \
68 -framework Carbon \
69 -framework OpenGL \
70 -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
71TEMPLATE_VBOXCROGLR3HOST_LDFLAGS.linux = -Wl,--no-as-needed
72TEMPLATE_VBOXCROGLR3HOST_BLDDIRS = $(VBOX_PATH_CROGL_GENFILES)/
73
74TEMPLATE_VBOXCROGLR3GUESTDLL = VBox OpenGL Guest DLLs
75TEMPLATE_VBOXCROGLR3GUESTDLL_EXTENDS = VBOXGUESTR3NPDLL
76TEMPLATE_VBOXCROGLR3GUESTDLL_EXTENDS_BY = prepending
77TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS = CHROMIUM_THREADSAFE VBOX_WITH_HGCM
78TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS.win = _WIN32_WINNT=0x0500 WINDOWS=1
79TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS.linux = Linux=1
80TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS.solaris = SunOS=1 GLEXT_64_TYPES_DEFINED
81TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS.darwin = DARWIN=1 GL_GLEXT_LEGACY
82TEMPLATE_VBOXCROGLR3GUESTDLL_INCS = $(VBOX_PATH_CROGL_INCLUDE) $(VBOX_PATH_CROGL_GENFILES)
83TEMPLATE_VBOXCROGLR3GUESTDLL_SDKS.darwin = DARWIN-OPENGL
84TEMPLATE_VBOXCROGLR3GUESTDLL_LDFLAGS.darwin = \
85 -framework Carbon \
86 -framework OpenGL \
87 -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
88TEMPLATE_VBOXCROGLR3GUESTDLL_BLDDIRS = $(VBOX_PATH_CROGL_GENFILES)/
89
90TEMPLATE_VBOXCROGLR3GUESTLIB = VBox OpenGL Guest Libraries
91TEMPLATE_VBOXCROGLR3GUESTLIB_EXTENDS = VBOXCROGLR3GUESTDLL
92TEMPLATE_VBOXCROGLR3GUESTLIB_INST = $(INST_ADDITIONS_LIB)
93
94
95#
96# VBoxOGLcrutil
97#
98VBoxOGLcrutil_TEMPLATE = VBOXCROGLR3GUESTDLL
99VBoxOGLcrutil_SDKS.win = DXSDK
100VBoxOGLcrutil_INTERMEDIATES = $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h
101VBoxOGLcrutil_SOURCES = \
102 util/bbox.c \
103 util/bufpool.c \
104 util/calllists.c \
105 util/devnull.c \
106 util/dll.c \
107 util/endian.c \
108 util/environment.c \
109 util/error.c \
110 util/filenet.c \
111 util/hash.c \
112 util/hull.c \
113 util/list.c \
114 util/matrix.c \
115 util/mem.c \
116 util/net.c \
117 util/pixel.c \
118 util/process.c \
119 util/rand.c \
120 util/string.c \
121 util/threads.c \
122 util/tcpip.c \
123 util/udptcpip.c \
124 util/timer.c \
125 util/url.c \
126 util/warp.c \
127 util/vboxhgcm.c \
128 $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
129VBoxOGLcrutil_SOURCES.win.x86 = \
130 util/util.def
131VBoxOGLcrutil_LIBS.win = \
132 $(PATH_SDK_DXSDK_LIB)/ddraw.lib \
133 $(PATH_SDK_DXSDK_LIB)/dxguid.lib
134VBoxOGLcrutil_CLEAN = \
135 $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
136
137# vc7 hangs during compilation of this file when optimizations are enabled.
138VBoxOGLcrutil_pixel.c_CFLAGS.win.x86 += -Od
139VBoxOGLhostcrutil_pixel.c_CFLAGS.win.x86 += -Od
140
141#
142# VBoxOGLhostcrutil
143#
144VBoxOGLhostcrutil_EXTENDS = VBoxOGLcrutil
145VBoxOGLhostcrutil_TEMPLATE = VBOXCROGLR3HOST
146VBoxOGLhostcrutil_LDFLAGS.darwin = $(VBoxOGLcrutil_LDFLAGS.darwin) \
147 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhostcrutil.dylib \
148 -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
149## @todo kBuild bug, possibly same as ticket #51: PATH_SDK_DXSDK_LIB is expanded too early.
150# Update. bug 51 was fixed.
151# Still fails as PATH_SDK_DXSDK_LIB is empty.
152## @todo kBuild: recheck this (note to self).
153VBoxOGLhostcrutil_LIBS.win = $(VBoxOGLcrutil_LIBS.win)
154VBoxOGLhostcrutil_LIBS = $(LIB_RUNTIME)
155
156#
157# Generate files for VBoxOGLcrutil and VBoxOGLhostcrutil.
158#
159$(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c: $(PATH_SUB_CURRENT)/util/debug_opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
160 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
161
162
163#
164# VBoxOGLcrpacker
165#
166VBoxOGLcrpacker_TEMPLATE = VBOXCROGLR3GUESTLIB
167VBoxOGLcrpacker_INCS = \
168 packer
169VBoxOGLcrpacker_INTERMEDIATES = \
170 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
171 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
172 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
173 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
174VBoxOGLcrpacker_SOURCES = \
175 packer/pack_arrays.c \
176 packer/pack_beginend.c \
177 packer/pack_bounds.c \
178 packer/pack_buffer.c \
179 packer/pack_bufferobject.c \
180 packer/pack_client.c \
181 packer/pack_clipplane.c \
182 packer/pack_context.c \
183 packer/pack_error.c \
184 packer/pack_extensions.c \
185 packer/pack_feedback.c \
186 packer/pack_fence.c \
187 packer/pack_fog.c \
188 packer/pack_init.c \
189 packer/pack_lights.c \
190 packer/pack_lists.c \
191 packer/pack_swap_lists.c \
192 packer/pack_map.c \
193 packer/pack_point.c \
194 packer/pack_swap_map.c \
195 packer/pack_misc.c \
196 packer/pack_materials.c \
197 packer/pack_matrices.c \
198 packer/pack_pixels.c \
199 packer/pack_pixelmap.c \
200 packer/pack_swap_pixelmap.c \
201 packer/pack_program.c \
202 packer/pack_regcombiner.c \
203 packer/pack_stipple.c \
204 packer/pack_texture.c \
205 packer/pack_swap_texture.c \
206 packer/pack_visibleregion.c \
207 $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
208 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
209 $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
210 $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
211 $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
212 $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
213 $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
214 $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
215 $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
216 $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
217 $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
218 $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
219 $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
220 $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
221 $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
222 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
223 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
224 $(VBOX_PATH_CROGL_GENFILES)/packer.c
225VBoxOGLcrpacker_CLEAN = \
226 $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
227 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
228 $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
229 $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
230 $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
231 $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
232 $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
233 $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
234 $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
235 $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
236 $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
237 $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
238 $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
239 $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
240 $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
241 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
242 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
243 $(VBOX_PATH_CROGL_GENFILES)/packer.c \
244 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
245 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
246 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h
247## @todo r=bird: Why does a library target have LIBS?
248ifeq ($(KBUILD_TARGET),win)
249 VBoxOGLcrpacker_LIBS = \
250 $(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB)
251else
252 VBoxOGLcrpacker_LIBS = \
253 $(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL)
254endif
255
256#
257# VBoxOGLhostcrpacker
258#
259VBoxOGLhostcrpacker_EXTENDS = VBoxOGLcrpacker
260VBoxOGLhostcrpacker_TEMPLATE = VBOXCROGLR3HOST
261## @todo r=bird: Why does a library target have LIBS?
262ifeq ($(KBUILD_TARGET),win)
263 VBoxOGLhostcrpacker_LIBS = \
264 $(PATH_OBJ)/VBoxOGLhostcrutil/VBoxOGLhostcrutil$(VBOX_SUFF_LIB)
265else
266 VBoxOGLhostcrpacker_LIBS = \
267 $(PATH_BIN)/VBoxOGLhostcrutil$(VBOX_SUFF_DLL)
268endif
269
270#
271# Generate files for VBoxOGLcrpacker and VBoxOGLhostcrpacker.
272#
273$(VBOX_PATH_CROGL_GENFILES)/packer.def: $(PATH_SUB_CURRENT)/packer/packer_defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
274 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
275
276$(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h: $(PATH_SUB_CURRENT)/packer/pack_header.py $(PATH_SUB_CURRENT)/packer/packer_special $(API_FILES) | $$(dir $$@)
277 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
278
279$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h: $(PATH_SUB_CURRENT)/packer/opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
280 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
281
282$(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h: $(PATH_SUB_CURRENT)/packer/pack_currentheader.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $(VBOX_PATH_CROGL_GENFILES)) $$(dir $$@)
283 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $<
284
285$(VBOX_PATH_CROGL_GENFILES)/packer.c: $(PATH_SUB_CURRENT)/packer/packer.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
286 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
287
288$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c: $(PATH_SUB_CURRENT)/packer/packer_bbox.py | $$(dir $$@)
289 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
290
291$(VBOX_PATH_CROGL_GENFILES)/pack_current.c: $(PATH_SUB_CURRENT)/packer/pack_current.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $$@)
292 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $<
293
294$(VBOX_PATH_CROGL_GENFILES)/%_swap.c: $(PATH_SUB_CURRENT)/packer/%.c $(PATH_SUB_CURRENT)/packer/pack_swap.py | $$(dir $$@)
295 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/pack_swap.py $<
296
297
298#
299# VBoxOGLspuload
300#
301VBoxOGLspuload_TEMPLATE = VBOXCROGLR3GUESTLIB
302## @todo r=bird: Why is this not an INTERMEDIATE?
303VBoxOGLspuload_DEPS = \
304 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
305VBoxOGLspuload_SOURCES = \
306 spu_loader/spuinit.c \
307 spu_loader/spuload.c \
308 spu_loader/choosevisual.c \
309 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
310 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
311 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
312 $(VBOX_PATH_CROGL_GENFILES)/glloader.c
313VBoxOGLspuload_CLEAN = \
314 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
315 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
316 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
317 $(VBOX_PATH_CROGL_GENFILES)/glloader.c \
318 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
319ifeq ($(KBUILD_TARGET),win)
320 VBoxOGLspuload_LIBS = \
321 $(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB)
322else
323 VBoxOGLspuload_LIBS = \
324 $(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL)
325endif
326
327#
328# VBoxOGLspuload
329#
330VBoxOGLhostspuload_EXTENDS = VBoxOGLspuload
331VBoxOGLhostspuload_TEMPLATE = VBOXCROGLR3HOST
332ifeq ($(KBUILD_TARGET),win)
333 VBoxOGLhostspuload_LIBS.win = \
334 $(PATH_OBJ)/VBoxOGLhostcrutil/VBoxOGLhostcrutil$(VBOX_SUFF_LIB)
335else
336 VBoxOGLhostspuload_LIBS += \
337 $(PATH_BIN)/VBoxOGLhostcrutil$(VBOX_SUFF_DLL)
338endif
339
340#
341# Generate files for VBoxOGLspuload and VBoxOGLspuload.
342#
343$(VBOX_PATH_CROGL_GENFILES)/dispatch.c: $(PATH_SUB_CURRENT)/spu_loader/dispatch.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
344 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
345
346$(VBOX_PATH_CROGL_GENFILES)/spucopy.c: $(PATH_SUB_CURRENT)/spu_loader/spucopy.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
347 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
348
349$(VBOX_PATH_CROGL_GENFILES)/spuchange.c: $(PATH_SUB_CURRENT)/spu_loader/spuchange.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
350 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
351
352$(VBOX_PATH_CROGL_GENFILES)/glloader.c: $(PATH_SUB_CURRENT)/spu_loader/glloader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
353 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
354
355$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h: $(PATH_SUB_CURRENT)/spu_loader/dispatchheader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
356 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
357
358
359#
360# VBoxOGLcrstate
361#
362VBoxOGLcrstate_TEMPLATE = VBOXCROGLR3GUESTLIB
363VBoxOGLcrstate_INCS = \
364 state_tracker
365VBoxOGLcrstate_INTERMEDIATES = \
366 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
367 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
368 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
369VBoxOGLcrstate_SOURCES = \
370 state_tracker/state_attrib.c \
371 state_tracker/state_buffer.c \
372 state_tracker/state_bufferobject.c \
373 state_tracker/state_client.c \
374 state_tracker/state_current.c \
375 state_tracker/state_diff.c \
376 state_tracker/state_enable.c \
377 state_tracker/state_error.c \
378 state_tracker/state_evaluators.c \
379 state_tracker/state_feedback.c \
380 state_tracker/state_fence.c \
381 state_tracker/state_flush.c \
382 state_tracker/state_fog.c \
383 state_tracker/state_getstring.c \
384 state_tracker/state_hint.c \
385 state_tracker/state_init.c \
386 state_tracker/state_lighting.c \
387 state_tracker/state_limits.c \
388 state_tracker/state_line.c \
389 state_tracker/state_lists.c \
390 state_tracker/state_multisample.c \
391 state_tracker/state_occlude.c \
392 state_tracker/state_pixel.c \
393 state_tracker/state_point.c \
394 state_tracker/state_polygon.c \
395 state_tracker/state_program.c \
396 state_tracker/state_rasterpos.c \
397 state_tracker/state_regcombiner.c \
398 state_tracker/state_stencil.c \
399 state_tracker/state_texture.c \
400 state_tracker/state_teximage.c \
401 state_tracker/state_texdiff.c \
402 state_tracker/state_transform.c \
403 state_tracker/state_viewport.c \
404 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
405 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
406 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
407 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
408 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
409 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
410 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
411 $(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c \
412 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
413 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
414 $(VBOX_PATH_CROGL_GENFILES)/state_stencil_gen.c \
415 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
416 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
417 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c
418VBoxOGLcrstate_CLEAN = \
419 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
420 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
421 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
422 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
423 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
424 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
425 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
426 $(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c \
427 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
428 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
429 $(VBOX_PATH_CROGL_GENFILES)/state_stencil_gen.c \
430 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
431 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
432 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c \
433 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
434ifeq ($(KBUILD_TARGET),win)
435 VBoxOGLcrstate_LIBS = \
436 $(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB) \
437 $(PATH_LIB)/VBoxOGLspuload$(VBOX_SUFF_LIB)
438else
439 VBoxOGLcrstate_LIBS = \
440 $(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL) \
441 $(VBOX_PATH_ADDITIONS)/VBoxOGLspuload$(VBOX_SUFF_DLL)
442endif
443
444#
445# VBoxOGLhostcrstate
446#
447VBoxOGLhostcrstate_EXTENDS = VBoxOGLcrstate
448VBoxOGLhostcrstate_TEMPLATE = VBOXCROGLR3HOST
449VBoxOGLhostcrstate_SOURCES = \
450 $(VBoxOGLcrstate_SOURCES) \
451 state_tracker/state_snapshot.c
452ifeq ($(KBUILD_TARGET),win)
453 VBoxOGLhostcrstate_LIBS = \
454 $(PATH_OBJ)/VBoxOGLhostcrutil/VBoxOGLhostcrutil$(VBOX_SUFF_LIB) \
455 $(PATH_LIB)/VBoxOGLhostspuload$(VBOX_SUFF_LIB) \
456 $(LIB_VMM)
457else
458 VBoxOGLhostcrstate_LIBS = \
459 $(PATH_BIN)/VBoxOGLhostcrutil$(VBOX_SUFF_DLL) \
460 $(PATH_BIN)/VBoxOGLhostspuload$(VBOX_SUFF_DLL) \
461 $(LIB_VMM)
462endif
463
464#
465# Generate files for VBoxOGLcrstate and VBoxOGLhostcrstate.
466#
467$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_buffer.txt gendiffcode.py) | $$(dir $$@)
468 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py buffer Buffer $(<D)
469
470$(VBOX_PATH_CROGL_GENFILES)/state_client_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_client.txt gendiffcode.py) | $$(dir $$@)
471 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py client Client $(<D)
472
473$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_current.py convert.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
474 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/state_current.py
475
476$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_fog.txt gendiffcode.py) | $$(dir $$@)
477 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py fog Fog $(<D)
478
479$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_hint.txt gendiffcode.py) | $$(dir $$@)
480 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py hint Hint $(<D)
481
482$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_lighting.txt gendiffcode.py) | $$(dir $$@)
483 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py lighting Lighting $(<D)
484
485$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_line.txt gendiffcode.py) | $$(dir $$@)
486 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py line Line $(<D)
487
488$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_multisample.txt gendiffcode.py) | $$(dir $$@)
489 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py multisample Multisample $(<D)
490
491$(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_point.txt gendiffcode.py) | $$(dir $$@)
492 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py point Point $(<D)
493
494$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_polygon.txt gendiffcode.py) | $$(dir $$@)
495 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py polygon Polygon $(<D)
496
497$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_regcombiner.txt gendiffcode.py) | $$(dir $$@)
498 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py regcombiner RegCombiner $(<D)
499
500$(VBOX_PATH_CROGL_GENFILES)/state_stencil_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_stencil.txt gendiffcode.py) | $$(dir $$@)
501 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py stencil Stencil $(<D)
502
503$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_viewport.txt gendiffcode.py) | $$(dir $$@)
504 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py viewport Viewport $(<D)
505
506$(VBOX_PATH_CROGL_GENFILES)/state_get.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_get.py state_get.txt state_extensions_get.txt) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
507 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/state_get.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
508
509$(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_isenabled.py state_isenabled.txt state_extensions_isenabled.txt) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
510 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/state_isenabled.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
511
512$(VBOX_PATH_CROGL_GENFILES)/state.def: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_defs.py state_special state_select_special state_feedback_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
513 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/state_defs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
514
515$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_funcs.py state_special state_feedback_special state_select_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
516 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $(<D)/state_funcs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
517
518
519#
520# VBoxOGLerrorspu
521# @remark See HostServices/OpenGL/Makefile for and explanation of the gl.h
522# and glu.h intermediate files on darwin.
523#
524VBoxOGLerrorspu_TEMPLATE = VBOXCROGLR3GUESTDLL
525VBoxOGLerrorspu_INTERMEDIATES = \
526 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
527VBoxOGLerrorspu_SOURCES = \
528 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c \
529 error/errorspu_init.c
530VBoxOGLerrorspu_SOURCES.win.x86 = \
531 error/error.def
532VBoxOGLerrorspu_CLEAN = \
533 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c
534ifeq ($(KBUILD_TARGET),win)
535 VBoxOGLerrorspu_LIBS = \
536 $(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB)
537else
538 VBoxOGLerrorspu_LIBS = \
539 $(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL)
540endif
541
542#
543# VBoxOGLhosterrorspu
544#
545VBoxOGLhosterrorspu_EXTENDS = VBoxOGLerrorspu
546VBoxOGLhosterrorspu_TEMPLATE = VBOXCROGLR3HOST
547VBoxOGLhosterrorspu_LDFLAGS.darwin += $(VBoxOGLerrorspu_LDFLAGS.darwin) \
548 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhosterrorspu.dylib \
549 -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
550ifeq ($(KBUILD_TARGET),win)
551 VBoxOGLhosterrorspu_LIBS = \
552 $(PATH_OBJ)/VBoxOGLhostcrutil/VBoxOGLhostcrutil$(VBOX_SUFF_LIB)
553else
554 VBoxOGLhosterrorspu_LIBS = \
555 $(PATH_BIN)/VBoxOGLhostcrutil$(VBOX_SUFF_DLL)
556endif
557VBoxOGLhosterrorspu_LIBS += \
558 $(LIB_RUNTIME)
559
560#
561# Generate files for VBoxOGLerrorspu and VBoxOGLerrorspu.
562#
563$(VBOX_PATH_CROGL_GENFILES)/errorspu.c: $(PATH_SUB_CURRENT)/error/error.py $(VBOX_CROGL_API_FILES)
564 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_CROGL_GUEST_HOST_PYTHONPATH),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
565
566include $(KBUILD_PATH)/subfooter.kmk
567
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette