VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/Makefile.kmk@ 15844

Last change on this file since 15844 was 15532, checked in by vboxsync, 16 years ago

crOpenGL: export to OSE

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.2 KB
Line 
1# $Id: Makefile.kmk 15532 2008-12-15 18:53:11Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Windows Chromium OpenGL ICD.
4#
5
6#
7# Copyright (C) 2008 Sun Microsystems, Inc.
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18# Clara, CA 95054 USA or visit http://www.sun.com if you need
19# additional information or have any questions.
20#
21
22SUB_DEPTH = ../../../../../..
23include $(KBUILD_PATH)/subheader.kmk
24
25ifndef VBOX_BLD_PYTHON
26 if1of ($(KBUILD_HOST), win)
27 VBOX_BLD_PYTHON := $(firstword $(rsort $(wildcard $(PATH_DEVTOOLS)/win.x86/python/v*/python$(HOSTSUFF_EXE))) python-not-found.exe)
28 else
29 VBOX_BLD_PYTHON := python$(HOSTSUFF_EXE)
30 endif
31endif
32
33## @todo r=bird: This conflicts with the export you're doing in GuestHost for reasons pointed out there.
34GLAPI_PATH := $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/glapi_parser
35if1of ($(KBUILD_HOST), win)
36 export PYTHONPATH := $(GLAPI_PATH);$(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer;$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib
37else
38 export PYTHONPATH := $(GLAPI_PATH):$(PATH_ROOT)/src/VBox/GuestHost/OpenGL/packer:$(PATH_ROOT)/src/VBox/HostServices/SharedOpenGL/crserverlib
39endif
40## @todo r=bird: See GuestHost makefile.
41APIFILES := $(GLAPI_PATH)/apiutil.py $(GLAPI_PATH)/APIspec.txt
42
43## @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.
44## Also, see comments in the GuestHost makefile.
45# Actually this
46VBOXCROGL_GENFILES := VBoxOGLgen
47PATH_VBOXCROGL_GENFILES := $(PATH_OBJ)/$(VBOXCROGL_GENFILES)
48PATH_VBOXCROGL_INCLUDE := $(PATH_ROOT)/src/VBox/GuestHost/OpenGL/include
49
50# Include sub-makefile(s).
51include $(PATH_SUB_CURRENT)/array/Makefile.kmk
52include $(PATH_SUB_CURRENT)/pack/Makefile.kmk
53include $(PATH_SUB_CURRENT)/passthrough/Makefile.kmk
54
55$$(PATH_VBoxOGL)/cropengl.def: $(PATH_SUB_CURRENT)/defs.py $(APIFILES) | $$(dir $$@)
56 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
57
58ifeq ($(KBUILD_TARGET),win)
59$$(PATH_VBoxOGL)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.py $(APIFILES) | $$(dir $$@)
60 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
61else
62$$(PATH_VBoxOGL)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.py $(APIFILES) | $$(dir $$@)
63 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
64endif
65
66ifeq ($(KBUILD_TARGET),win)
67$$(PATH_VBoxOGL)/windows_exports.asm: \
68 $(PATH_SUB_CURRENT)/windows_i386_exports.py \
69 $(APIFILES) $(PATH_SUB_CURRENT)/entrypoints.py \
70 | $$(dir $$@)
71 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
72$$(PATH_VBoxOGL)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(APIFILES) | $$(dir $$@)
73 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
74$$(PATH_VBoxOGL)/gen/getprocaddress$(SUFF_OBJ): $(PATH_TARGET)/VBoxOGL/cr_gl.h
75endif
76
77$$(PATH_VBoxOGL)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(APIFILES) | $$(dir $$@)
78 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
79
80$$(PATH_VBoxOGL)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.py $(APIFILES) | $$(dir $$@)
81 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
82
83## @todo r=bird: See comments elsewhere about the GEN_?_FILES stuff.
84GEN_C_FILES := getprocaddress.c NULLfuncs.c
85GEN_C_FILES := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_C_FILES))
86
87GEN_C_FILES.win := cropengl.def
88GEN_C_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_C_FILES.win))
89
90GEN_ASM_FILES.win := windows_exports.asm
91GEN_ASM_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_ASM_FILES.win))
92
93GEN_H_FILES.win := cr_gl.h
94GEN_H_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_H_FILES.win))
95
96THREADSAFE=1
97
98DLLS += VBoxOGL
99
100VBoxOGL_TEMPLATE = VBOXGUESTR3NPDLL
101VBoxOGL_DEFS = CHROMIUM_THREADSAFE VBOX_WITH_HGCM
102VBoxOGL_DEFS.win = _WIN32_WINNT=0x0500 WINDOWS=1
103VBoxOGL_DEFS.linux = Linux=1
104VBoxOGL_DEFS.solaris = SunOS=1 GLEXT_64_TYPES_DEFINED
105VBoxOGL_INCS := \
106 $(PATH_SUB_CURRENT) \
107 $(PATH_VBOXCROGL_INCLUDE) \
108 $(PATH_VBOXCROGL_GENFILES) \
109 $(PATH_TARGET)/VBoxOGL
110VBoxOGL_SOURCES := \
111 load.c \
112 stub.c \
113 context.c \
114 $(GEN_C_FILES)
115VBoxOGL_SOURCES.win := wgl.c icd_drv.c ogl_hgcm.c VBoxCROGL.rc $(GEN_ASM_FILES.win) $(GEN_C_FILES.win)
116VBoxOGL_DEPS.win := $(GEN_H_FILES.win)
117VBoxOGL_CLEAN := $(GEN_C_FILES)
118VBoxOGL_CLEAN.win := $(GEN_ASM_FILES.win) $(GEN_H_FILES.win) $(GEN_C_FILES.win)
119
120ifeq ($(THREADSAFE), 1)
121VBoxOGL_DEFS += CHROMIUM_THREADSAFE
122VBoxOGL_SOURCES += $(PATH_TARGET)/VBoxOGL/tsfuncs.c
123VBoxOGL_CLEAN += $(PATH_TARGET)/VBoxOGL/tsfuncs.c
124endif
125
126VBoxOGL_LIBS.win = \
127 $(VBOX_LIB_IPRT_GUEST_R3) \
128 $(VBOX_LIB_VBGL_R3) \
129 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
130 $(PATH_LIB)/VBoxOGLcrutil$(VBOX_SUFF_LIB)
131if1of ($(KBUILD_TARGET), linux solaris) ## @todo r=bird: See dll comment else where.
132 VBoxOGL_LIBS += \
133 $(VBOX_LIB_IPRT_GUEST_R3) \
134 $(VBOX_LIB_VBGL_R3) \
135 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
136 $(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL)
137endif
138
139include $(KBUILD_PATH)/subfooter.kmk
140
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette