Makefile.kmk revision 3beeea0dcd0be851516a5d537c1a654e23cb8cc6
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# Sub-Makefile for the VirtualBox Guest OpenGL part
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# Copyright (C) 2008 Sun Microsystems, Inc.
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# available from http://www.virtualbox.org. This file is free software;
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# you can redistribute it and/or modify it under the terms of the GNU
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# General Public License (GPL) as published by the Free Software
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# additional information or have any questions.
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncSUB_DEPTH = ../../../../..
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync# Target lists.
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncBLDDIRS += \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGLarrayspu \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGLpassthroughspu \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGLpackspu \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGLfeedbackspu
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncif1of ($(KBUILD_TARGET), linux solaris freebsd)
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGLarrayspu \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGLpassthroughspu \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGLpackspu \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGLfeedbackspu
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncif1of ($(KBUILD_TARGET), linux solaris freebsd)
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync #VBoxOGL_DRI = 1
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync ifn1of ($(KBUILD_TARGET),solaris freebsd) # No DRI on Solaris yet
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_FAKEDRI = 1
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync # Only Solaris right now needs C stubs because I can't figure out how to
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync # generate the GOT based relocation ASM yet.
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync ifdef VBoxOGL_FAKEDRI
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),solaris.x86 solaris.amd64 linux.x86 freebsd.x86 freebsd.amd64)
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBOX_OGL_GLX_USE_CSTUBS = 1
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncVBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncVBoxOGL_INCS = .
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncif1of ($(KBUILD_TARGET), linux solaris freebsd)
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_INCS += \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_X11_ROOT)/1.3/xorg \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_MESA_INCS) \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_DEFS += VBOX_NO_NATIVEGL
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncifdef VBoxOGL_DRI
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_DEFS += VBOXOGL_DRI IN_DRI_DRIVER
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncelse ifdef VBoxOGL_FAKEDRI
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_DEFS += VBOXOGL_FAKEDRI
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync ifdef VBOX_OGL_GLX_USE_CSTUBS
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_DEFS += VBOX_OGL_GLX_USE_CSTUBS
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncifeq ($(KBUILD_TARGET),win)
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync#fixme?, INTERMEDIATES.win ain't working
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_INTERMEDIATES += $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncifdef VBoxOGL_DRI
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_INTERMEDIATES += \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/DD_gl.h
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncelse ifdef VBoxOGL_FAKEDRI
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_INTERMEDIATES += \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncVBoxOGL_SOURCES += \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsyncif1of ($(KBUILD_TARGET), linux solaris freebsd)
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_SOURCES += \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync ifdef VBOX_OGL_GLX_USE_CSTUBS
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_SOURCES += glx_c_exports.c
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync ifdef VBoxOGL_DRI
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync VBoxOGL_SOURCES += \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/DD_gl.c \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm
65387740332a42b40ea4312b7dc4e033bcc1d527vboxsync $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm
65387740332a42b40ea4312b7dc4e033bcc1d527vboxsync else ifdef VBoxOGL_FAKEDRI
65387740332a42b40ea4312b7dc4e033bcc1d527vboxsync VBoxOGL_SOURCES += \
65387740332a42b40ea4312b7dc4e033bcc1d527vboxsync ifndef VBOX_OGL_GLX_USE_CSTUBS
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm \
d3a2a299bcbffe128a961d6025beb62d3d0fe082vboxsync $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm
$(VBOX_PATH_CROGL_GENFILES)/freebsd_glxapi_exports.asm \
$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm \
$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
$(VBOX_PATH_CROGL_GENFILES)/linux_exports.c
$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c
$(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c
wgl.c \
$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
$(VBOX_PATH_CROGL_GENFILES)/cropengl.def
$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
$(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
VBoxOGL_CLEAN.linux += \
$(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c
$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
$(VBOX_PATH_CROGL_GENFILES)/cropengl.def
$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \
$(VBOX_PATH_CROGL_GENFILES)/DD_gl.h \
$(VBOX_PATH_CROGL_GENFILES)/DD_gl.c
$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
VBoxOGL_CLEAN.linux += \
$(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm
$(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm
$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
$(PATH_LIB)/libXcomposite.so
$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.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)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.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)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.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)/cropengl.def: $(PATH_SUB_CURRENT)/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_gl.h: $(PATH_SUB_CURRENT)/cr_gl.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)/windows_exports.asm: \
$(PATH_SUB_CURRENT)/windows_i386_exports.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.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)/solaris_exports.c: \
$(PATH_SUB_CURRENT)/SunOS_exports.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c: \
$(PATH_SUB_CURRENT)/FreeBSD_exports.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm: \
$(PATH_SUB_CURRENT)/Linux_i386_exports.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.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)/DD_gl.h: $(PATH_SUB_CURRENT)/DD_glh.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)/DD_gl.c: $(PATH_SUB_CURRENT)/DD_glc.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)/solaris_exports_dri.asm: \
$(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm: \
$(PATH_SUB_CURRENT)/FreeBSD_i386_exports_dri.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
$(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.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)/solaris_exports_dri.asm: \
$(PATH_SUB_CURRENT)/SunOS_i386_exports_dri.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm: $(PATH_SUB_CURRENT)/SunOS_i386_glxapi_exports.py | $$(dir $$@)
$(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \
$(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm: $(PATH_SUB_CURRENT)/Linux_i386_glxapi_exports.py | $$(dir $$@)
$(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c: \
$(PATH_SUB_CURRENT)/SunOS_exports.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
$(VBOX_PATH_CROGL_GENFILES)/linux_exports.c: \
$(PATH_SUB_CURRENT)/Linux_exports.py \
$(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
$(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 \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c: $(PATH_SUB_CURRENT)/passthrough/passthrough.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)/packspu_proto.h \
$(VBOX_PATH_CROGL_GENFILES)/cr_packfunctions.h
$(VBOX_PATH_CROGL_GENFILES)/packspu.c \
$(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
$(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
$(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
$(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
$(VBOX_PATH_CROGL_GENFILES)/packspu.c \
$(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
$(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
$(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
$(PATH_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
$(VBOX_PATH_CROGL_GENFILES)/packspu.c: $(addprefix $(PATH_SUB_CURRENT)/pack/,pack.py packspu_special packspu_unimplemented_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)/packspu_get.c: $(PATH_SUB_CURRENT)/pack/packspu_get.py $(PATH_SUB_CURRENT)/pack/packspu_special $(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib/get_sizes.py $(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)/packspu_flush.c: $(PATH_SUB_CURRENT)/pack/packspu_flush.py $(PATH_SUB_CURRENT)/pack/packspu_flush_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)/packspu_beginend.c: $(PATH_SUB_CURRENT)/pack/packspu_beginend.py $(PATH_SUB_CURRENT)/pack/packspu_vertex_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)/packspu_proto.h: $(addprefix $(PATH_SUB_CURRENT)/pack/,packspu_proto.py packspu_special packspu_unimplemented_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)/feedbackspu_proto.h
$(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h \
$(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
$(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedback.py feedback_special select_special feedback_state_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)/feedbackspu_state.c: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedback_state.py feedback_state_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)/feedbackspu_proto.h: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedbackspu_proto.py feedback_special select_special feedback_state_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)
include $(KBUILD_PATH)/subfooter.kmk