VirtualBox

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

Last change on this file since 16718 was 16480, checked in by vboxsync, 16 years ago

crOpenGL: track visible regions on linux guests + some more exports

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.5 KB
Line 
1# $Id: Makefile.kmk 16480 2009-02-03 10:31:14Z 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
77ifeq ($(KBUILD_TARGET),linux)
78$$(PATH_VBoxOGL)/linux_exports.asm: \
79 $(PATH_SUB_CURRENT)/Linux_i386_exports.py \
80 $(APIFILES) $(PATH_SUB_CURRENT)/entrypoints.py \
81 | $$(dir $$@)
82 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
83endif
84
85$$(PATH_VBoxOGL)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(APIFILES) | $$(dir $$@)
86 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
87
88$$(PATH_VBoxOGL)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.py $(APIFILES) | $$(dir $$@)
89 $(VBOX_BLD_PYTHON) $< $(GLAPI_PATH) > $@
90
91## @todo r=bird: See comments elsewhere about the GEN_?_FILES stuff.
92GEN_C_FILES := getprocaddress.c NULLfuncs.c
93GEN_C_FILES := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_C_FILES))
94
95GEN_C_FILES.win := cropengl.def
96GEN_C_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_C_FILES.win))
97
98GEN_ASM_FILES.win := windows_exports.asm
99GEN_ASM_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_ASM_FILES.win))
100
101GEN_H_FILES.win := cr_gl.h
102GEN_H_FILES.win := $(addprefix $(PATH_TARGET)/VBoxOGL/, $(GEN_H_FILES.win))
103
104THREADSAFE=1
105
106DLLS += VBoxOGL
107
108VBoxOGL_TEMPLATE = VBOXGUESTR3NPDLL
109VBoxOGL_DEFS = CHROMIUM_THREADSAFE VBOX_WITH_HGCM
110VBoxOGL_DEFS.win = _WIN32_WINNT=0x0500 WINDOWS=1
111VBoxOGL_DEFS.linux = Linux=1
112VBoxOGL_DEFS.solaris = SunOS=1 GLEXT_64_TYPES_DEFINED
113VBoxOGL_INCS := \
114 $(PATH_SUB_CURRENT) \
115 $(PATH_VBOXCROGL_INCLUDE) \
116 $(PATH_VBOXCROGL_GENFILES) \
117 $(PATH_TARGET)/VBoxOGL
118VBoxOGL_SOURCES := \
119 load.c \
120 stub.c \
121 context.c \
122 $(GEN_C_FILES)
123VBoxOGL_SOURCES.win := wgl.c icd_drv.c ogl_hgcm.c VBoxCROGL.rc $(GEN_ASM_FILES.win) $(GEN_C_FILES.win)
124VBoxOGL_SOURCES.linux := $(PATH_TARGET)/VBoxOGL/linux_exports.asm glx.c xfont.c
125VBoxOGL_DEPS.win := $(GEN_H_FILES.win)
126VBoxOGL_CLEAN := $(GEN_C_FILES)
127VBoxOGL_CLEAN.win := $(GEN_ASM_FILES.win) $(GEN_H_FILES.win) $(GEN_C_FILES.win)
128
129ifeq ($(THREADSAFE), 1)
130VBoxOGL_DEFS += CHROMIUM_THREADSAFE
131VBoxOGL_SOURCES += $(PATH_TARGET)/VBoxOGL/tsfuncs.c
132VBoxOGL_CLEAN += $(PATH_TARGET)/VBoxOGL/tsfuncs.c
133endif
134
135VBoxOGL_LIBS.win = \
136 $(VBOX_LIB_IPRT_GUEST_R3) \
137 $(VBOX_LIB_VBGL_R3) \
138 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
139 $(PATH_OBJ)/VBoxOGLcrutil/VBoxOGLcrutil$(VBOX_SUFF_LIB)
140if1of ($(KBUILD_TARGET), linux solaris) ## @todo r=bird: See dll comment else where.
141 VBoxOGL_LIBS += \
142 $(VBOX_LIB_IPRT_GUEST_R3) \
143 $(VBOX_LIB_VBGL_R3) \
144 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
145 $(VBOX_PATH_ADDITIONS)/VBoxOGLcrutil$(VBOX_SUFF_DLL) \
146 Xcomposite
147endif
148
149include $(KBUILD_PATH)/subfooter.kmk
150
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