VirtualBox

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

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

crOpenGL: add opengl feedback/select support, public bug #2920

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 10.1 KB
Line 
1# $Id: Makefile.kmk 17076 2009-02-24 16:24:00Z vboxsync $
2## @file
3# Sub-Makefile for the VirtualBox Guest OpenGL part
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
25#
26# Target lists.
27#
28BLDDIRS += \
29 $(VBOX_PATH_CROGL_GENFILES)/
30
31DLLS += VBoxOGL VBoxOGLarrayspu VBoxOGLpassthroughspu VBoxOGLpackspu VBoxOGLfeedbackspu
32
33#
34# VBoxOGL
35#
36VBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL
37VBoxOGL_INCS = .
38ifeq ($(KBUILD_TARGET),win)
39#fixme?, INTERMEDIATES.win ain't working
40 VBoxOGL_INTERMEDIATES += $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h
41endif
42VBoxOGL_SOURCES = \
43 load.c \
44 stub.c \
45 context.c \
46 $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
47 $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
48 $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
49VBoxOGL_SOURCES.linux = \
50 glx.c \
51 xfont.c \
52 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
53VBoxOGL_SOURCES.win = \
54 wgl.c \
55 icd_drv.c \
56 ogl_hgcm.c \
57 VBoxCROGL.rc \
58 $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
59 $(VBOX_PATH_CROGL_GENFILES)/cropengl.def
60VBoxOGL_CLEAN = \
61 $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c \
62 $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \
63 $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c
64VBoxOGL_CLEAN.linux = \
65 $(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm
66VBoxOGL_CLEAN.win = \
67 $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \
68 $(VBOX_PATH_CROGL_GENFILES)/cropengl.def
69VBoxOGL_LIBS = \
70 $(VBOX_LIB_IPRT_GUEST_R3) \
71 $(VBOX_LIB_VBGL_R3) \
72 $(VBOX_LIB_OGL_CRUTIL) \
73 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB)
74if1of ($(KBUILD_TARGET),linux solaris)
75 VBoxOGL_LIBS += \
76 Xcomposite
77endif
78
79#
80# Generate files for VBoxOGL.
81#
82$(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c: $(PATH_SUB_CURRENT)/NULLfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
83 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
84$(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c: $(PATH_SUB_CURRENT)/tsfuncs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
85 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
86
87ifeq ($(KBUILD_TARGET),win)
88$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/windows_getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
89 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
90$(VBOX_PATH_CROGL_GENFILES)/cropengl.def: $(PATH_SUB_CURRENT)/defs.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
91 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
92$(VBOX_PATH_CROGL_GENFILES)/cr_gl.h: $(PATH_SUB_CURRENT)/cr_gl.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
93 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
94$(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm: \
95 $(PATH_SUB_CURRENT)/windows_i386_exports.py \
96 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
97 | $$(dir $$@)
98 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
99else ifeq ($(KBUILD_TARGET),linux)
100$(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
101 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
102$(VBOX_PATH_CROGL_GENFILES)/linux_exports.asm: \
103 $(PATH_SUB_CURRENT)/Linux_i386_exports.py \
104 $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \
105 | $$(dir $$@)
106 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
107endif
108
109#
110# VBoxOGLarrayspu
111#
112VBoxOGLarrayspu_TEMPLATE = VBOXCROGLR3GUESTDLL
113VBoxOGLarrayspu_INCS = \
114 array
115VBoxOGLarrayspu_INCS.darwin += $(PATH_OUT)/obj/VBoxOGL
116VBoxOGLarrayspu_INTERMEDIATES = \
117 $(VBOX_PATH_CROGL_GENFILES)/state/cr_currentpointers.h \
118 $(VBOX_PATH_CROGL_GENFILES)/state/cr_statefuncs.h
119VBoxOGLarrayspu_SOURCES = \
120 array/arrayspu.c \
121 array/arrayspu_config.c \
122 array/arrayspu_init.c
123VBoxOGLarrayspu_SOURCES.win = \
124 array/arrayspu.def
125VBoxOGLarrayspu_LIBS = \
126 $(VBOX_LIB_OGL_CRUTIL) \
127 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
128 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
129
130#
131# VBoxOGLpassthroughspu
132#
133VBoxOGLpassthroughspu_TEMPLATE = VBOXCROGLR3GUESTDLL
134VBoxOGLpassthroughspu_INCS = \
135 passthrough
136VBoxOGLpassthroughspu_SOURCES = \
137 passthrough/passthroughspu_init.c \
138 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
139VBoxOGLpassthroughspu_SOURCES.win = \
140 passthrough/passthrough.def
141VBoxOGLpassthroughspu_CLEAN = \
142 $(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c
143VBoxOGLpassthroughspu_LIBS = \
144 $(VBOX_LIB_OGL_CRUTIL)
145
146#
147# Generate files for VBoxOGLpassthroughspu.
148#
149$(VBOX_PATH_CROGL_GENFILES)/passthroughspu.c: $(PATH_SUB_CURRENT)/passthrough/passthrough.py $(VBOX_CROGL_API_FILES) | $$(dir $$@)
150 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI)
151
152#
153# VBoxOGLpackspu
154#
155VBoxOGLpackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
156VBoxOGLpackspu_DEFS = TRACKS_STATE=1 PACKS=1
157VBoxOGLpackspu_INCS = \
158 pack
159VBoxOGLpackspu_INTERMEDIATES = \
160 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h
161VBoxOGLpackspu_SOURCES = \
162 pack/packspu_bufferobject.c \
163 pack/packspu_client.c \
164 pack/packspu_config.c \
165 pack/packspu_context.c \
166 pack/packspu_getstring.c \
167 pack/packspu_init.c \
168 pack/packspu_misc.c \
169 pack/packspu_net.c \
170 pack/packspu_swapbuf.c \
171 pack/packspu_pixel.c \
172 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
173 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
174 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
175 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
176VBoxOGLpackspu_SOURCES.win = \
177 pack/pack.def
178VBoxOGLpackspu_CLEAN = \
179 $(VBOX_PATH_CROGL_GENFILES)/packspu_proto.h \
180 $(VBOX_PATH_CROGL_GENFILES)/packspu.c \
181 $(VBOX_PATH_CROGL_GENFILES)/packspu_get.c \
182 $(VBOX_PATH_CROGL_GENFILES)/packspu_flush.c \
183 $(VBOX_PATH_CROGL_GENFILES)/packspu_beginend.c
184VBoxOGLpackspu_LIBS = \
185 $(VBOX_LIB_OGL_CRUTIL) \
186 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
187 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
188 $(PATH_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
189
190#
191# Generate files for VBoxOGLpackspu.
192#
193$(VBOX_PATH_CROGL_GENFILES)/packspu.c: $(addprefix $(PATH_SUB_CURRENT)/pack/,pack.py packspu_special packspu_unimplemented_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
194 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
195
196$(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 $$@)
197 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
198
199$(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 $$@)
200 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
201
202$(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 $$@)
203 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
204
205$(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 $$@)
206 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
207
208#
209# VBoxOGLfeedbackspu
210#
211VBoxOGLfeedbackspu_TEMPLATE = VBOXCROGLR3GUESTDLL
212VBoxOGLfeedbackspu_INCS = \
213 feedback
214VBoxOGLarrayspu_INTERMEDIATES = \
215 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h
216VBoxOGLfeedbackspu_SOURCES = \
217 feedback/feedbackspu_config.c \
218 feedback/feedbackspu_init.c \
219 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
220 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
221VBoxOGLfeedbackspu_SOURCES.win = \
222 feedback/feedback.def
223VBoxOGLfeedbackspu_CLEAN = \
224 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_proto.h \
225 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu.c \
226 $(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c
227VBoxOGLfeedbackspu_LIBS = \
228 $(VBOX_LIB_OGL_CRUTIL) \
229 $(PATH_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
230 $(PATH_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB)
231
232#
233# Generate files for VBoxOGLfeedbackspu.
234#
235$(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 $$@)
236 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
237
238$(VBOX_PATH_CROGL_GENFILES)/feedbackspu_state.c: $(addprefix $(PATH_SUB_CURRENT)/feedback/,feedback_state.py feedback_state_special) $(VBOX_CROGL_API_FILES) | $$(dir $$@)
239 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
240
241$(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 $$@)
242 $(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) $(<D)
243
244include $(KBUILD_PATH)/subfooter.kmk
245
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