VirtualBox

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

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

*.kmk: Don't link against libcrypt on linux, we resolve crypt_r dynamically in IPRT now. ticketref:18682

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