Makefile.kmk revision 11f7445114bfc5dc0da9287b950c36658da79236
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# Sub-Makefile for the VirtualBox Guest/Host OpenGL part
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Copyright (C) 2008 Oracle Corporation
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# available from http://www.virtualbox.org. This file is free software;
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# you can redistribute it and/or modify it under the terms of the GNU
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# General Public License (GPL) as published by the Free Software
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsyncSUB_DEPTH = ../../../..
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsyncinclude $(KBUILD_PATH)/subheader.kmk
27537ffef7291d0bb3a24e459a6b94c65586defevboxsync# Target lists.
8c5d1958147c3988a7693b5a7666f5fe21a93b7bvboxsyncBLDDIRS += \
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync $(VBOX_PATH_CROGL_GENFILES)/ \
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync $(VBOX_PATH_CROGL_GENFILES)/state/
8c5d1958147c3988a7693b5a7666f5fe21a93b7bvboxsyncifdef VBOX_WITH_ADDITIONS
c4c106ad74e0ad745ac49a2c4182c4f42ced7248vboxsync DLLS += VBoxOGLcrutil VBoxOGLerrorspu
c4c106ad74e0ad745ac49a2c4182c4f42ced7248vboxsync LIBRARIES += VBoxOGLcrpacker VBoxOGLspuload VBoxOGLcrstate
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncifndef VBOX_ONLY_ADDITIONS
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync DLLS += VBoxOGLhostcrutil VBoxOGLhosterrorspu
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync LIBRARIES += VBoxOGLhostcrpacker VBoxOGLhostspuload VBoxOGLhostcrstate
f7d6665d93770b79026556438d5e081807917420vboxsync# VBoxOGLcrutil
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxOGLcrutil_TEMPLATE = VBOXCROGLR3GUESTDLL
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncif defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxOGLcrutil_INTERMEDIATES = $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncif1of ($(KBUILD_TARGET), linux solaris freebsd)
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync VBoxOGLcrutil_INCS += \
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync $(VBOX_MESA_INCS)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil_SOURCES = \
1d258b8772ee104b5fab3d1743eabc2f5cfe2fa4vboxsync $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync $(PATH_SDK_DXSDK_LIB)/ddraw.lib \
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsync $(PATH_SDK_DXSDK_LIB)/dxguid.lib
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil_LIBS = \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync $(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync $(VBOX_LIB_VBGL_R3_SHARED)
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsyncifdef VBOX_WITH_CRHGSMI
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil_DEFS.win += VBOX_WITH_CRHGSMI
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi$(VBOX_SUFF_LIB)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncifdef VBOX_WITH_WDDM
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil_DEFS.win += CR_DEBUG_BACKDOOR_ENABLE
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncVBoxOGLcrutil_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger$(VBOX_SUFF_LIB)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil_CLEAN = \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync $(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c
1d258b8772ee104b5fab3d1743eabc2f5cfe2fa4vboxsync# vc7 hangs during compilation of this file when optimizations are enabled.
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncif defined(VBOX_WITH_WDDM) && !defined(VBOX_WITHOUT_ADDITIONS)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync# VBoxOGLcrutil-x86 - x86 VBoxOGLcrutil version built for amd64 build
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsyncDLLS.win.amd64 += VBoxOGLcrutil-x86
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsyncVBoxOGLcrutil-x86_TEMPLATE = VBOXCROGLR3GUESTDLL
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil-x86_EXTENDS = VBoxOGLcrutil
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil-x86_BLD_TRG_ARCH = x86
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil-x86_LIBS = $(VBOX_LIB_IPRT_GUEST_R3_SHARED_X86) \
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsync $(VBOX_LIB_VBGL_R3_SHARED_X86)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncifdef VBOX_WITH_CRHGSMI
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync# VBOX_WITH_CRHGSMI define is inherited from VBoxOGLcrutil
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
df3d4c8e9c81584c535676a3d40c57d868ac61bbvboxsyncVBoxOGLcrutil-x86_DEFS = $(VBoxOGLcrutil_DEFS) VBOX_WDDM_WOW64
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncifdef VBOX_WITH_WDDM
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# CR_DEBUG_BACKDOOR_ENABLE define is inherited from VBoxOGLcrutil
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxOGLcrutil-x86_INCS.win += $(PATH_ROOT)/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxOGLcrutil-x86_LIBS.win += $(VBOX_PATH_ADDITIONS_LIB)/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB)
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# vc7 hangs during compilation of this file when optimizations are enabled.
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync# VBoxOGLhostcrutil
22e47c581ecabc66ee210e93099727074f74b2b9vboxsyncVBoxOGLhostcrutil_EXTENDS = VBoxOGLcrutil
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxOGLhostcrutil_TEMPLATE = VBOXCROGLR3HOSTDLL
907ba2c9b3d1821f95be17115ecad9fe8a2cae02vboxsyncif defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_WDDM)
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxOGLhostcrutil_LDFLAGS.darwin = $(VBoxOGLcrutil_LDFLAGS.darwin) \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhostcrutil.dylib
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync## @todo kBuild bug, possibly same as ticket #51: PATH_SDK_DXSDK_LIB is expanded too early.
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync# Update. bug 51 was fixed.
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync# Still fails as PATH_SDK_DXSDK_LIB is empty.
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync## @todo kBuild: recheck this (note to self).
3b58b08293698f7f081b5558c52e80741a4a6763vboxsync $(PATH_SDK_DXSDK_LIB)/ddraw.lib \
c5861c548c83913808475ea59cab2e09a23247c8vboxsync $(PATH_SDK_DXSDK_LIB)/dxguid.lib
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxOGLhostcrutil_LIBS = $(LIB_RUNTIME)
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncifdef VBOX_WITH_CRHGSMI
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxOGLhostcrutil_DEFS += VBOX_WITH_CRHGSMI
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncifdef VBOX_WITH_WDDM
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncVBoxOGLhostcrutil_INCS.win = $(NO_SUCH_VARIABLE)
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncVBoxOGLhostcrutil_DEFS.win = $(NO_SUCH_VARIABLE)
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync# Generate files for VBoxOGLcrutil and VBoxOGLhostcrutil.
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync$(VBOX_PATH_CROGL_GENFILES)/debug_opcodes.c: $(PATH_SUB_CURRENT)/util/debug_opcodes.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(call MSG_GENERATE,python,$@,$<)
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync# VBoxOGLcrpacker
1d258b8772ee104b5fab3d1743eabc2f5cfe2fa4vboxsyncVBoxOGLcrpacker_TEMPLATE = VBOXCROGLR3GUESTLIB
1d258b8772ee104b5fab3d1743eabc2f5cfe2fa4vboxsyncVBoxOGLcrpacker_INCS = \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncif1of ($(KBUILD_TARGET), linux solaris freebsd)
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync VBoxOGLcrpacker_INCS += \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_MESA_INCS)
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsyncVBoxOGLcrpacker_INTERMEDIATES = \
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsync $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsync $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsyncVBoxOGLcrpacker_SOURCES = \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
ae9aaa62489b8ace9ce2a0a15f0b2f7d3be340c6vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
76800c2d8e954bb5249d2d30f4af41c6ea03ad5evboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
76800c2d8e954bb5249d2d30f4af41c6ea03ad5evboxsync $(VBOX_PATH_CROGL_GENFILES)/packer.c
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncVBoxOGLcrpacker_CLEAN = \
1d258b8772ee104b5fab3d1743eabc2f5cfe2fa4vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_arrays_swap.c \
1d258b8772ee104b5fab3d1743eabc2f5cfe2fa4vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_bounds_swap.c \
1d258b8772ee104b5fab3d1743eabc2f5cfe2fa4vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_bufferobject_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_client_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_clipplane_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_fog_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_lights_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_materials_swap.c \
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_matrices_swap.c \
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_misc_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_pixels_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_point_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_program_swap.c \
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_regcombiner_swap.c \
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_stipple_swap.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_bbox.c \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/pack_current.c \
76800c2d8e954bb5249d2d30f4af41c6ea03ad5evboxsync $(VBOX_PATH_CROGL_GENFILES)/packer.c \
76800c2d8e954bb5249d2d30f4af41c6ea03ad5evboxsync $(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsync $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncif defined(VBOX_WITH_WDDM) && !defined(VBOX_WITHOUT_ADDITIONS)
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsync# VBoxOGLcrpacker-x86 - x86 VBoxOGLcrpacker version built for amd64 build
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncLIBRARIES.win.amd64 += VBoxOGLcrpacker-x86
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncVBoxOGLcrpacker-x86_TEMPLATE = VBOXCROGLR3GUESTLIB
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncVBoxOGLcrpacker-x86_EXTENDS = VBoxOGLcrpacker
9a08dd6ed47cffa9cacbb9d53db1ce71d04db61fvboxsyncVBoxOGLcrpacker-x86_BLD_TRG_ARCH = x86
f4ccb18a71e0e531719734918583f84fbc72ebfevboxsyncVBoxOGLcrpacker-x86_DEFS = $(VBoxOGLcrpacker_DEFS) VBOX_WDDM_WOW64
76800c2d8e954bb5249d2d30f4af41c6ea03ad5evboxsync# VBoxOGLhostcrpacker
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxOGLhostcrpacker_EXTENDS = VBoxOGLcrpacker
8dc3361c3de6b4f38230d57c547ab74b713f6ff1vboxsyncVBoxOGLhostcrpacker_TEMPLATE = VBOXCROGLR3HOSTLIB
$(VBOX_PATH_CROGL_GENFILES)/packer.def: $(PATH_SUB_CURRENT)/packer/packer_defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(VBOX_PATH_CROGL_GENFILES)/packer.c: $(PATH_SUB_CURRENT)/packer/packer.py $(PATH_SUB_CURRENT)/packer/packer_special $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
$(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 $$@)
$(VBOX_PATH_CROGL_GENFILES)/%_swap.c: $(PATH_SUB_CURRENT)/packer/%.c $(PATH_SUB_CURRENT)/packer/pack_swap.py | $$(dir $$@)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/pack_swap.py $<
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
$(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)/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
LIBRARIES.win.amd64 += VBoxOGLspuload-x86
$(VBOX_PATH_CROGL_GENFILES)/dispatch.c: $(PATH_SUB_CURRENT)/spu_loader/dispatch.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
$(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_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
state_tracker/state_lists.c_CFLAGS += $(VBOX_GCC_Wno-pointer-sign)
LIBRARIES.win.amd64 += VBoxOGLcrstate-x86
$(VBOX_PATH_CROGL_GENFILES)/state_buffer_gen.c: $(addprefix $(PATH_SUB_CURRENT)/state_tracker/, state_buffer.txt gendiffcode.py) | $$(dir $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(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 $$@)
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $(<D)/state_funcs.py $(VBOX_PATH_CROGL_GLAPI) $(<D)
# and glu.h intermediate files on darwin.
VBoxOGLerrorspu_INSTTYPE.win = none
$(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h
$(VBOX_PATH_CROGL_GENFILES)/errorspu.c \
$(VBOX_PATH_CROGL_GENFILES)/errorspu.c
DLLS.win.amd64 += VBoxOGLerrorspu-x86
-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLhosterrorspu.dylib
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
include $(KBUILD_PATH)/subfooter.kmk