VirtualBox

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

Last change on this file since 49836 was 49643, checked in by vboxsync, 11 years ago

Additions/linux: back out single bit-count Additions package experiment.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.9 KB
Line 
1# $Id: Makefile.kmk 49643 2013-11-25 15:46:54Z 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 \
95 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/shlwapi.lib
96VBoxOGLcrutil_LIBS = \
97 $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
98 $(VBOX_LIB_VBGL_R3_SHARED)
99
100# Needed by GDEbuger
101ifdef CR_NO_GL_SYSTEM_PATH
102VBoxOGLcrutil_DEFS += CR_NO_GL_SYSTEM_PATH
103endif
104ifdef VBOX_WITH_CRHGSMI
105VBoxOGLcrutil_DEFS.win += VBOX_WITH_CRHGSMI
106VBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
107endif
108ifdef VBOX_WITH_WDDM
109VBoxOGLcrutil_DEFS.win += VBOX_WITH_WDDM
110VBoxOGLcrutil_DEFS.win += CR_DEBUG_BACKDOOR_ENABLE
111VBoxOGLcrutil_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
112VBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB)
113endif
114VBoxOGLcrutil_CLEAN = \
115 $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
116
117# vc7 hangs during compilation of this file when optimizations are enabled.
118VBoxOGLcrutil_pixel.c_CFLAGS.win.x86 += -Od
119VBoxOGLhostcrutil_pixel.c_CFLAGS.win.x86 += -Od
120
121if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
122#
123# VBoxOGLcrutil-x86 - x86 VBoxOGLcrutil version built for amd64 build
124#
125DLLS.win.amd64 += VBoxOGLcrutil-x86
126VBoxOGLcrutil-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
127VBoxOGLcrutil-x86_EXTENDS = VBoxOGLcrutil
128VBoxOGLcrutil-x86_BLD_TRG_ARCH = x86
129VBoxOGLcrutil-x86_LIBS = $(VBOX_LIB_IPRT_GUEST_R3_SHARED_X86) \
130 $(VBOX_LIB_VBGL_R3_SHARED_X86)
131VBoxOGLcrutil-x86_LIBS.win = \
132 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/ddraw.lib \
133 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/dxguid.lib
134ifdef VBOX_WITH_CRHGSMI
135# VBOX_WITH_CRHGSMI define is inherited from VBoxOGLcrutil
136VBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
137endif
138VBoxOGLcrutil-x86_DEFS = $(VBoxOGLcrutil_DEFS) VBOX_WDDM_WOW64
139ifdef VBOX_WITH_WDDM
140# CR_DEBUG_BACKDOOR_ENABLE define is inherited from VBoxOGLcrutil
141VBoxOGLcrutil-x86_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
142VBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB)
143endif
144# vc7 hangs during compilation of this file when optimizations are enabled.
145VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
146VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
147endif
148
149#
150# VBoxOGLhostcrutil
151#
152VBoxOGLhostcrutil_EXTENDS = VBoxOGLcrutil
153VBoxOGLhostcrutil_TEMPLATE = VBOXCROGLR3HOSTDLL
154if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
155 VBoxOGLhostcrutil_INSTTYPE.win = both
156endif
157VBoxOGLhostcrutil_LDFLAGS.darwin = $(VBoxOGLcrutil_LDFLAGS.darwin) \
158 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhostcrutil.dylib
159VBoxOGLhostcrutil_LIBS.win = \
160 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
161 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib
162VBoxOGLhostcrutil_LIBS = $(LIB_RUNTIME)
163ifdef VBOX_WITH_CRHGSMI
164VBoxOGLhostcrutil_DEFS += VBOX_WITH_CRHGSMI
165endif
166ifdef VBOX_WITH_WDDM
167VBoxOGLhostcrutil_INCS.win = $(NO_SUCH_VARIABLE)
168VBoxOGLhostcrutil_DEFS.win = $(NO_SUCH_VARIABLE)
169endif
170
171#
172# Generate files for VBoxOGLcrutil and VBoxOGLhostcrutil.
173#
174$(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c: $(PATH_SUB_CURRENT)/util/debug_opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
175 $(call MSG_GENERATE,python,$@,$<)
176 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
177
178ifdef VBOX_WITH_CRDUMPER
179$(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp: $(PATH_SUB_CURRENT)/state_tracker/dump_gen.py $(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib/get_sizes.py $(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib/get_components.py $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_isenabled.txt state_extensions_isenabled.txt) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
180 $(call MSG_GENERATE,python,$@,$<)
181 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
182endif
183
184#
185# VBoxOGLcrpacker
186#
187VBoxOGLcrpacker_TEMPLATE = VBOXCROGLR3GUESTLIB
188VBoxOGLcrpacker_INCS = \
189 packer
190if1of ($(KBUILD_TARGET), linux solaris freebsd)
191 VBoxOGLcrpacker_INCS += \
192 $(VBOX_MESA_INCS)
193endif
194VBoxOGLcrpacker_INTERMEDIATES = \
195 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
196 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
197 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
198 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
199 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
200VBoxOGLcrpacker_SOURCES = \
201 packer/pack_arrays.c \
202 packer/pack_beginend.c \
203 packer/pack_bounds.c \
204 packer/pack_buffer.c \
205 packer/pack_bufferobject.c \
206 packer/pack_client.c \
207 packer/pack_clipplane.c \
208 packer/pack_context.c \
209 packer/pack_error.c \
210 packer/pack_extensions.c \
211 packer/pack_feedback.c \
212 packer/pack_fence.c \
213 packer/pack_fog.c \
214 packer/pack_init.c \
215 packer/pack_lights.c \
216 packer/pack_lists.c \
217 packer/pack_swap_lists.c \
218 packer/pack_map.c \
219 packer/pack_point.c \
220 packer/pack_swap_map.c \
221 packer/pack_misc.c \
222 packer/pack_materials.c \
223 packer/pack_matrices.c \
224 packer/pack_pixels.c \
225 packer/pack_pixelmap.c \
226 packer/pack_swap_pixelmap.c \
227 packer/pack_program.c \
228 packer/pack_regcombiner.c \
229 packer/pack_stipple.c \
230 packer/pack_texture.c \
231 packer/pack_swap_texture.c \
232 packer/pack_visibleregion.c \
233 packer/pack_shaders.c \
234 packer/pack_framebuffer.c \
235 $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
236 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
237 $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
238 $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
239 $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
240 $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
241 $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
242 $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
243 $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
244 $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
245 $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
246 $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
247 $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
248 $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
249 $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
250 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
251 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
252 $(VBOX_PATH_CROGL_GENFILES)/packer.c
253VBoxOGLcrpacker_CLEAN = \
254 $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
255 $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
256 $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
257 $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
258 $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
259 $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
260 $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
261 $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
262 $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
263 $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
264 $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
265 $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
266 $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
267 $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
268 $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
269 $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
270 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
271 $(VBOX_PATH_CROGL_GENFILES)/packer.c \
272 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
273 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
274 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h
275ifdef VBOX_WITH_CRHGSMI
276VBoxOGLcrpacker_DEFS.win += VBOX_WITH_CRHGSMI
277endif
278ifdef VBOX_WITH_WDDM
279VBoxOGLcrpacker_DEFS.win += VBOX_WITH_WDDM
280endif
281
282if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
283#
284# VBoxOGLcrpacker-x86 - x86 VBoxOGLcrpacker version built for amd64 build
285#
286LIBRARIES.win.amd64 += VBoxOGLcrpacker-x86
287VBoxOGLcrpacker-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
288VBoxOGLcrpacker-x86_EXTENDS = VBoxOGLcrpacker
289VBoxOGLcrpacker-x86_BLD_TRG_ARCH = x86
290VBoxOGLcrpacker-x86_DEFS = $(VBoxOGLcrpacker_DEFS) VBOX_WDDM_WOW64
291endif
292
293#
294# VBoxOGLhostcrpacker
295#
296VBoxOGLhostcrpacker_EXTENDS = VBoxOGLcrpacker
297VBoxOGLhostcrpacker_TEMPLATE = VBOXCROGLR3HOSTLIB
298
299#
300# Generate files for VBoxOGLcrpacker and VBoxOGLhostcrpacker.
301#
302$(VBOX_PATH_CROGL_GENFILES)/packer.def: $(PATH_SUB_CURRENT)/packer/packer_defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
303 $(call MSG_GENERATE,python,$@,$<)
304 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
305
306$(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 $$@)
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)/cr_opcodes.h: $(PATH_SUB_CURRENT)/packer/opcodes.py $(VBOX_CROGL_API_FILES) | $$(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)/state/cr_currentpointers.h: $(PATH_SUB_CURRENT)/packer/pack_currentheader.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $(VBOX_PATH_CROGL_GENFILES)) $$(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)/packer.c: $(PATH_SUB_CURRENT)/packer/packer.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(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) $(<D)
321
322$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c: $(PATH_SUB_CURRENT)/packer/packer_bbox.py | $$(dir $$@)
323 $(call MSG_GENERATE,python,$@,$<)
324 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
325
326$(VBOX_PATH_CROGL_GENFILES)/pack_current.c: $(PATH_SUB_CURRENT)/packer/pack_current.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $$@)
327 $(call MSG_GENERATE,python,$@,$<)
328 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
329
330$(VBOX_PATH_CROGL_GENFILES)/%_swap.c: $(PATH_SUB_CURRENT)/packer/%.c $(PATH_SUB_CURRENT)/packer/pack_swap.py | $$(dir $$@)
331 $(call MSG_GENERATE,python,$@,$<)
332 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/pack_swap.py $<
333
334
335#
336# VBoxOGLspuload
337#
338VBoxOGLspuload_TEMPLATE = VBOXCROGLR3GUESTLIB
339VBoxOGLspuload_INTERMEDIATES = \
340 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
341if1of ($(KBUILD_TARGET), linux solaris freebsd)
342 VBoxOGLspuload_INCS += \
343 $(VBOX_MESA_INCS)
344endif
345VBoxOGLspuload_SOURCES = \
346 spu_loader/spuinit.c \
347 spu_loader/spuload.c \
348 spu_loader/choosevisual.c \
349 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
350 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
351 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
352 $(VBOX_PATH_CROGL_GENFILES)/glloader.c
353VBoxOGLspuload_CLEAN = \
354 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
355 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
356 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
357 $(VBOX_PATH_CROGL_GENFILES)/glloader.c \
358 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
359ifdef VBOX_WITH_CRHGSMI
360VBoxOGLspuload_DEFS.win += VBOX_WITH_CRHGSMI
361endif
362ifdef VBOX_WITH_WDDM
363VBoxOGLspuload_DEFS.win += VBOX_WITH_WDDM
364endif
365
366if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
367#
368# VBoxOGLspuload-x86 - x86 VBoxOGLspuload version built for amd64 build
369#
370LIBRARIES.win.amd64 += VBoxOGLspuload-x86
371VBoxOGLspuload-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
372VBoxOGLspuload-x86_EXTENDS = VBoxOGLspuload
373VBoxOGLspuload-x86_BLD_TRG_ARCH = x86
374VBoxOGLspuload-x86_DEFS = $(VBoxOGLspuload_DEFS) VBOX_WDDM_WOW64
375endif
376
377
378#
379# VBoxOGLhostspuload
380#
381VBoxOGLhostspuload_EXTENDS = VBoxOGLspuload
382VBoxOGLhostspuload_TEMPLATE = VBOXCROGLR3HOSTLIB
383
384#
385# Generate files for VBoxOGLspuload and VBoxOGLhostspuload.
386#
387$(VBOX_PATH_CROGL_GENFILES)/dispatch.c: $(PATH_SUB_CURRENT)/spu_loader/dispatch.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)/spucopy.c: $(PATH_SUB_CURRENT)/spu_loader/spucopy.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$(VBOX_PATH_CROGL_GENFILES)/spuchange.c: $(PATH_SUB_CURRENT)/spu_loader/spuchange.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
396 $(call MSG_GENERATE,python,$@,$<)
397 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
398
399$(VBOX_PATH_CROGL_GENFILES)/glloader.c: $(PATH_SUB_CURRENT)/spu_loader/glloader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
400 $(call MSG_GENERATE,python,$@,$<)
401 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
402
403$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h: $(PATH_SUB_CURRENT)/spu_loader/dispatchheader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
404 $(call MSG_GENERATE,python,$@,$<)
405 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
406
407
408#
409# VBoxOGLcrstate
410#
411VBoxOGLcrstate_TEMPLATE = VBOXCROGLR3GUESTLIB
412VBoxOGLcrstate_INCS = \
413 state_tracker
414if1of ($(KBUILD_TARGET), linux solaris freebsd)
415 VBoxOGLcrstate_INCS += \
416 $(VBOX_MESA_INCS)
417endif
418VBoxOGLcrstate_INTERMEDIATES = \
419 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
420 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
421 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
422VBoxOGLcrstate_SOURCES = \
423 state_tracker/state_attrib.c \
424 state_tracker/state_buffer.c \
425 state_tracker/state_bufferobject.c \
426 state_tracker/state_client.c \
427 state_tracker/state_current.c \
428 state_tracker/state_diff.c \
429 state_tracker/state_enable.c \
430 state_tracker/state_error.c \
431 state_tracker/state_evaluators.c \
432 state_tracker/state_feedback.c \
433 state_tracker/state_fence.c \
434 state_tracker/state_flush.c \
435 state_tracker/state_fog.c \
436 state_tracker/state_getstring.c \
437 state_tracker/state_hint.c \
438 state_tracker/state_init.c \
439 state_tracker/state_lighting.c \
440 state_tracker/state_limits.c \
441 state_tracker/state_line.c \
442 state_tracker/state_lists.c \
443 state_tracker/state_multisample.c \
444 state_tracker/state_occlude.c \
445 state_tracker/state_pixel.c \
446 state_tracker/state_point.c \
447 state_tracker/state_polygon.c \
448 state_tracker/state_program.c \
449 state_tracker/state_rasterpos.c \
450 state_tracker/state_regcombiner.c \
451 state_tracker/state_stencil.c \
452 state_tracker/state_texture.c \
453 state_tracker/state_teximage.c \
454 state_tracker/state_texdiff.c \
455 state_tracker/state_transform.c \
456 state_tracker/state_viewport.c \
457 state_tracker/state_framebuffer.c \
458 state_tracker/state_glsl.c \
459 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
460 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
461 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
462 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
463 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
464 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
465 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
466 $(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c \
467 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
468 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
469 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
470 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
471 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c
472ifdef VBOX_WITH_CRDUMPER
473VBoxOGLcrstate_SOURCES += state_tracker/dump.cpp \
474 $(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp
475endif
476
477VBoxOGLcrstate_CLEAN = \
478 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
479 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
480 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
481 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
482 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
483 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
484 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
485 $(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c \
486 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
487 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
488 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
489 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
490 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c \
491 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
492ifdef VBOX_WITH_CRDUMPER
493VBoxOGLcrstate_CLEAN += $(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp
494endif
495
496ifneq ($(KBUILD_TARGET),win)
497 ifeq ($(VBOX_WITH_COMPATIBLE_LINUX_GUEST_PACKAGE),)
498state_tracker/state_lists.c_CFLAGS += $(VBOX_GCC_Wno-pointer-sign)
499VBoxOGLcrstate_CFLAGS +=
500 endif
501endif
502ifdef VBOX_WITH_CRHGSMI
503VBoxOGLcrstate_DEFS.win += VBOX_WITH_CRHGSMI
504endif
505ifdef VBOX_WITH_WDDM
506VBoxOGLcrstate_DEFS.win += VBOX_WITH_WDDM
507endif
508ifdef VBOX_WITH_CRDUMPER
509VBoxOGLcrstate_DEFS += VBOX_WITH_CRDUMPER
510#VBoxOGLcrutil_LIBS += \
511 $(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
512 $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
513endif
514
515if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
516#
517# VBoxOGLcrstate-x86 - x86 VBoxOGLcrstate version built for amd64 build
518#
519LIBRARIES.win.amd64 += VBoxOGLcrstate-x86
520VBoxOGLcrstate-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
521VBoxOGLcrstate-x86_EXTENDS = VBoxOGLcrstate
522VBoxOGLcrstate-x86_BLD_TRG_ARCH = x86
523VBoxOGLcrstate-x86_DEFS = $(VBoxOGLcrstate_DEFS) VBOX_WDDM_WOW64
524endif
525
526
527#
528# VBoxOGLhostcrstate
529#
530VBoxOGLhostcrstate_EXTENDS = VBoxOGLcrstate
531VBoxOGLhostcrstate_TEMPLATE = VBOXCROGLR3HOSTLIB
532VBoxOGLhostcrstate_SOURCES = \
533 $(VBoxOGLcrstate_SOURCES) \
534 state_tracker/state_snapshot.c
535
536#
537# Generate files for VBoxOGLcrstate and VBoxOGLhostcrstate.
538#
539
540
541$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_buffer.txt gendiffcode.py) | $$(dir $$@)
542 $(call MSG_GENERATE,python,$@,$<)
543 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py buffer Buffer $(<D)
544
545$(VBOX_PATH_CROGL_GENFILES)/state_client_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_client.txt gendiffcode.py) | $$(dir $$@)
546 $(call MSG_GENERATE,python,$@,$<)
547 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py client Client $(<D)
548
549$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_current.py convert.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
550 $(call MSG_GENERATE,python,$@,$<)
551 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_current.py
552
553$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_fog.txt gendiffcode.py) | $$(dir $$@)
554 $(call MSG_GENERATE,python,$@,$<)
555 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py fog Fog $(<D)
556
557$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_hint.txt gendiffcode.py) | $$(dir $$@)
558 $(call MSG_GENERATE,python,$@,$<)
559 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py hint Hint $(<D)
560
561$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_lighting.txt gendiffcode.py) | $$(dir $$@)
562 $(call MSG_GENERATE,python,$@,$<)
563 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py lighting Lighting $(<D)
564
565$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_line.txt gendiffcode.py) | $$(dir $$@)
566 $(call MSG_GENERATE,python,$@,$<)
567 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py line Line $(<D)
568
569$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_multisample.txt gendiffcode.py) | $$(dir $$@)
570 $(call MSG_GENERATE,python,$@,$<)
571 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py multisample Multisample $(<D)
572
573$(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_point.txt gendiffcode.py) | $$(dir $$@)
574 $(call MSG_GENERATE,python,$@,$<)
575 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py point Point $(<D)
576
577$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_polygon.txt gendiffcode.py) | $$(dir $$@)
578 $(call MSG_GENERATE,python,$@,$<)
579 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py polygon Polygon $(<D)
580
581$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_regcombiner.txt gendiffcode.py) | $$(dir $$@)
582 $(call MSG_GENERATE,python,$@,$<)
583 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py regcombiner RegCombiner $(<D)
584
585$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_viewport.txt gendiffcode.py) | $$(dir $$@)
586 $(call MSG_GENERATE,python,$@,$<)
587 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py viewport Viewport $(<D)
588
589$(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 $$@)
590 $(call MSG_GENERATE,python,$@,$<)
591 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_get.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
592
593$(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 $$@)
594 $(call MSG_GENERATE,python,$@,$<)
595 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_isenabled.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
596
597$(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 $$@)
598 $(call MSG_GENERATE,python,$@,$<)
599 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_defs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
600
601$(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 $$@)
602 $(call MSG_GENERATE,python,$@,$<)
603 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_funcs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
604
605
606#
607# VBoxOGLerrorspu
608# @remark See HostServices/OpenGL/Makefile for and explanation of the gl.h
609# and glu.h intermediate files on darwin.
610#
611VBoxOGLerrorspu_TEMPLATE = VBOXCROGLR3GUESTDLL
612if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
613 VBoxOGLerrorspu_INSTTYPE.win = none
614 VBoxOGLerrorspu_DEBUG_INSTTYPE.win = both
615endif
616VBoxOGLerrorspu_INTERMEDIATES = \
617 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
618if1of ($(KBUILD_TARGET), linux solaris freebsd)
619 VBoxOGLerrorspu_INCS += \
620 $(VBOX_MESA_INCS)
621endif
622VBoxOGLerrorspu_SOURCES = \
623 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c \
624 error/errorspu_init.c
625VBoxOGLerrorspu_SOURCES.win.x86 = \
626 error/error.def \
627 error/errorspu.rc
628VBoxOGLerrorspu_CLEAN = \
629 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c
630VBoxOGLerrorspu_LIBS = \
631 $(VBOX_LIB_OGL_CRUTIL)
632ifdef VBOX_WITH_CRHGSMI
633VBoxOGLerrorspu_DEFS.win += VBOX_WITH_CRHGSMI
634endif
635ifdef VBOX_WITH_WDDM
636VBoxOGLerrorspu_DEFS.win += VBOX_WITH_WDDM
637endif
638
639
640if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
641#
642# VBoxOGLerrorspu-x86 - x86 VBoxOGLerrorspu version built for amd64 build
643#
644DLLS.win.amd64 += VBoxOGLerrorspu-x86
645VBoxOGLerrorspu-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
646VBoxOGLerrorspu-x86_EXTENDS = VBoxOGLerrorspu
647VBoxOGLerrorspu-x86_BLD_TRG_ARCH = x86
648VBoxOGLerrorspu-x86_LIBS = \
649 $(VBOX_LIB_OGL_CRUTIL_X86)
650VBoxOGLerrorspu-x86_DEFS = $(VBoxOGLerrorspu_DEFS) VBOX_WDDM_WOW64
651endif
652
653#
654# VBoxOGLhosterrorspu
655#
656VBoxOGLhosterrorspu_EXTENDS = VBoxOGLerrorspu
657VBoxOGLhosterrorspu_TEMPLATE = VBOXCROGLR3HOSTDLL
658if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
659 VBoxOGLhosterrorspu_INSTTYPE.win = both
660endif
661VBoxOGLhosterrorspu_LDFLAGS.darwin += $(VBoxOGLerrorspu_LDFLAGS.darwin) \
662 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhosterrorspu.dylib
663VBoxOGLhosterrorspu_LIBS = \
664 $(VBOX_LIB_OGL_HOSTCRUTIL) \
665 $(LIB_RUNTIME)
666
667#
668# Generate files for VBoxOGLerrorspu and VBoxOGLhosterrorspu.
669#
670$(VBOX_PATH_CROGL_GENFILES)/errorspu.c: $(PATH_SUB_CURRENT)/error/error.py $(VBOX_CROGL_API_FILES)
671 $(call MSG_GENERATE,python,$@,$<)
672 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
673include $(FILE_KBUILD_SUB_FOOTER)
674
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