VirtualBox

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

Last change on this file since 45410 was 45382, checked in by vboxsync, 12 years ago

GuestHost/OpenGL: Don't try build the additions bits on darwin yet.

  • 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 45382 2013-04-05 15:02:34Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest/Host OpenGL part
4#
5
6#
7# Copyright (C) 2008-2013 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#
23# Target lists.
24#
25BLDDIRS += \
26 $(VBOX_PATH_CROGL_GENFILES)/ \
27 $(VBOX_PATH_CROGL_GENFILES)/state/
28
29ifdef VBOX_WITH_ADDITIONS
30 ifn1of ($(KBUILD_TARGET), darwin os2)
31 VBOX_WITH_CROGL_ADDITIONS = 1
32 endif
33endif
34
35ifdef VBOX_WITH_CROGL_ADDITIONS
36 DLLS += VBoxOGLcrutil VBoxOGLerrorspu
37 LIBRARIES += VBoxOGLcrpacker VBoxOGLspuload VBoxOGLcrstate
38endif
39
40ifndef VBOX_ONLY_ADDITIONS
41 DLLS += VBoxOGLhostcrutil VBoxOGLhosterrorspu
42 LIBRARIES += VBoxOGLhostcrpacker VBoxOGLhostspuload VBoxOGLhostcrstate
43endif
44
45#
46# VBoxOGLcrutil
47#
48VBoxOGLcrutil_TEMPLATE = VBOXCROGLR3GUESTDLL
49if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
50 VBoxOGLcrutil_INSTTYPE.win = none
51 VBoxOGLcrutil_DEBUG_INSTTYPE.win = both
52endif
53VBoxOGLcrutil_SDKS.win = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK)
54VBoxOGLcrutil_INTERMEDIATES = $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h
55if1of ($(KBUILD_TARGET), linux solaris freebsd)
56 VBoxOGLcrutil_INCS += \
57 $(VBOX_MESA_INCS)
58endif
59VBoxOGLcrutil_SOURCES = \
60 util/bbox.c \
61 util/bufpool.c \
62 util/calllists.c \
63 util/devnull.c \
64 util/dll.c \
65 util/endian.c \
66 util/environment.c \
67 util/error.c \
68 util/filenet.c \
69 util/hash.c \
70 util/hull.c \
71 util/list.c \
72 util/matrix.c \
73 util/mem.c \
74 util/net.c \
75 util/pixel.c \
76 util/process.c \
77 util/rand.c \
78 util/string.c \
79 util/threads.c \
80 util/tcpip.c \
81 util/udptcpip.c \
82 util/timer.c \
83 util/url.c \
84 util/warp.c \
85 util/vreg.cpp \
86 util/blitter.cpp \
87 util/vboxhgcm.c \
88 $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
89VBoxOGLcrutil_SOURCES.win.x86 = \
90 util/util.def \
91 util/util.rc
92VBoxOGLcrutil_LIBS.win = \
93 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
94 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib
95VBoxOGLcrutil_LIBS = \
96 $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
97 $(VBOX_LIB_VBGL_R3_SHARED)
98ifdef VBOX_WITH_CRHGSMI
99VBoxOGLcrutil_DEFS.win += VBOX_WITH_CRHGSMI
100VBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
101endif
102ifdef VBOX_WITH_WDDM
103VBoxOGLcrutil_DEFS.win += VBOX_WITH_WDDM
104VBoxOGLcrutil_DEFS.win += CR_DEBUG_BACKDOOR_ENABLE
105VBoxOGLcrutil_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
106VBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB)
107endif
108VBoxOGLcrutil_CLEAN = \
109 $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
110
111# vc7 hangs during compilation of this file when optimizations are enabled.
112VBoxOGLcrutil_pixel.c_CFLAGS.win.x86 += -Od
113VBoxOGLhostcrutil_pixel.c_CFLAGS.win.x86 += -Od
114
115if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
116#
117# VBoxOGLcrutil-x86 - x86 VBoxOGLcrutil version built for amd64 build
118#
119DLLS.win.amd64 += VBoxOGLcrutil-x86
120VBoxOGLcrutil-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
121VBoxOGLcrutil-x86_EXTENDS = VBoxOGLcrutil
122VBoxOGLcrutil-x86_BLD_TRG_ARCH = x86
123VBoxOGLcrutil-x86_LIBS = $(VBOX_LIB_IPRT_GUEST_R3_SHARED_X86) \
124 $(VBOX_LIB_VBGL_R3_SHARED_X86)
125VBoxOGLcrutil-x86_LIBS.win = \
126 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/ddraw.lib \
127 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/dxguid.lib
128ifdef VBOX_WITH_CRHGSMI
129# VBOX_WITH_CRHGSMI define is inherited from VBoxOGLcrutil
130VBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
131endif
132VBoxOGLcrutil-x86_DEFS = $(VBoxOGLcrutil_DEFS) VBOX_WDDM_WOW64
133ifdef VBOX_WITH_WDDM
134# CR_DEBUG_BACKDOOR_ENABLE define is inherited from VBoxOGLcrutil
135VBoxOGLcrutil-x86_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
136VBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB)
137endif
138# vc7 hangs during compilation of this file when optimizations are enabled.
139VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
140VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
141endif
142
143#
144# VBoxOGLhostcrutil
145#
146VBoxOGLhostcrutil_EXTENDS = VBoxOGLcrutil
147VBoxOGLhostcrutil_TEMPLATE = VBOXCROGLR3HOSTDLL
148if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
149 VBoxOGLhostcrutil_INSTTYPE.win = both
150endif
151VBoxOGLhostcrutil_LDFLAGS.darwin = $(VBoxOGLcrutil_LDFLAGS.darwin) \
152 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhostcrutil.dylib
153VBoxOGLhostcrutil_LIBS.win = \
154 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
155 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib
156VBoxOGLhostcrutil_LIBS = $(LIB_RUNTIME)
157ifdef VBOX_WITH_CRHGSMI
158VBoxOGLhostcrutil_DEFS += VBOX_WITH_CRHGSMI
159endif
160ifdef VBOX_WITH_WDDM
161VBoxOGLhostcrutil_INCS.win = $(NO_SUCH_VARIABLE)
162VBoxOGLhostcrutil_DEFS.win = $(NO_SUCH_VARIABLE)
163endif
164
165#
166# Generate files for VBoxOGLcrutil and VBoxOGLhostcrutil.
167#
168$(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c: $(PATH_SUB_CURRENT)/util/debug_opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
169 $(call MSG_GENERATE,python,$@,$<)
170 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
171
172#
173# VBoxOGLcrpacker
174#
175VBoxOGLcrpacker_TEMPLATE = VBOXCROGLR3GUESTLIB
176VBoxOGLcrpacker_INCS = \
177 packer
178if1of ($(KBUILD_TARGET), linux solaris freebsd)
179 VBoxOGLcrpacker_INCS += \
180 $(VBOX_MESA_INCS)
181endif
182VBoxOGLcrpacker_INTERMEDIATES = \
183 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
184 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
185 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
186 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
187 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
188VBoxOGLcrpacker_SOURCES = \
189 packer/pack_arrays.c \
190 packer/pack_beginend.c \
191 packer/pack_bounds.c \
192 packer/pack_buffer.c \
193 packer/pack_bufferobject.c \
194 packer/pack_client.c \
195 packer/pack_clipplane.c \
196 packer/pack_context.c \
197 packer/pack_error.c \
198 packer/pack_extensions.c \
199 packer/pack_feedback.c \
200 packer/pack_fence.c \
201 packer/pack_fog.c \
202 packer/pack_init.c \
203 packer/pack_lights.c \
204 packer/pack_lists.c \
205 packer/pack_swap_lists.c \
206 packer/pack_map.c \
207 packer/pack_point.c \
208 packer/pack_swap_map.c \
209 packer/pack_misc.c \
210 packer/pack_materials.c \
211 packer/pack_matrices.c \
212 packer/pack_pixels.c \
213 packer/pack_pixelmap.c \
214 packer/pack_swap_pixelmap.c \
215 packer/pack_program.c \
216 packer/pack_regcombiner.c \
217 packer/pack_stipple.c \
218 packer/pack_texture.c \
219 packer/pack_swap_texture.c \
220 packer/pack_visibleregion.c \
221 packer/pack_shaders.c \
222 packer/pack_framebuffer.c \
223 $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
224 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
225 $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
226 $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
227 $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
228 $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
229 $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
230 $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
231 $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
232 $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
233 $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
234 $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
235 $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
236 $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
237 $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
238 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
239 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
240 $(VBOX_PATH_CROGL_GENFILES)/packer.c
241VBoxOGLcrpacker_CLEAN = \
242 $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
243 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
244 $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
245 $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
246 $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
247 $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
248 $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
249 $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
250 $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
251 $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
252 $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
253 $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
254 $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
255 $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
256 $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
257 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
258 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
259 $(VBOX_PATH_CROGL_GENFILES)/packer.c \
260 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
261 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
262 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h
263ifdef VBOX_WITH_CRHGSMI
264VBoxOGLcrpacker_DEFS.win += VBOX_WITH_CRHGSMI
265endif
266ifdef VBOX_WITH_WDDM
267VBoxOGLcrpacker_DEFS.win += VBOX_WITH_WDDM
268endif
269
270if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
271#
272# VBoxOGLcrpacker-x86 - x86 VBoxOGLcrpacker version built for amd64 build
273#
274LIBRARIES.win.amd64 += VBoxOGLcrpacker-x86
275VBoxOGLcrpacker-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
276VBoxOGLcrpacker-x86_EXTENDS = VBoxOGLcrpacker
277VBoxOGLcrpacker-x86_BLD_TRG_ARCH = x86
278VBoxOGLcrpacker-x86_DEFS = $(VBoxOGLcrpacker_DEFS) VBOX_WDDM_WOW64
279endif
280
281#
282# VBoxOGLhostcrpacker
283#
284VBoxOGLhostcrpacker_EXTENDS = VBoxOGLcrpacker
285VBoxOGLhostcrpacker_TEMPLATE = VBOXCROGLR3HOSTLIB
286
287#
288# Generate files for VBoxOGLcrpacker and VBoxOGLhostcrpacker.
289#
290$(VBOX_PATH_CROGL_GENFILES)/packer.def: $(PATH_SUB_CURRENT)/packer/packer_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
294$(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h: $(PATH_SUB_CURRENT)/packer/pack_header.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(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) $(<D)
297
298$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h: $(PATH_SUB_CURRENT)/packer/opcodes.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
302$(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 $$@)
303 $(call MSG_GENERATE,python,$@,$<)
304 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
305
306$(VBOX_PATH_CROGL_GENFILES)/packer.c: $(PATH_SUB_CURRENT)/packer/packer.py $(PATH_SUB_CURRENT)/packer/packer_special $(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) $(<D)
309
310$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c: $(PATH_SUB_CURRENT)/packer/packer_bbox.py | $$(dir $$@)
311 $(call MSG_GENERATE,python,$@,$<)
312 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
313
314$(VBOX_PATH_CROGL_GENFILES)/pack_current.c: $(PATH_SUB_CURRENT)/packer/pack_current.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $$@)
315 $(call MSG_GENERATE,python,$@,$<)
316 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
317
318$(VBOX_PATH_CROGL_GENFILES)/%_swap.c: $(PATH_SUB_CURRENT)/packer/%.c $(PATH_SUB_CURRENT)/packer/pack_swap.py | $$(dir $$@)
319 $(call MSG_GENERATE,python,$@,$<)
320 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/pack_swap.py $<
321
322
323#
324# VBoxOGLspuload
325#
326VBoxOGLspuload_TEMPLATE = VBOXCROGLR3GUESTLIB
327VBoxOGLspuload_INTERMEDIATES = \
328 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
329if1of ($(KBUILD_TARGET), linux solaris freebsd)
330 VBoxOGLspuload_INCS += \
331 $(VBOX_MESA_INCS)
332endif
333VBoxOGLspuload_SOURCES = \
334 spu_loader/spuinit.c \
335 spu_loader/spuload.c \
336 spu_loader/choosevisual.c \
337 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
338 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
339 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
340 $(VBOX_PATH_CROGL_GENFILES)/glloader.c
341VBoxOGLspuload_CLEAN = \
342 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
343 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
344 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
345 $(VBOX_PATH_CROGL_GENFILES)/glloader.c \
346 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
347ifdef VBOX_WITH_CRHGSMI
348VBoxOGLspuload_DEFS.win += VBOX_WITH_CRHGSMI
349endif
350ifdef VBOX_WITH_WDDM
351VBoxOGLspuload_DEFS.win += VBOX_WITH_WDDM
352endif
353
354if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
355#
356# VBoxOGLspuload-x86 - x86 VBoxOGLspuload version built for amd64 build
357#
358LIBRARIES.win.amd64 += VBoxOGLspuload-x86
359VBoxOGLspuload-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
360VBoxOGLspuload-x86_EXTENDS = VBoxOGLspuload
361VBoxOGLspuload-x86_BLD_TRG_ARCH = x86
362VBoxOGLspuload-x86_DEFS = $(VBoxOGLspuload_DEFS) VBOX_WDDM_WOW64
363endif
364
365
366#
367# VBoxOGLhostspuload
368#
369VBoxOGLhostspuload_EXTENDS = VBoxOGLspuload
370VBoxOGLhostspuload_TEMPLATE = VBOXCROGLR3HOSTLIB
371
372#
373# Generate files for VBoxOGLspuload and VBoxOGLhostspuload.
374#
375$(VBOX_PATH_CROGL_GENFILES)/dispatch.c: $(PATH_SUB_CURRENT)/spu_loader/dispatch.py $(VBOX_CROGL_API_FILES) | $$(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
379$(VBOX_PATH_CROGL_GENFILES)/spucopy.c: $(PATH_SUB_CURRENT)/spu_loader/spucopy.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
380 $(call MSG_GENERATE,python,$@,$<)
381 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
382
383$(VBOX_PATH_CROGL_GENFILES)/spuchange.c: $(PATH_SUB_CURRENT)/spu_loader/spuchange.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
384 $(call MSG_GENERATE,python,$@,$<)
385 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
386
387$(VBOX_PATH_CROGL_GENFILES)/glloader.c: $(PATH_SUB_CURRENT)/spu_loader/glloader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
388 $(call MSG_GENERATE,python,$@,$<)
389 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
390
391$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h: $(PATH_SUB_CURRENT)/spu_loader/dispatchheader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
392 $(call MSG_GENERATE,python,$@,$<)
393 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
394
395
396#
397# VBoxOGLcrstate
398#
399VBoxOGLcrstate_TEMPLATE = VBOXCROGLR3GUESTLIB
400VBoxOGLcrstate_INCS = \
401 state_tracker
402if1of ($(KBUILD_TARGET), linux solaris freebsd)
403 VBoxOGLcrstate_INCS += \
404 $(VBOX_MESA_INCS)
405endif
406VBoxOGLcrstate_INTERMEDIATES = \
407 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
408 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
409 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
410VBoxOGLcrstate_SOURCES = \
411 state_tracker/state_attrib.c \
412 state_tracker/state_buffer.c \
413 state_tracker/state_bufferobject.c \
414 state_tracker/state_client.c \
415 state_tracker/state_current.c \
416 state_tracker/state_diff.c \
417 state_tracker/state_enable.c \
418 state_tracker/state_error.c \
419 state_tracker/state_evaluators.c \
420 state_tracker/state_feedback.c \
421 state_tracker/state_fence.c \
422 state_tracker/state_flush.c \
423 state_tracker/state_fog.c \
424 state_tracker/state_getstring.c \
425 state_tracker/state_hint.c \
426 state_tracker/state_init.c \
427 state_tracker/state_lighting.c \
428 state_tracker/state_limits.c \
429 state_tracker/state_line.c \
430 state_tracker/state_lists.c \
431 state_tracker/state_multisample.c \
432 state_tracker/state_occlude.c \
433 state_tracker/state_pixel.c \
434 state_tracker/state_point.c \
435 state_tracker/state_polygon.c \
436 state_tracker/state_program.c \
437 state_tracker/state_rasterpos.c \
438 state_tracker/state_regcombiner.c \
439 state_tracker/state_stencil.c \
440 state_tracker/state_texture.c \
441 state_tracker/state_teximage.c \
442 state_tracker/state_texdiff.c \
443 state_tracker/state_transform.c \
444 state_tracker/state_viewport.c \
445 state_tracker/state_framebuffer.c \
446 state_tracker/state_glsl.c \
447 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
448 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
449 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
450 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
451 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
452 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
453 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
454 $(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c \
455 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
456 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
457 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
458 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
459 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c
460VBoxOGLcrstate_CLEAN = \
461 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
462 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
463 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
464 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
465 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
466 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
467 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
468 $(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c \
469 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
470 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
471 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
472 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
473 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c \
474 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
475ifneq ($(KBUILD_TARGET),win)
476state_tracker/state_lists.c_CFLAGS += $(VBOX_GCC_Wno-pointer-sign)
477VBoxOGLcrstate_CFLAGS +=
478endif
479ifdef VBOX_WITH_CRHGSMI
480VBoxOGLcrstate_DEFS.win += VBOX_WITH_CRHGSMI
481endif
482ifdef VBOX_WITH_WDDM
483VBoxOGLcrstate_DEFS.win += VBOX_WITH_WDDM
484endif
485
486if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
487#
488# VBoxOGLcrstate-x86 - x86 VBoxOGLcrstate version built for amd64 build
489#
490LIBRARIES.win.amd64 += VBoxOGLcrstate-x86
491VBoxOGLcrstate-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
492VBoxOGLcrstate-x86_EXTENDS = VBoxOGLcrstate
493VBoxOGLcrstate-x86_BLD_TRG_ARCH = x86
494VBoxOGLcrstate-x86_DEFS = $(VBoxOGLcrstate_DEFS) VBOX_WDDM_WOW64
495endif
496
497
498#
499# VBoxOGLhostcrstate
500#
501VBoxOGLhostcrstate_EXTENDS = VBoxOGLcrstate
502VBoxOGLhostcrstate_TEMPLATE = VBOXCROGLR3HOSTLIB
503VBoxOGLhostcrstate_SOURCES = \
504 $(VBoxOGLcrstate_SOURCES) \
505 state_tracker/state_snapshot.c
506
507#
508# Generate files for VBoxOGLcrstate and VBoxOGLhostcrstate.
509#
510
511
512$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_buffer.txt gendiffcode.py) | $$(dir $$@)
513 $(call MSG_GENERATE,python,$@,$<)
514 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py buffer Buffer $(<D)
515
516$(VBOX_PATH_CROGL_GENFILES)/state_client_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_client.txt gendiffcode.py) | $$(dir $$@)
517 $(call MSG_GENERATE,python,$@,$<)
518 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py client Client $(<D)
519
520$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_current.py convert.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
521 $(call MSG_GENERATE,python,$@,$<)
522 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_current.py
523
524$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_fog.txt gendiffcode.py) | $$(dir $$@)
525 $(call MSG_GENERATE,python,$@,$<)
526 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py fog Fog $(<D)
527
528$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_hint.txt gendiffcode.py) | $$(dir $$@)
529 $(call MSG_GENERATE,python,$@,$<)
530 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py hint Hint $(<D)
531
532$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_lighting.txt gendiffcode.py) | $$(dir $$@)
533 $(call MSG_GENERATE,python,$@,$<)
534 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py lighting Lighting $(<D)
535
536$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_line.txt gendiffcode.py) | $$(dir $$@)
537 $(call MSG_GENERATE,python,$@,$<)
538 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py line Line $(<D)
539
540$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_multisample.txt gendiffcode.py) | $$(dir $$@)
541 $(call MSG_GENERATE,python,$@,$<)
542 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py multisample Multisample $(<D)
543
544$(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_point.txt gendiffcode.py) | $$(dir $$@)
545 $(call MSG_GENERATE,python,$@,$<)
546 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py point Point $(<D)
547
548$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_polygon.txt gendiffcode.py) | $$(dir $$@)
549 $(call MSG_GENERATE,python,$@,$<)
550 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py polygon Polygon $(<D)
551
552$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_regcombiner.txt gendiffcode.py) | $$(dir $$@)
553 $(call MSG_GENERATE,python,$@,$<)
554 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py regcombiner RegCombiner $(<D)
555
556$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_viewport.txt gendiffcode.py) | $$(dir $$@)
557 $(call MSG_GENERATE,python,$@,$<)
558 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py viewport Viewport $(<D)
559
560$(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 $$@)
561 $(call MSG_GENERATE,python,$@,$<)
562 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_get.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
563
564$(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 $$@)
565 $(call MSG_GENERATE,python,$@,$<)
566 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_isenabled.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
567
568$(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 $$@)
569 $(call MSG_GENERATE,python,$@,$<)
570 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_defs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
571
572$(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 $$@)
573 $(call MSG_GENERATE,python,$@,$<)
574 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_funcs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
575
576
577#
578# VBoxOGLerrorspu
579# @remark See HostServices/OpenGL/Makefile for and explanation of the gl.h
580# and glu.h intermediate files on darwin.
581#
582VBoxOGLerrorspu_TEMPLATE = VBOXCROGLR3GUESTDLL
583if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
584 VBoxOGLerrorspu_INSTTYPE.win = none
585 VBoxOGLerrorspu_DEBUG_INSTTYPE.win = both
586endif
587VBoxOGLerrorspu_INTERMEDIATES = \
588 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
589if1of ($(KBUILD_TARGET), linux solaris freebsd)
590 VBoxOGLerrorspu_INCS += \
591 $(VBOX_MESA_INCS)
592endif
593VBoxOGLerrorspu_SOURCES = \
594 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c \
595 error/errorspu_init.c
596VBoxOGLerrorspu_SOURCES.win.x86 = \
597 error/error.def \
598 error/errorspu.rc
599VBoxOGLerrorspu_CLEAN = \
600 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c
601VBoxOGLerrorspu_LIBS = \
602 $(VBOX_LIB_OGL_CRUTIL)
603ifdef VBOX_WITH_CRHGSMI
604VBoxOGLerrorspu_DEFS.win += VBOX_WITH_CRHGSMI
605endif
606ifdef VBOX_WITH_WDDM
607VBoxOGLerrorspu_DEFS.win += VBOX_WITH_WDDM
608endif
609
610
611if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
612#
613# VBoxOGLerrorspu-x86 - x86 VBoxOGLerrorspu version built for amd64 build
614#
615DLLS.win.amd64 += VBoxOGLerrorspu-x86
616VBoxOGLerrorspu-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
617VBoxOGLerrorspu-x86_EXTENDS = VBoxOGLerrorspu
618VBoxOGLerrorspu-x86_BLD_TRG_ARCH = x86
619VBoxOGLerrorspu-x86_LIBS = \
620 $(VBOX_LIB_OGL_CRUTIL_X86)
621VBoxOGLerrorspu-x86_DEFS = $(VBoxOGLerrorspu_DEFS) VBOX_WDDM_WOW64
622endif
623
624#
625# VBoxOGLhosterrorspu
626#
627VBoxOGLhosterrorspu_EXTENDS = VBoxOGLerrorspu
628VBoxOGLhosterrorspu_TEMPLATE = VBOXCROGLR3HOSTDLL
629if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
630 VBoxOGLhosterrorspu_INSTTYPE.win = both
631endif
632VBoxOGLhosterrorspu_LDFLAGS.darwin += $(VBoxOGLerrorspu_LDFLAGS.darwin) \
633 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhosterrorspu.dylib
634VBoxOGLhosterrorspu_LIBS = \
635 $(VBOX_LIB_OGL_HOSTCRUTIL) \
636 $(LIB_RUNTIME)
637
638#
639# Generate files for VBoxOGLerrorspu and VBoxOGLhosterrorspu.
640#
641$(VBOX_PATH_CROGL_GENFILES)/errorspu.c: $(PATH_SUB_CURRENT)/error/error.py $(VBOX_CROGL_API_FILES)
642 $(call MSG_GENERATE,python,$@,$<)
643 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
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