Makefile.kmk revision d1ba6e0aa4097d7511940e4b2ace7cdc3d0cb0ad
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# Sub-Makefile for the VirtualBox HGCM Service.
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync# Copyright (C) 2008 Sun Microsystems, Inc.
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# available from http://www.virtualbox.org. This file is free software;
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# you can redistribute it and/or modify it under the terms of the GNU
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# General Public License (GPL) as published by the Free Software
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# additional information or have any questions.
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncSUB_DEPTH = ../../../..
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# Target lists.
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncDLLS += VBoxSharedCrOpenGL VBoxOGLrenderspu
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncLIBRARIES += VBoxOGLcrserverlib VBoxOGLcrunpacker
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsyncBLDDIRS += \
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync $(VBOX_PATH_CROGL_GENFILES)/
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsyncifeq ($(KBUILD_TARGET),darwin)
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync # We have to symlink the system headers of OpenGl cause they have some
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync # different directory hierarchy on Mac OS X (no /GL sub directory).
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync # See Config.kmk for the global variables.
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync INSTALLS += DarwinOpenGLHdrs
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync DarwinOpenGLHdrs_INST = $(VBOX_DARWIN_OPENGL_INST)
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync DarwinOpenGLHdrs_SYMLINKS = \
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync $(foreach hdr, $(VBOX_DARWIN_OPENGL_HEADERS),\
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync $(hdr)=>$(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers/$(hdr))
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsyncendif # darwin
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsync# VBoxSharedCrOpenGL
0d6dcfb95042d444f95ad5aa854b8f9976bd8e77vboxsyncVBoxSharedCrOpenGL_TEMPLATE = VBOXCROGLR3HOSTDLL
0165172a2610650f9fcfc668901bc6c2d09144c3vboxsyncifdef VBOX_WITH_XPCOM
0165172a2610650f9fcfc668901bc6c2d09144c3vboxsync VBoxSharedCrOpenGL_DEFS = VBOX_WITH_XPCOM
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxSharedCrOpenGL_INTERMEDIATES = \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(TEMPLATE_VBOXMAINEXE_INTERMEDIATES)
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_INC) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(VBOX_PATH_SDK)/bindings/mscom/include \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_VBoxCOM)
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxSharedCrOpenGL_INCS = \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_VBoxSVC)
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncifdef VBOX_WITH_XPCOM
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync VBoxSharedCrOpenGL_INCS += \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(VBOX_XPCOM_INCS)
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxSharedCrOpenGL_SOURCES = \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxSharedCrOpenGL_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxSharedCrOpenGL.dylib
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxSharedCrOpenGL_LIBS = \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_LIB)/VBoxOGLcrserverlib$(VBOX_SUFF_LIB) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_LIB)/VBoxOGLhostcrstate$(VBOX_SUFF_LIB) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_LIB)/VBoxOGLcrunpacker$(VBOX_SUFF_LIB) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_LIB)/VBoxOGLhostcrpacker$(VBOX_SUFF_LIB) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_LIB)/VBoxOGLhostspuload$(VBOX_SUFF_LIB) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(VBOX_LIB_OGL_HOSTCRUTIL) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(LIB_RUNTIME) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncifeq ($(KBUILD_TARGET),win)
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync VBoxSharedCrOpenGL_LIBS += \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_OBJ)/VBoxOGLrenderspu/VBoxOGLrenderspu$(VBOX_SUFF_LIB) \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls$(VBOX_SUFF_LIB)
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync VBoxSharedCrOpenGL_LIBS += \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(PATH_BIN)/VBoxOGLrenderspu$(VBOX_SUFF_DLL)
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync# VBoxOGLcrserverlib
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxOGLcrserverlib_TEMPLATE = VBOXCROGLR3HOSTLIB
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxOGLcrserverlib_INCS = \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync crserverlib
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxOGLcrserverlib_INTERMEDIATES = \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(VBOX_PATH_CROGL_GENFILES)/spu_dispatch_table.h \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(VBOX_PATH_CROGL_GENFILES)/server_dispatch.h \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsync $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
4338d1606b19c219ef8f200aae7558a8ea7cb796vboxsyncVBoxOGLcrserverlib_SOURCES := \
$(VBOX_PATH_CROGL_GENFILES)/server_dispatch.c \
$(VBOX_PATH_CROGL_GENFILES)/server_retval.c \
$(VBOX_PATH_CROGL_GENFILES)/server_get.c \
$(VBOX_PATH_CROGL_GENFILES)/server_simpleget.c
$(VBOX_PATH_CROGL_GENFILES)/server_dispatch.c \
$(VBOX_PATH_CROGL_GENFILES)/server_retval.c \
$(VBOX_PATH_CROGL_GENFILES)/server_get.c \
$(VBOX_PATH_CROGL_GENFILES)/server_simpleget.c \
$(VBOX_PATH_CROGL_GENFILES)/server_dispatch.h
$(VBOX_PATH_CROGL_GENFILES)/server_dispatch.h: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_dispatch_header.py server_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)/server_dispatch.c: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_dispatch.py server_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)/server_retval.c: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_retval.py server_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)/server_get.c: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_get.py server_special get_components.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)/server_simpleget.c: $(addprefix $(PATH_SUB_CURRENT)/crserverlib/, server_simpleget.py 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)/spu_dispatch_table.h \
$(VBOX_PATH_CROGL_GENFILES)/cr_opcodes.h \
$(VBOX_PATH_CROGL_GENFILES)/unpack_extend.h
$(VBOX_PATH_CROGL_GENFILES)/unpack.c
$(VBOX_PATH_CROGL_GENFILES)/unpack.c \
$(VBOX_PATH_CROGL_GENFILES)/unpack_extend.h
$(VBOX_PATH_CROGL_GENFILES)/unpack.c: $(addprefix $(PATH_SUB_CURRENT)/unpacker/, unpack.py unpacker_special) $(VBOX_PATH_CROGL_GENFILES)/unpack_extend.h $(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)/unpack_extend.h: $(addprefix $(PATH_SUB_CURRENT)/unpacker/, unpack_extend.py unpacker_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)/state/cr_currentpointers.h \
$(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
VBoxOGLrenderspu_LDFLAGS.darwin += -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLrenderspu.dylib
include $(KBUILD_PATH)/subfooter.kmk