Index: trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/Makefile.kmk
===================================================================
--- trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/Makefile.kmk	(revision 16863)
+++ trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/Makefile.kmk	(revision 16875)
@@ -1,5 +1,5 @@
 # $Id$
 ## @file
-# Sub-Makefile for the VirtualBox Windows Chromium OpenGL ICD.
+# Sub-Makefile for the VirtualBox Guest OpenGL part
 #
 
@@ -23,128 +23,187 @@
 include	$(KBUILD_PATH)/subheader.kmk
 
-ifndef VBOX_BLD_PYTHON
- if1of ($(KBUILD_HOST), win)
-  VBOX_BLD_PYTHON := $(firstword $(rsort $(wildcard $(PATH_DEVTOOLS)/win.x86/python/v*/python$(HOSTSUFF_EXE))) python-not-found.exe)
- else
-  VBOX_BLD_PYTHON := python$(HOSTSUFF_EXE)
- endif
+#
+# Target lists.
+#
+BLDDIRS += \
+	$(VBOX_PATH_CROGL_GENFILES)/
+
+DLLS += VBoxOGL VBoxOGLarrayspu VBoxOGLpassthroughspu VBoxOGLpackspu
+
+#
+# VBoxOGL
+#
+VBoxOGL_TEMPLATE       = VBOXCROGLR3GUESTDLL
+VBoxOGL_INCS           = .
+ifeq ($(KBUILD_TARGET),win)
+#fixme?, INTERMEDIATES.win ain't working
+ VBoxOGL_INTERMEDIATES += $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
 endif
-
-## @todo r=bird: This conflicts with the export you're doing in GuestHost for reasons pointed out there.
-GLAPI_PATH := $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/glapi_parser
-if1of ($(KBUILD_HOST), win)
- export PYTHONPATH := $(GLAPI_PATH);$(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer;$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib
-else
- export PYTHONPATH := $(GLAPI_PATH):$(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer:$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib
-endif
-## @todo r=bird: See GuestHost makefile.
-APIFILES := $(GLAPI_PATH)/apiutil.py $(GLAPI_PATH)/APIspec.txt
-
-## @todo r=bird: This appears to be common between GuestHost and this file, so move up to Config.kmk. Put it before the SDKs or something.
-## Also, see comments in the GuestHost makefile.
-# Actually this
-VBOXCROGL_GENFILES      := VBoxOGLgen
-PATH_VBOXCROGL_GENFILES := $(PATH_OBJ)/$(VBOXCROGL_GENFILES)
-PATH_VBOXCROGL_INCLUDE  := $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/include
-
-# Include sub-makefile(s).
-include $(PATH_SUB_CURRENT)/array/Makefile.kmk
-include $(PATH_SUB_CURRENT)/pack/Makefile.kmk
-include $(PATH_SUB_CURRENT)/passthrough/Makefile.kmk
-
-$$(PATH_VBoxOGL)/cropengl.def: $(PATH_SUB_CURRENT)/defs.py $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-
-ifeq ($(KBUILD_TARGET),win)
-$$(PATH_VBoxOGL)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.py $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-else
-$$(PATH_VBoxOGL)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.py $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-endif
-
-ifeq ($(KBUILD_TARGET),win)
-$$(PATH_VBoxOGL)/windows_exports.asm: \
-		$(PATH_SUB_CURRENT)/windows_i386_exports.py \
-		$(APIFILES) $(PATH_SUB_CURRENT)/entrypoints.py \
-		| $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-$$(PATH_VBoxOGL)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-$$(PATH_VBoxOGL)/gen/getprocaddress$(SUFF_OBJ): $(PATH_TARGET)/VBoxOGL/cr_gl.h
-endif
-
-ifeq ($(KBUILD_TARGET),linux)
-$$(PATH_VBoxOGL)/linux_exports.asm: \
-		$(PATH_SUB_CURRENT)/Linux_i386_exports.py \
-		$(APIFILES) $(PATH_SUB_CURRENT)/entrypoints.py \
-		| $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-endif
-
-$$(PATH_VBoxOGL)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-
-$$(PATH_VBoxOGL)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.py $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-
-## @todo r=bird: See comments elsewhere about the GEN_?_FILES stuff.
-GEN_C_FILES := getprocaddress.c NULLfuncs.c
-GEN_C_FILES := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_C_FILES))
-
-GEN_C_FILES.win := cropengl.def
-GEN_C_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_C_FILES.win))
-
-GEN_ASM_FILES.win := windows_exports.asm
-GEN_ASM_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_ASM_FILES.win))
-
-GEN_H_FILES.win := cr_gl.h
-GEN_H_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_H_FILES.win))
-
-THREADSAFE=1
-
-DLLS += VBoxOGL
-
-VBoxOGL_TEMPLATE     = VBOXGUESTR3NPDLL
-VBoxOGL_DEFS         = CHROMIUM_THREADSAFE VBOX_WITH_HGCM
-VBoxOGL_DEFS.win     = _WIN32_WINNT=0x0500 WINDOWS=1
-VBoxOGL_DEFS.linux   = Linux=1
-VBoxOGL_DEFS.solaris = SunOS=1 GLEXT_64_TYPES_DEFINED
-VBoxOGL_INCS	     := \
-	$(PATH_SUB_CURRENT) \
-	$(PATH_VBOXCROGL_INCLUDE) \
-	$(PATH_VBOXCROGL_GENFILES) \
-	$(PATH_TARGET)/VBoxOGL
-VBoxOGL_SOURCES    := \
+VBoxOGL_SOURCES        = \
 	load.c \
 	stub.c \
 	context.c \
-	$(GEN_C_FILES)
-VBoxOGL_SOURCES.win := wgl.c icd_drv.c ogl_hgcm.c VBoxCROGL.rc $(GEN_ASM_FILES.win) $(GEN_C_FILES.win)
-VBoxOGL_SOURCES.linux := $(PATH_TARGET)/VBoxOGL/linux_exports.asm glx.c xfont.c
-VBoxOGL_DEPS.win   := $(GEN_H_FILES.win)
-VBoxOGL_CLEAN      := $(GEN_C_FILES)
-VBoxOGL_CLEAN.win  := $(GEN_ASM_FILES.win) $(GEN_H_FILES.win) $(GEN_C_FILES.win)
-
-ifeq ($(THREADSAFE), 1)
-VBoxOGL_DEFS    += CHROMIUM_THREADSAFE
-VBoxOGL_SOURCES += $(PATH_TARGET)/VBoxOGL/tsfuncs.c
-VBoxOGL_CLEAN   += $(PATH_TARGET)/VBoxOGL/tsfuncs.c
-endif
-
-VBoxOGL_LIBS.win = \
+	$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
+	$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
+	$(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
+VBoxOGL_SOURCES.linux  = \
+	glx.c \
+	xfont.c \
+	$(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
+VBoxOGL_SOURCES.win    = \
+	wgl.c \
+	icd_drv.c \
+	ogl_hgcm.c \
+	VBoxCROGL.rc \
+	$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
+	$(VBOX_PATH_CROGL_GENFILES)/cropengl.def
+VBoxOGL_CLEAN          = \
+	$(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
+VBoxOGL_CLEAN.win      = \
+	$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
+	$(VBOX_PATH_CROGL_GENFILES)/cropengl.def
+VBoxOGL_LIBS = \
 	$(VBOX_LIB_IPRT_GUEST_R3) \
 	$(VBOX_LIB_VBGL_R3) \
-	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
-	$(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB)
-if1of ($(KBUILD_TARGET), linux solaris) ## @todo r=bird: See dll comment else where.
+	$(VBOX_LIB_OGL_CRUTIL) \
+	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
+if1of ($(KBUILD_TARGET),linux solaris)
  VBoxOGL_LIBS += \
-	$(VBOX_LIB_IPRT_GUEST_R3) \
-	$(VBOX_LIB_VBGL_R3) \
-	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
-	$(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL) \
 	Xcomposite
 endif
 
+#
+# Generate files for VBoxOGL.
+#
+$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
+	$(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 $$@)
+	$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
+
+ifeq ($(KBUILD_TARGET),win)
+$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
+	$(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 $$@)
+	$(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 $$@)
+	$(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 \
+		| $$(dir $$@)
+	$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
+else ifeq ($(KBUILD_TARGET),linux)
+$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
+	$(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 \
+		| $$(dir $$@)
+	$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
+endif
+
+#
+# VBoxOGLarrayspu
+#
+VBoxOGLarrayspu_TEMPLATE      = VBOXCROGLR3GUESTDLL
+VBoxOGLarrayspu_INCS          = \
+	array
+VBoxOGLarrayspu_INCS.darwin  += $(PATH_OUT)/obj/VBoxOGL
+VBoxOGLarrayspu_INTERMEDIATES = \
+	$(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
+	$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
+VBoxOGLarrayspu_SOURCES       = \
+	array/arrayspu.c \
+	array/arrayspu_config.c \
+	array/arrayspu_init.c
+VBoxOGLarrayspu_SOURCES.win   = \
+	array/arrayspu.def
+VBoxOGLarrayspu_LIBS          = \
+	$(VBOX_LIB_OGL_CRUTIL) \
+	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
+	$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
+
+#
+# VBoxOGLpassthroughspu
+#
+VBoxOGLpassthroughspu_TEMPLATE    = VBOXCROGLR3GUESTDLL
+VBoxOGLpassthroughspu_INCS        = \
+	passthrough
+VBoxOGLpassthroughspu_SOURCES     = \
+	passthrough/passthroughspu_init.c \
+	$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
+VBoxOGLpassthroughspu_SOURCES.win = \
+	passthrough/passthrough.def
+VBoxOGLpassthroughspu_CLEAN       = \
+	$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
+VBoxOGLpassthroughspu_LIBS        = \
+	$(VBOX_LIB_OGL_CRUTIL)
+
+#
+# Generate files for VBoxOGLpassthroughspu.
+#
+$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c: $(PATH_SUB_CURRENT)/passthrough/passthrough.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
+	$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
+
+#
+# VBoxOGLpackspu
+#
+VBoxOGLpackspu_TEMPLATE      = VBOXCROGLR3GUESTDLL
+VBoxOGLpackspu_DEFS          = TRACKS_STATE=1 PACKS=1
+VBoxOGLpackspu_INCS          = \
+	pack
+VBoxOGLpackspu_INTERMEDIATES = \
+	$(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h
+VBoxOGLpackspu_SOURCES    = \
+	pack/packspu_bufferobject.c \
+	pack/packspu_client.c \
+	pack/packspu_config.c \
+	pack/packspu_context.c \
+	pack/packspu_getstring.c \
+	pack/packspu_init.c \
+	pack/packspu_misc.c \
+	pack/packspu_net.c \
+	pack/packspu_swapbuf.c \
+	pack/packspu_pixel.c \
+	$(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
+VBoxOGLpackspu_SOURCES.win = \
+	pack/pack.def
+VBoxOGLpackspu_CLEAN       = \
+	$(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
+VBoxOGLpackspu_LIBS        = \
+	$(VBOX_LIB_OGL_CRUTIL) \
+	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
+	$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
+	$(PATH_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
+
+#
+# Generate files for VBoxOGLpackspu.
+#
+$(VBOX_PATH_CROGL_GENFILES)/packspu.c: $(addprefix $(PATH_SUB_CURRENT)/pack/,pack.py packspu_special packspu_unimplemented_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
+	$(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 $$@)
+	$(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 $$@)
+	$(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 $$@)
+	$(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 $$@)
+	$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
+
 include	$(KBUILD_PATH)/subfooter.kmk
 
Index: trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/array/Makefile.kmk
===================================================================
--- trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/array/Makefile.kmk	(revision 16863)
+++ 	(revision )
@@ -1,63 +1,0 @@
-# $Id$
-## @file
-# Makefile for Chromium SPU loader
-#
-
-#
-# Copyright (C) 2008 Sun Microsystems, Inc.
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
-# Clara, CA 95054 USA or visit http://www.sun.com if you need
-# additional information or have any questions.
-#
-
-SUB_DEPTH = ../../../../../../..
-include	$(KBUILD_PATH)/subheader.kmk
-
-## @todo r=bird: We don't do dependencies like this, and it's also wrong since both arrayspu_config.c
-# and arrayspu_init.c makes use of these headers according to the dependency info.
-# Add these as INTERMEDIATES, that way all sources will depend upon them being made.
-# Btw. *if* you needed such a hack like this, put if *after* the target, not before. [another unwritten rule]
-$$(PATH_VBoxOGLarrayspu)/arrayspu$(SUFF_OBJ): \
-	$(PATH_VBOXCROGL_GENFILES)/state/cr_currentpointers.h \
-	$(PATH_VBOXCROGL_GENFILES)/state/cr_statefuncs.h
-
-DLLS += VBoxOGLarrayspu
-
-VBoxOGLarrayspu_TEMPLATE   = VBOXGUESTR3NPDLL
-VBoxOGLarrayspu_DEFS       = CHROMIUM_THREADSAFE
-VBoxOGLarrayspu_DEFS.win   = _WIN32_WINNT=0x0500 WINDOWS=1
-VBoxOGLarrayspu_DEFS.linux = Linux=1
-VBoxOGLarrayspu_DEFS.solaris = SunOS=1
-VBoxOGLarrayspu_DEFS.darwin  = DARWIN=1 GL_GLEXT_LEGACY
-VBoxOGLarrayspu_INCS      := \
-	$(PATH_VBOXCROGL_INCLUDE) \
-	$(PATH_VBOXCROGL_GENFILES)
-VBoxOGLarrayspu_INCS.darwin += $(PATH_OUT)/obj/VBoxOGL
-VBoxOGLarrayspu_LDFLAGS.darwin += -framework Carbon -framework OpenGL
-VBoxOGLarrayspu_SOURCES    = \
-	arrayspu.c \
-	arrayspu_config.c \
-	arrayspu_init.c
-VBoxOGLarrayspu_SOURCES.win = arrayspu.def
-VBoxOGLarrayspu_LIBS.win    = \
-	$(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB) \
-	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
-	$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
-if1of ($(KBUILD_TARGET), linux solaris darwin)
- VBoxOGLarrayspu_LIBS += \
-	$(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL) \
-	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
-	$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
-endif
-
-include	$(KBUILD_PATH)/subfooter.kmk
-
Index: trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/Makefile.kmk
===================================================================
--- trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/Makefile.kmk	(revision 16863)
+++ 	(revision )
@@ -1,93 +1,0 @@
-# $Id$
-## @file
-# Makefile for Chromium packer
-#
-
-#
-# Copyright (C) 2008 Sun Microsystems, Inc.
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
-# Clara, CA 95054 USA or visit http://www.sun.com if you need
-# additional information or have any questions.
-#
-
-SUB_DEPTH = ../../../../../../..
-include	$(KBUILD_PATH)/subheader.kmk
-
-## @todo r-bird: VBOX_BLD_PYTHON is defined elsewhere, this stuff will not work. Please, merge into parent makefile.
-## Also heed the comments else about these kind of targets.
-
-$$(PATH_VBoxOGLpackspu)/packspu.c: $(PATH_SUB_CURRENT)/pack.py $(PATH_SUB_CURRENT)/packspu_special $(PATH_SUB_CURRENT)/packspu_unimplemented_special $(PATH_TARGET)/VBoxOGLpackspu/packspu_proto.h $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) $(<D) > $@
-
-$$(PATH_VBoxOGLpackspu)/packspu_get.c: $(PATH_SUB_CURRENT)/packspu_get.py $(PATH_SUB_CURRENT)/packspu_special $(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib/get_sizes.py $(PATH_TARGET)/VBoxOGLpackspu/packspu_proto.h $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) $(<D) > $@
-
-$$(PATH_VBoxOGLpackspu)/packspu_flush.c: $(PATH_SUB_CURRENT)/packspu_flush.py $(PATH_SUB_CURRENT)/packspu_flush_special $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) $(<D) > $@
-
-$$(PATH_VBoxOGLpackspu)/packspu_beginend.c: $(PATH_SUB_CURRENT)/packspu_beginend.py $(PATH_SUB_CURRENT)/packspu_vertex_special $(PATH_TARGET)/VBoxOGLpackspu/packspu_proto.h $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) $(<D) > $@
-
-$$(PATH_VBoxOGLpackspu)/packspu_proto.h: $(PATH_SUB_CURRENT)/packspu_proto.py $(PATH_SUB_CURRENT)/packspu_special $(PATH_SUB_CURRENT)/packspu_unimplemented_special $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) $(<D) > $@
-
-## @todo r=bird: GEN_?_FILES has been explained elsewhere.
-GEN_C_FILES := packspu.c packspu_get.c packspu_flush.c packspu_beginend.c
-GEN_C_FILES := $(addprefix $(PATH_TARGET)/VBoxOGLpackspu/, $(GEN_C_FILES))
-
-GEN_H_FILES := packspu_proto.h
-GEN_H_FILES := $(addprefix $(PATH_TARGET)/VBoxOGLpackspu/, $(GEN_H_FILES))
-
-DLLS += VBoxOGLpackspu
-
-VBoxOGLpackspu_TEMPLATE   = VBOXGUESTR3NPDLL
-VBoxOGLpackspu_DEFS       = CHROMIUM_THREADSAFE TRACKS_STATE=1 PACKS=1
-VBoxOGLpackspu_DEFS.win   = _WIN32_WINNT=0x0500 WINDOWS=1
-VBoxOGLpackspu_DEFS.linux = Linux=1
-VBoxOGLpackspu_DEFS.solaris = SunOS=1
-VBoxOGLpackspu_INCS      := \
-	$(PATH_SUB_CURRENT) \
-	$(PATH_VBOXCROGL_INCLUDE) \
-	$(PATH_VBOXCROGL_GENFILES) \
-	$(PATH_TARGET)/VBoxOGLpackspu
-VBoxOGLpackspu_SOURCES   := \
-	packspu_bufferobject.c \
-	packspu_client.c \
-	packspu_config.c \
-	packspu_context.c \
-	packspu_getstring.c \
-	packspu_init.c \
-	packspu_misc.c \
-	packspu_net.c \
-	packspu_swapbuf.c \
-	packspu_pixel.c \
-	$(GEN_C_FILES)
-VBoxOGLpackspu_SOURCES.win = pack.def
-## @todo r=bird: INTERMEDIATES not DEPS.
-VBoxOGLpackspu_DEPS       := \
-	$(GEN_H_FILES)
-VBoxOGLpackspu_CLEAN      := $(GEN_C_FILES) $(GEN_H_FILES)
-VBoxOGLpackspu_LIBS.win    = \
-	$(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB) \
-	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
-	$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
-	$(PATH_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
-if1of ($(KBUILD_TARGET), linux solaris) ## @todo r=bird: this is really 'if win then use implibs, else use dynlibs. The static libs are the same, so do a += for those to shorten the stuff. */
- VBoxOGLpackspu_LIBS += \
-	$(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL) \
-	$(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
-	$(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
-	$(PATH_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
-endif
-
-include	$(KBUILD_PATH)/subfooter.kmk
-
Index: trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/passthrough/Makefile.kmk
===================================================================
--- trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/passthrough/Makefile.kmk	(revision 16863)
+++ 	(revision )
@@ -1,51 +1,0 @@
-# $Id$
-## @file
-# Makefile for Chromium packer
-#
-
-#
-# Copyright (C) 2008 Sun Microsystems, Inc.
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
-# Clara, CA 95054 USA or visit http://www.sun.com if you need
-# additional information or have any questions.
-#
-
-SUB_DEPTH = ../../../../../../..
-include	$(KBUILD_PATH)/subheader.kmk
-
-## @todo r=bird: See comments else where about merging with partent and why it won't work and stuff.
-$$(PATH_VBoxOGLpassthroughspu)/passthroughspu.c: $(PATH_SUB_CURRENT)/passthrough.py $(APIFILES) | $$(dir $$@)
-	$(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
-
-DLLS += VBoxOGLpassthroughspu
-
-VBoxOGLpassthroughspu_TEMPLATE   = VBOXGUESTR3NPDLL
-VBoxOGLpassthroughspu_DEFS       = CHROMIUM_THREADSAFE
-VBoxOGLpassthroughspu_DEFS.win   = _WIN32_WINNT=0x0500 WINDOWS=1
-VBoxOGLpassthroughspu_DEFS.linux = Linux=1
-VBoxOGLpassthroughspu_DEFS.solaris = SunOS=1
-VBoxOGLpassthroughspu_INCS      := \
-	$(PATH_SUB_CURRENT) \
-	$(PATH_VBOXCROGL_INCLUDE) \
-	$(PATH_VBOXCROGL_GENFILES)
-VBoxOGLpassthroughspu_SOURCES    = \
-	passthroughspu_init.c \
-	$(PATH_VBoxOGLpassthroughspu)/passthroughspu.c
-VBoxOGLpassthroughspu_SOURCES.win =  passthrough.def
-VBoxOGLpassthroughspu_CLEAN       = $(PATH_VBoxOGLpassthroughspu)/passthroughspu.c
-VBoxOGLpassthroughspu_LIBS.win    = $(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB)
-if1of ($(KBUILD_TARGET), linux solaris) ## @todo See other make file; if win then implib; else dll;
- VBoxOGLpassthroughspu_LIBS       = $(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL)
-endif
-
-include	$(KBUILD_PATH)/subfooter.kmk
-
