VirtualBox

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

Last change on this file since 78408 was 78408, checked in by vboxsync, 6 years ago

Additions,GuestHost/OpenGL,HostServices/SharedOpenGL: Get rid of the individual SPU shared libraries and merge them into the VBoxSharedCrOpenGL shared libraries on the host and VBoxOGL{,-x86} shared libraries for the guest additions, bugref:9435

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 23.8 KB
Line 
1# $Id: Makefile.kmk 78408 2019-05-06 21:31:01Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest/Host OpenGL part
4#
5
6#
7# Copyright (C) 2008-2019 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 LIBRARIES += VBoxOGLcrpacker VBoxOGLspuload VBoxOGLcrstate VBoxOGLcrutil VBoxOGLerrorspu
37endif
38
39ifndef VBOX_ONLY_ADDITIONS
40 LIBRARIES += VBoxOGLhostcrpacker VBoxOGLhostspuload VBoxOGLhostcrstate VBoxOGLhostcrutil VBoxOGLhosterrorspu
41endif
42
43#
44# VBoxOGLcrutil
45#
46VBoxOGLcrutil_TEMPLATE = VBOXCROGLR3GUESTLIB
47if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
48 VBoxOGLcrutil_INSTTYPE.win = none
49 VBoxOGLcrutil_DEBUG_INSTTYPE.win = both
50endif
51VBoxOGLcrutil_SDKS.win = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK)
52VBoxOGLcrutil_INTERMEDIATES = $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h
53VBoxOGLcrutil_INCS += \
54 $(VBOX_GRAPHICS_INCS)
55if1of ($(KBUILD_TARGET), linux solaris freebsd)
56 VBoxOGLcrutil_INCS += \
57 $(VBOX_GL_INCS)
58endif
59VBoxOGLcrutil_SOURCES = \
60 util/bufpool.c \
61 util/dll.c \
62 util/error.c \
63 util/hash.c \
64 util/matrix.c \
65 util/mem.c \
66 util/net.c \
67 util/pixel.c \
68 util/process.c \
69 util/string.c \
70 util/threads.c \
71 util/vreg.cpp \
72 util/blitter.cpp \
73 util/compositor.cpp \
74 util/htable.cpp \
75 util/bmpscale.cpp \
76 util/vboxhgcm.c
77VBoxOGLcrutil_LIBS.win = \
78 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
79 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib \
80 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/shlwapi.lib
81VBoxOGLcrutil_LIBS = \
82 $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
83 $(VBOX_LIB_VBGL_R3_SHARED)
84ifeq ($(KBUILD_TARGET),linux)
85 VBoxOGLcrutil_LIBS += crypt
86endif
87
88# Needed by GDEbuger
89ifdef CR_NO_GL_SYSTEM_PATH
90VBoxOGLcrutil_DEFS += CR_NO_GL_SYSTEM_PATH
91endif
92ifdef VBOX_WITH_CRHGSMI
93VBoxOGLcrutil_DEFS.win += VBOX_WITH_CRHGSMI
94VBoxOGLcrutil_LIBS.win += \
95 $(VBOX_PATH_ADDITIONS_LIB)/VBoxWddmUmKmt$(VBOX_SUFF_LIB) \
96 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
97endif
98ifdef VBOX_WITH_WDDM
99VBoxOGLcrutil_DEFS.win += VBOX_WITH_WDDM
100VBoxOGLcrutil_DEFS.win += CR_DEBUG_BACKDOOR_ENABLE
101VBoxOGLcrutil_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
102VBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB)
103endif
104if1of ($(KBUILD_TARGET), linux)
105VBoxOGLcrutil_LDFLAGS += -Wl,-z,nodelete
106endif
107
108# vc7 hangs during compilation of this file when optimizations are enabled.
109#VBoxOGLcrutil_pixel.c_CFLAGS.win.x86 += -Od
110#VBoxOGLhostcrutil_pixel.c_CFLAGS.win.x86 += -Od
111
112if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
113#
114# VBoxOGLcrutil-x86 - x86 VBoxOGLcrutil version built for amd64 build
115#
116LIBRARIES.win.amd64 += VBoxOGLcrutil-x86
117VBoxOGLcrutil-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
118VBoxOGLcrutil-x86_EXTENDS = VBoxOGLcrutil
119VBoxOGLcrutil-x86_BLD_TRG_ARCH = x86
120VBoxOGLcrutil-x86_LIBS = $(VBOX_LIB_IPRT_GUEST_R3_SHARED_X86) \
121 $(VBOX_LIB_VBGL_R3_SHARED_X86)
122VBoxOGLcrutil-x86_LIBS.win = \
123 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/ddraw.lib \
124 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/dxguid.lib
125ifdef VBOX_WITH_CRHGSMI
126# VBOX_WITH_CRHGSMI define is inherited from VBoxOGLcrutil
127VBoxOGLcrutil-x86_LIBS.win += \
128 $(VBOX_PATH_ADDITIONS_LIB)/VBoxWddmUmKmt-x86$(VBOX_SUFF_LIB) \
129 $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
130endif
131VBoxOGLcrutil-x86_DEFS = $(VBoxOGLcrutil_DEFS) VBOX_WDDM_WOW64
132ifdef VBOX_WITH_WDDM
133# CR_DEBUG_BACKDOOR_ENABLE define is inherited from VBoxOGLcrutil
134VBoxOGLcrutil-x86_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
135VBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB)
136endif
137# vc7 hangs during compilation of this file when optimizations are enabled.
138#VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
139#VBoxOGLcrutil-x86_pixel.c_CFLAGS += -Od
140endif
141
142#
143# VBoxOGLhostcrutil
144#
145VBoxOGLhostcrutil_EXTENDS = VBoxOGLcrutil
146VBoxOGLhostcrutil_TEMPLATE = VBOXCROGLR3HOSTLIB
147if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
148 VBoxOGLhostcrutil_INSTTYPE.win = both
149endif
150if1of ($(KBUILD_TARGET), linux)
151VBoxOGLhostcrutil_LDFLAGS = $(NO_SUCH_VARIABLE)
152endif
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#
168ifdef VBOX_WITH_CRDUMPER
169$(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 $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_isenabled.txt state_extensions_isenabled.txt) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
170 $(call MSG_GENERATE,python,$@,$<)
171 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
172endif
173
174#
175# VBoxOGLcrpacker
176#
177VBoxOGLcrpacker_TEMPLATE = VBOXCROGLR3GUESTLIB
178VBoxOGLcrpacker_INCS = \
179 packer \
180 $(VBOX_GRAPHICS_INCS)
181if1of ($(KBUILD_TARGET), linux solaris freebsd)
182 VBoxOGLcrpacker_INCS += \
183 $(VBOX_GL_INCS)
184endif
185VBoxOGLcrpacker_INTERMEDIATES = \
186 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
187 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
188 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
189 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
190 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
191VBoxOGLcrpacker_SOURCES = \
192 packer/pack_arrays.c \
193 packer/pack_beginend.c \
194 packer/pack_bounds.c \
195 packer/pack_buffer.c \
196 packer/pack_bufferobject.c \
197 packer/pack_client.c \
198 packer/pack_clipplane.c \
199 packer/pack_context.c \
200 packer/pack_error.c \
201 packer/pack_extensions.c \
202 packer/pack_feedback.c \
203 packer/pack_fence.c \
204 packer/pack_fog.c \
205 packer/pack_init.c \
206 packer/pack_lights.c \
207 packer/pack_lists.c \
208 packer/pack_map.c \
209 packer/pack_point.c \
210 packer/pack_misc.c \
211 packer/pack_materials.c \
212 packer/pack_matrices.c \
213 packer/pack_pixels.c \
214 packer/pack_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_visibleregion.c \
220 packer/pack_shaders.c \
221 packer/pack_framebuffer.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_bbox.c \
227 $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
228 $(VBOX_PATH_CROGL_GENFILES)/packer.c \
229 $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
230 $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
231 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h
232ifdef VBOX_WITH_CRHGSMI
233VBoxOGLcrpacker_DEFS.win += VBOX_WITH_CRHGSMI
234endif
235ifdef VBOX_WITH_WDDM
236VBoxOGLcrpacker_DEFS.win += VBOX_WITH_WDDM
237endif
238
239if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
240#
241# VBoxOGLcrpacker-x86 - x86 VBoxOGLcrpacker version built for amd64 build
242#
243LIBRARIES.win.amd64 += VBoxOGLcrpacker-x86
244VBoxOGLcrpacker-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
245VBoxOGLcrpacker-x86_EXTENDS = VBoxOGLcrpacker
246VBoxOGLcrpacker-x86_BLD_TRG_ARCH = x86
247VBoxOGLcrpacker-x86_DEFS = $(VBoxOGLcrpacker_DEFS) VBOX_WDDM_WOW64
248endif
249
250#
251# VBoxOGLhostcrpacker
252#
253VBoxOGLhostcrpacker_EXTENDS = VBoxOGLcrpacker
254VBoxOGLhostcrpacker_TEMPLATE = VBOXCROGLR3HOSTLIB
255
256#
257# Generate files for VBoxOGLcrpacker and VBoxOGLhostcrpacker.
258#
259$(VBOX_PATH_CROGL_GENFILES)/packer.def: $(PATH_SUB_CURRENT)/packer/packer_defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
260 $(call MSG_GENERATE,python,$@,$<)
261 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
262
263$(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 $$@)
264 $(call MSG_GENERATE,python,$@,$<)
265 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
266
267$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h: $(PATH_SUB_CURRENT)/packer/opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
268 $(call MSG_GENERATE,python,$@,$<)
269 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
270
271$(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 $$@)
272 $(call MSG_GENERATE,python,$@,$<)
273 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
274
275$(VBOX_PATH_CROGL_GENFILES)/packer.c: $(PATH_SUB_CURRENT)/packer/packer.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
276 $(call MSG_GENERATE,python,$@,$<)
277 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
278
279$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c: $(PATH_SUB_CURRENT)/packer/packer_bbox.py | $$(dir $$@)
280 $(call MSG_GENERATE,python,$@,$<)
281 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
282
283$(VBOX_PATH_CROGL_GENFILES)/pack_current.c: $(PATH_SUB_CURRENT)/packer/pack_current.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $$@)
284 $(call MSG_GENERATE,python,$@,$<)
285 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
286
287#
288# VBoxOGLspuload
289#
290VBoxOGLspuload_TEMPLATE = VBOXCROGLR3GUESTLIB
291VBoxOGLspuload_INTERMEDIATES = \
292 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
293VBoxOGLspuload_INCS += \
294 $(VBOX_GRAPHICS_INCS)
295if1of ($(KBUILD_TARGET), linux solaris freebsd)
296 VBoxOGLspuload_INCS += \
297 $(VBOX_GL_INCS)
298endif
299VBoxOGLspuload_SOURCES = \
300 spu_loader/spuinit.c \
301 spu_loader/spuload.c \
302 spu_loader/choosevisual.c \
303 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
304 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
305 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
306 $(VBOX_PATH_CROGL_GENFILES)/glloader.c
307VBoxOGLspuload_CLEAN = \
308 $(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
309 $(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
310 $(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
311 $(VBOX_PATH_CROGL_GENFILES)/glloader.c \
312 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
313ifdef VBOX_WITH_CRHGSMI
314VBoxOGLspuload_DEFS.win += VBOX_WITH_CRHGSMI
315endif
316ifdef VBOX_WITH_WDDM
317VBoxOGLspuload_DEFS.win += VBOX_WITH_WDDM
318endif
319
320if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
321#
322# VBoxOGLspuload-x86 - x86 VBoxOGLspuload version built for amd64 build
323#
324LIBRARIES.win.amd64 += VBoxOGLspuload-x86
325VBoxOGLspuload-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
326VBoxOGLspuload-x86_EXTENDS = VBoxOGLspuload
327VBoxOGLspuload-x86_BLD_TRG_ARCH = x86
328VBoxOGLspuload-x86_DEFS = $(VBoxOGLspuload_DEFS) VBOX_WDDM_WOW64
329endif
330
331
332#
333# VBoxOGLhostspuload
334#
335VBoxOGLhostspuload_EXTENDS = VBoxOGLspuload
336VBoxOGLhostspuload_TEMPLATE = VBOXCROGLR3HOSTLIB
337
338#
339# Generate files for VBoxOGLspuload and VBoxOGLhostspuload.
340#
341$(VBOX_PATH_CROGL_GENFILES)/dispatch.c: $(PATH_SUB_CURRENT)/spu_loader/dispatch.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
342 $(call MSG_GENERATE,python,$@,$<)
343 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
344
345$(VBOX_PATH_CROGL_GENFILES)/spucopy.c: $(PATH_SUB_CURRENT)/spu_loader/spucopy.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
346 $(call MSG_GENERATE,python,$@,$<)
347 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(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 MSG_GENERATE,python,$@,$<)
351 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
352
353$(VBOX_PATH_CROGL_GENFILES)/glloader.c: $(PATH_SUB_CURRENT)/spu_loader/glloader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
354 $(call MSG_GENERATE,python,$@,$<)
355 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
356
357$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h: $(PATH_SUB_CURRENT)/spu_loader/dispatchheader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
358 $(call MSG_GENERATE,python,$@,$<)
359 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
360
361
362#
363# VBoxOGLcrstate
364#
365VBoxOGLcrstate_TEMPLATE = VBOXCROGLR3GUESTLIB
366VBoxOGLcrstate_INCS = \
367 state_tracker \
368 $(VBOX_GRAPHICS_INCS)
369if1of ($(KBUILD_TARGET), linux solaris freebsd)
370 VBoxOGLcrstate_INCS += \
371 $(VBOX_GL_INCS)
372endif
373VBoxOGLcrstate_INTERMEDIATES = \
374 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
375 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
376 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
377VBoxOGLcrstate_SOURCES = \
378 state_tracker/state_attrib.c \
379 state_tracker/state_buffer.c \
380 state_tracker/state_bufferobject.c \
381 state_tracker/state_client.c \
382 state_tracker/state_current.c \
383 state_tracker/state_diff.c \
384 state_tracker/state_enable.c \
385 state_tracker/state_error.c \
386 state_tracker/state_evaluators.c \
387 state_tracker/state_feedback.c \
388 state_tracker/state_fence.c \
389 state_tracker/state_flush.c \
390 state_tracker/state_fog.c \
391 state_tracker/state_getstring.c \
392 state_tracker/state_hint.c \
393 state_tracker/state_init.c \
394 state_tracker/state_lighting.c \
395 state_tracker/state_limits.c \
396 state_tracker/state_line.c \
397 state_tracker/state_lists.c \
398 state_tracker/state_multisample.c \
399 state_tracker/state_occlude.c \
400 state_tracker/state_pixel.c \
401 state_tracker/state_point.c \
402 state_tracker/state_polygon.c \
403 state_tracker/state_program.c \
404 state_tracker/state_rasterpos.c \
405 state_tracker/state_regcombiner.c \
406 state_tracker/state_stencil.c \
407 state_tracker/state_texture.c \
408 state_tracker/state_teximage.c \
409 state_tracker/state_texdiff.c \
410 state_tracker/state_transform.c \
411 state_tracker/state_viewport.c \
412 state_tracker/state_framebuffer.c \
413 state_tracker/state_glsl.c \
414 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
415 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
416 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
417 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
418 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
419 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
420 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
421 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
422 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
423 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
424 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
425 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c
426ifdef VBOX_WITH_CRDUMPER
427VBoxOGLcrstate_SOURCES += state_tracker/dump.cpp \
428 $(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp
429endif
430VBoxOGLcrstate_SOURCES.win = \
431 $(PATH_ROOT)/src/VBox/Runtime/common/asm/ASMBitNextClear.asm \
432 $(PATH_ROOT)/src/VBox/Runtime/common/asm/ASMBitNextSet.asm
433
434VBoxOGLcrstate_CLEAN = \
435 $(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
436 $(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
437 $(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
438 $(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
439 $(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
440 $(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
441 $(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
442 $(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
443 $(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
444 $(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
445 $(VBOX_PATH_CROGL_GENFILES)/state_get.c \
446 $(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c \
447 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
448ifdef VBOX_WITH_CRDUMPER
449VBoxOGLcrstate_CLEAN += $(VBOX_PATH_CROGL_GENFILES)/dump_gen.cpp
450endif
451
452ifneq ($(KBUILD_TARGET),win)
453state_tracker/state_lists.c_CFLAGS += $(VBOX_GCC_Wno-pointer-sign)
454VBoxOGLcrstate_CFLAGS +=
455endif
456ifdef VBOX_WITH_CRHGSMI
457VBoxOGLcrstate_DEFS.win += VBOX_WITH_CRHGSMI
458endif
459ifdef VBOX_WITH_WDDM
460VBoxOGLcrstate_DEFS.win += VBOX_WITH_WDDM
461endif
462ifdef VBOX_WITH_CRDUMPER
463VBoxOGLcrstate_DEFS += VBOX_WITH_CRDUMPER
464endif
465
466if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
467#
468# VBoxOGLcrstate-x86 - x86 VBoxOGLcrstate version built for amd64 build
469#
470LIBRARIES.win.amd64 += VBoxOGLcrstate-x86
471VBoxOGLcrstate-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
472VBoxOGLcrstate-x86_EXTENDS = VBoxOGLcrstate
473VBoxOGLcrstate-x86_BLD_TRG_ARCH = x86
474VBoxOGLcrstate-x86_DEFS = $(VBoxOGLcrstate_DEFS) VBOX_WDDM_WOW64
475endif
476
477
478#
479# VBoxOGLhostcrstate
480#
481VBoxOGLhostcrstate_EXTENDS = VBoxOGLcrstate
482VBoxOGLhostcrstate_TEMPLATE = VBOXCROGLR3HOSTLIB
483VBoxOGLhostcrstate_SOURCES = \
484 $(VBoxOGLcrstate_SOURCES) \
485 state_tracker/state_snapshot.c
486
487#
488# Generate files for VBoxOGLcrstate and VBoxOGLhostcrstate.
489#
490
491
492$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_buffer.txt gendiffcode.py) | $$(dir $$@)
493 $(call MSG_GENERATE,python,$@,$<)
494 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py buffer Buffer $(<D)
495
496$(VBOX_PATH_CROGL_GENFILES)/state_client_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_client.txt gendiffcode.py) | $$(dir $$@)
497 $(call MSG_GENERATE,python,$@,$<)
498 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py client Client $(<D)
499
500$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_current.py convert.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
501 $(call MSG_GENERATE,python,$@,$<)
502 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_current.py
503
504$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_fog.txt gendiffcode.py) | $$(dir $$@)
505 $(call MSG_GENERATE,python,$@,$<)
506 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py fog Fog $(<D)
507
508$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_hint.txt gendiffcode.py) | $$(dir $$@)
509 $(call MSG_GENERATE,python,$@,$<)
510 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py hint Hint $(<D)
511
512$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_lighting.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 lighting Lighting $(<D)
515
516$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_line.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 line Line $(<D)
519
520$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_multisample.txt gendiffcode.py) | $$(dir $$@)
521 $(call MSG_GENERATE,python,$@,$<)
522 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py multisample Multisample $(<D)
523
524$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_polygon.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 polygon Polygon $(<D)
527
528$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_regcombiner.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 regcombiner RegCombiner $(<D)
531
532$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_viewport.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 viewport Viewport $(<D)
535
536$(VBOX_PATH_CROGL_GENFILES)/state_get.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_get.py state_get.txt state_extensions_get.txt get_components.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
537 $(call MSG_GENERATE,python,$@,$<)
538 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_get.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
539
540$(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 $$@)
541 $(call MSG_GENERATE,python,$@,$<)
542 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_isenabled.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
543
544$(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 $$@)
545 $(call MSG_GENERATE,python,$@,$<)
546 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_defs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
547
548$(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 $$@)
549 $(call MSG_GENERATE,python,$@,$<)
550 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_funcs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
551
552
553#
554# VBoxOGLerrorspu
555# @remark See HostServices/OpenGL/Makefile for and explanation of the gl.h
556# and glu.h intermediate files on darwin.
557#
558VBoxOGLerrorspu_TEMPLATE = VBOXCROGLR3GUESTLIB
559VBoxOGLerrorspu_INTERMEDIATES = \
560 $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
561VBoxOGLerrorspu_INCS += \
562 $(VBOX_GRAPHICS_INCS)
563if1of ($(KBUILD_TARGET), linux solaris freebsd)
564 VBoxOGLerrorspu_INCS += \
565 $(VBOX_GL_INCS)
566endif
567VBoxOGLerrorspu_SOURCES = \
568 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c \
569 error/errorspu_init.c
570VBoxOGLerrorspu_CLEAN = \
571 $(VBOX_PATH_CROGL_GENFILES)/errorspu.c
572VBoxOGLerrorspu_LIBS = \
573 $(VBOX_LIB_OGL_CRUTIL)
574ifdef VBOX_WITH_CRHGSMI
575VBoxOGLerrorspu_DEFS.win += VBOX_WITH_CRHGSMI
576endif
577ifdef VBOX_WITH_WDDM
578VBoxOGLerrorspu_DEFS.win += VBOX_WITH_WDDM
579endif
580
581
582if defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CROGL_ADDITIONS)
583#
584# VBoxOGLerrorspu-x86 - x86 VBoxOGLerrorspu version built for amd64 build
585#
586LIBRARIES.win.amd64 += VBoxOGLerrorspu-x86
587VBoxOGLerrorspu-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
588VBoxOGLerrorspu-x86_EXTENDS = VBoxOGLerrorspu
589VBoxOGLerrorspu-x86_BLD_TRG_ARCH = x86
590VBoxOGLerrorspu-x86_LIBS = \
591 $(VBOX_LIB_OGL_CRUTIL_X86)
592VBoxOGLerrorspu-x86_DEFS = $(VBoxOGLerrorspu_DEFS) VBOX_WDDM_WOW64
593endif
594
595#
596# VBoxOGLhosterrorspu
597#
598VBoxOGLhosterrorspu_EXTENDS = VBoxOGLerrorspu
599VBoxOGLhosterrorspu_TEMPLATE = VBOXCROGLR3HOSTLIB
600if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
601 VBoxOGLhosterrorspu_INSTTYPE.win = both
602endif
603
604#
605# Generate files for VBoxOGLerrorspu and VBoxOGLhosterrorspu.
606#
607$(VBOX_PATH_CROGL_GENFILES)/errorspu.c: $(PATH_SUB_CURRENT)/error/error.py $(VBOX_CROGL_API_FILES)
608 $(call MSG_GENERATE,python,$@,$<)
609 $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
610include $(FILE_KBUILD_SUB_FOOTER)
611
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