Makefile.kmk revision b9a6f7db9362492be8b058a52ccf9e52d1eabb67
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# $Id$
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync## @file
60d04d80331ea911c932d4230947de8766fd1f10vboxsync# Sub-Makefile for the VirtualBox Guest/Host OpenGL part
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync#
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync#
60d04d80331ea911c932d4230947de8766fd1f10vboxsync# Copyright (C) 2008 Sun Microsystems, Inc.
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync#
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# available from http://www.virtualbox.org. This file is free software;
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# you can redistribute it and/or modify it under the terms of the GNU
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# General Public License (GPL) as published by the Free Software
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync#
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# additional information or have any questions.
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync#
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync
60d04d80331ea911c932d4230947de8766fd1f10vboxsyncSUB_DEPTH = ../../../..
60d04d80331ea911c932d4230947de8766fd1f10vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
60d04d80331ea911c932d4230947de8766fd1f10vboxsync
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync
60d04d80331ea911c932d4230947de8766fd1f10vboxsync#
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# Target lists.
60d04d80331ea911c932d4230947de8766fd1f10vboxsync#
c785dbab313731d1f4662b4684c0808cc14703dbvboxsyncBLDDIRS += \
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync $(VBOX_PATH_CROGL_GENFILES)/ \
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync $(VBOX_PATH_CROGL_GENFILES)/state/
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync
60d04d80331ea911c932d4230947de8766fd1f10vboxsyncifdef VBOX_WITH_ADDITIONS
60d04d80331ea911c932d4230947de8766fd1f10vboxsync DLLS += VBoxOGLcrutil VBoxOGLerrorspu
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsync LIBRARIES += VBoxOGLcrpacker VBoxOGLspuload VBoxOGLcrstate
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncendif
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsync
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncifndef VBOX_ONLY_ADDITIONS
60d04d80331ea911c932d4230947de8766fd1f10vboxsync DLLS += VBoxOGLhostcrutil VBoxOGLhosterrorspu
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsync LIBRARIES += VBoxOGLhostcrpacker VBoxOGLhostspuload VBoxOGLhostcrstate
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncendif
60d04d80331ea911c932d4230947de8766fd1f10vboxsync
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync#
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync# VBoxOGLcrutil
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsync#
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncVBoxOGLcrutil_TEMPLATE = VBOXCROGLR3GUESTDLL
60d04d80331ea911c932d4230947de8766fd1f10vboxsyncVBoxOGLcrutil_SDKS.win = DXSDK
c785dbab313731d1f4662b4684c0808cc14703dbvboxsyncVBoxOGLcrutil_INTERMEDIATES = $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h
65bf1f6d653bb965c8268e041381df0fa2ff3b09vboxsyncVBoxOGLcrutil_SOURCES = \
65bf1f6d653bb965c8268e041381df0fa2ff3b09vboxsync util/bbox.c \
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync util/bufpool.c \
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync util/calllists.c \
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync util/devnull.c \
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync util/dll.c \
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync util/endian.c \
c785dbab313731d1f4662b4684c0808cc14703dbvboxsync util/environment.c \
60d04d80331ea911c932d4230947de8766fd1f10vboxsync util/error.c \
util/filenet.c \
util/hash.c \
util/hull.c \
util/list.c \
util/matrix.c \
util/mem.c \
util/net.c \
util/pixel.c \
util/process.c \
util/rand.c \
util/string.c \
util/threads.c \
util/tcpip.c \
util/udptcpip.c \
util/timer.c \
util/url.c \
util/warp.c \
util/vboxhgcm.c \
$(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
VBoxOGLcrutil_SOURCES.win.x86 = \
util/util.def \
util/util.rc
VBoxOGLcrutil_LIBS.win = \
$(PATH_SDK_DXSDK_LIB)/ddraw.lib \
$(PATH_SDK_DXSDK_LIB)/dxguid.lib
VBoxOGLcrutil_LIBS = \
$(VBOX_LIB_IPRT_GUEST_R3) \
$(VBOX_LIB_VBGL_R3_SHARED) \
$(VBOX_LIB_IPRT_GUEST_R3)
VBoxOGLcrutil_CLEAN = \
$(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
# vc7 hangs during compilation of this file when optimizations are enabled.
VBoxOGLcrutil_pixel.c_CFLAGS.win.x86 += -Od
VBoxOGLhostcrutil_pixel.c_CFLAGS.win.x86 += -Od
#
# VBoxOGLhostcrutil
#
VBoxOGLhostcrutil_EXTENDS = VBoxOGLcrutil
VBoxOGLhostcrutil_TEMPLATE = VBOXCROGLR3HOSTDLL
VBoxOGLhostcrutil_LDFLAGS.darwin = $(VBoxOGLcrutil_LDFLAGS.darwin) \
-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhostcrutil.dylib \
-current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
## @todo kBuild bug, possibly same as ticket #51: PATH_SDK_DXSDK_LIB is expanded too early.
# Update. bug 51 was fixed.
# Still fails as PATH_SDK_DXSDK_LIB is empty.
## @todo kBuild: recheck this (note to self).
VBoxOGLhostcrutil_LIBS.win = $(VBoxOGLcrutil_LIBS.win)
VBoxOGLhostcrutil_LIBS = $(LIB_RUNTIME)
#
# Generate files for VBoxOGLcrutil and VBoxOGLhostcrutil.
#
$(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c: $(PATH_SUB_CURRENT)/util/debug_opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
#
# VBoxOGLcrpacker
#
VBoxOGLcrpacker_TEMPLATE = VBOXCROGLR3GUESTLIB
VBoxOGLcrpacker_INCS = \
packer
VBoxOGLcrpacker_INTERMEDIATES = \
$(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
VBoxOGLcrpacker_SOURCES = \
packer/pack_arrays.c \
packer/pack_beginend.c \
packer/pack_bounds.c \
packer/pack_buffer.c \
packer/pack_bufferobject.c \
packer/pack_client.c \
packer/pack_clipplane.c \
packer/pack_context.c \
packer/pack_error.c \
packer/pack_extensions.c \
packer/pack_feedback.c \
packer/pack_fence.c \
packer/pack_fog.c \
packer/pack_init.c \
packer/pack_lights.c \
packer/pack_lists.c \
packer/pack_swap_lists.c \
packer/pack_map.c \
packer/pack_point.c \
packer/pack_swap_map.c \
packer/pack_misc.c \
packer/pack_materials.c \
packer/pack_matrices.c \
packer/pack_pixels.c \
packer/pack_pixelmap.c \
packer/pack_swap_pixelmap.c \
packer/pack_program.c \
packer/pack_regcombiner.c \
packer/pack_stipple.c \
packer/pack_texture.c \
packer/pack_swap_texture.c \
packer/pack_visibleregion.c \
packer/pack_shaders.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
$(VBOX_PATH_CROGL_GENFILES)/packer.c
VBoxOGLcrpacker_CLEAN = \
$(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
$(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
$(VBOX_PATH_CROGL_GENFILES)/packer.c \
$(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h
#
# VBoxOGLhostcrpacker
#
VBoxOGLhostcrpacker_EXTENDS = VBoxOGLcrpacker
VBoxOGLhostcrpacker_TEMPLATE = VBOXCROGLR3HOSTLIB
#
# Generate files for VBoxOGLcrpacker and VBoxOGLhostcrpacker.
#
$(VBOX_PATH_CROGL_GENFILES)/packer.def: $(PATH_SUB_CURRENT)/packer/packer_defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(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 $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h: $(PATH_SUB_CURRENT)/packer/opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(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 $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
$(VBOX_PATH_CROGL_GENFILES)/packer.c: $(PATH_SUB_CURRENT)/packer/packer.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
$(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c: $(PATH_SUB_CURRENT)/packer/packer_bbox.py | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/pack_current.c: $(PATH_SUB_CURRENT)/packer/pack_current.py $(PATH_SUB_CURRENT)/packer/pack_currenttypes.py | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $<
$(VBOX_PATH_CROGL_GENFILES)/%_swap.c: $(PATH_SUB_CURRENT)/packer/%.c $(PATH_SUB_CURRENT)/packer/pack_swap.py | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/pack_swap.py $<
#
# VBoxOGLspuload
#
VBoxOGLspuload_TEMPLATE = VBOXCROGLR3GUESTLIB
VBoxOGLspuload_INTERMEDIATES = \
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
VBoxOGLspuload_SOURCES = \
spu_loader/spuinit.c \
spu_loader/spuload.c \
spu_loader/choosevisual.c \
$(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
$(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
$(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
$(VBOX_PATH_CROGL_GENFILES)/glloader.c
VBoxOGLspuload_CLEAN = \
$(VBOX_PATH_CROGL_GENFILES)/spuchange.c \
$(VBOX_PATH_CROGL_GENFILES)/spucopy.c \
$(VBOX_PATH_CROGL_GENFILES)/dispatch.c \
$(VBOX_PATH_CROGL_GENFILES)/glloader.c \
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
#
# VBoxOGLspuload
#
VBoxOGLhostspuload_EXTENDS = VBoxOGLspuload
VBoxOGLhostspuload_TEMPLATE = VBOXCROGLR3HOSTLIB
#
# Generate files for VBoxOGLspuload and VBoxOGLhostspuload.
#
$(VBOX_PATH_CROGL_GENFILES)/dispatch.c: $(PATH_SUB_CURRENT)/spu_loader/dispatch.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/spucopy.c: $(PATH_SUB_CURRENT)/spu_loader/spucopy.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/spuchange.c: $(PATH_SUB_CURRENT)/spu_loader/spuchange.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/glloader.c: $(PATH_SUB_CURRENT)/spu_loader/glloader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h: $(PATH_SUB_CURRENT)/spu_loader/dispatchheader.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
#
# VBoxOGLcrstate
#
VBoxOGLcrstate_TEMPLATE = VBOXCROGLR3GUESTLIB
VBoxOGLcrstate_INCS = \
state_tracker
VBoxOGLcrstate_INTERMEDIATES = \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
VBoxOGLcrstate_SOURCES = \
state_tracker/state_attrib.c \
state_tracker/state_buffer.c \
state_tracker/state_bufferobject.c \
state_tracker/state_client.c \
state_tracker/state_current.c \
state_tracker/state_diff.c \
state_tracker/state_enable.c \
state_tracker/state_error.c \
state_tracker/state_evaluators.c \
state_tracker/state_feedback.c \
state_tracker/state_fence.c \
state_tracker/state_flush.c \
state_tracker/state_fog.c \
state_tracker/state_getstring.c \
state_tracker/state_hint.c \
state_tracker/state_init.c \
state_tracker/state_lighting.c \
state_tracker/state_limits.c \
state_tracker/state_line.c \
state_tracker/state_lists.c \
state_tracker/state_multisample.c \
state_tracker/state_occlude.c \
state_tracker/state_pixel.c \
state_tracker/state_point.c \
state_tracker/state_polygon.c \
state_tracker/state_program.c \
state_tracker/state_rasterpos.c \
state_tracker/state_regcombiner.c \
state_tracker/state_stencil.c \
state_tracker/state_texture.c \
state_tracker/state_teximage.c \
state_tracker/state_texdiff.c \
state_tracker/state_transform.c \
state_tracker/state_viewport.c \
$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_stencil_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_get.c \
$(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c
VBoxOGLcrstate_CLEAN = \
$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_stencil_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c \
$(VBOX_PATH_CROGL_GENFILES)/state_get.c \
$(VBOX_PATH_CROGL_GENFILES)/state_isenabled.c \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
#
# VBoxOGLhostcrstate
#
VBoxOGLhostcrstate_EXTENDS = VBoxOGLcrstate
VBoxOGLhostcrstate_TEMPLATE = VBOXCROGLR3HOSTLIB
VBoxOGLhostcrstate_SOURCES = \
$(VBoxOGLcrstate_SOURCES) \
state_tracker/state_snapshot.c
#
# Generate files for VBoxOGLcrstate and VBoxOGLhostcrstate.
#
$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_buffer.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py buffer Buffer $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_client_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_client.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py client Client $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_current_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_current.py convert.py) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_current.py
$(VBOX_PATH_CROGL_GENFILES)/state_fog_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_fog.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py fog Fog $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_hint_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_hint.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py hint Hint $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_lighting_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_lighting.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py lighting Lighting $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_line_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_line.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py line Line $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_multisample_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_multisample.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py multisample Multisample $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_point_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_point.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py point Point $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_polygon_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_polygon.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py polygon Polygon $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_regcombiner_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_regcombiner.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py regcombiner RegCombiner $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_stencil_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_stencil.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py stencil Stencil $(<D)
$(VBOX_PATH_CROGL_GENFILES)/state_viewport_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_viewport.txt gendiffcode.py) | $$(dir $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/gendiffcode.py viewport Viewport $(<D)
$(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 $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_get.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
$(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 $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_isenabled.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
$(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 $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_defs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
$(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 $$@)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_funcs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
#
# VBoxOGLerrorspu
# @remark See HostServices/OpenGL/Makefile for and explanation of the gl.h
# and glu.h intermediate files on darwin.
#
VBoxOGLerrorspu_TEMPLATE = VBOXCROGLR3GUESTDLL
VBoxOGLerrorspu_INTERMEDIATES = \
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
VBoxOGLerrorspu_SOURCES = \
$(VBOX_PATH_CROGL_GENFILES)/errorspu.c \
error/errorspu_init.c
VBoxOGLerrorspu_SOURCES.win.x86 = \
error/error.def \
error/errorspu.rc
VBoxOGLerrorspu_CLEAN = \
$(VBOX_PATH_CROGL_GENFILES)/errorspu.c
VBoxOGLerrorspu_LIBS = \
$(VBOX_LIB_OGL_CRUTIL)
#
# VBoxOGLhosterrorspu
#
VBoxOGLhosterrorspu_EXTENDS = VBoxOGLerrorspu
VBoxOGLhosterrorspu_TEMPLATE = VBOXCROGLR3HOSTDLL
VBoxOGLhosterrorspu_LDFLAGS.darwin += $(VBoxOGLerrorspu_LDFLAGS.darwin) \
-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhosterrorspu.dylib \
-current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
VBoxOGLhosterrorspu_LIBS = \
$(VBOX_LIB_OGL_HOSTCRUTIL) \
$(LIB_RUNTIME)
#
# Generate files for VBoxOGLerrorspu and VBoxOGLhosterrorspu.
#
$(VBOX_PATH_CROGL_GENFILES)/errorspu.c: $(PATH_SUB_CURRENT)/error/error.py $(VBOX_CROGL_API_FILES)
$(call MSG_GENERATE,python,$@,$<)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
include $(KBUILD_PATH)/subfooter.kmk