VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk@ 27679

Last change on this file since 27679 was 27602, checked in by vboxsync, 15 years ago

removed obsolete XFree86 4.2 headers

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 11.9 KB
Line 
1# $Id: Makefile.kmk 27602 2010-03-22 16:30:29Z vboxsync $
2## @file
3# Sub-Makefile for the VBox Linux Additions X.org graphics driver.
4#
5
6#
7# Copyright (C) 2006-2007 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# vboxvideo_drv
27#
28if1of ($(KBUILD_TARGET), linux)
29 SYSMODS += vboxvideo_drv
30 vboxvideo_drv_TEMPLATE = VBOXGUESTR3XF86MOD
31 vboxvideo_drv_DEFS.linux = linux
32 vboxvideo_drv_DEFS.x86 = __i386__
33 # This one has to be defined when building server code on systems where
34 # unslgned long is 64bits
35 vboxvideo_drv_DEFS.amd64 += _XSERVER64
36 vboxvideo_drv_DEFS = \
37 _POSIX_C_SOURCE=199309L _POSIX_SOURCE _XOPEN_SOURCE \
38 _BSD_SOURCE _SVID_SOURCE _GNU_SOURCE SHAPE XINPUT XKB LBX XAPPGROUP \
39 XCSECURITY TOGCUP XF86BIGFONT DPMSExtension PIXPRIV PANORAMIX RENDER \
40 GCCUSESGAS AVOID_GLYPHBLT PIXPRIV SINGLEDEPTH XFreeXDGA XvExtension \
41 XFree86LOADER XFree86Server XF86VIDMODE XvMCExtension SMART_SCHEDULE \
42 BUILDDEBUG X_BYTE_ORDER=X_LITTLE_ENDIAN DNDEBUG FUNCPROTO=15 NARROWPROTO \
43 IN_MODULE XFree86Module
44 vboxvideo_drv_CFLAGS.linux := \
45 -Wno-conversion -Wno-unused-parameter $(VBOX_GCC_Wno-variadic-macros)
46 vboxvideo_drv_INCS = \
47 $(VBOX_PATH_X11_XFREE_4_3)/include \
48 $(VBOX_PATH_X11_XFREE_4_3)/include/X11 \
49 $(VBOX_PATH_X11_XFREE_4_3)/include/X11/extensions \
50 $(VBOX_PATH_X11_XFREE_4_3)/include/extensions \
51 $(VBOX_PATH_X11_XFREE_4_3)/include/fonts \
52 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/afb \
53 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/include \
54 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/fb \
55 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86 \
56 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/common \
57 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/ddc \
58 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/int10 \
59 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/i2c \
60 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support \
61 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/vbe \
62 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support/bus \
63 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/rac \
64 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/ramdac \
65 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/shadowfb \
66 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/vgahw \
67 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf1bpp \
68 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf24_32bpp \
69 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf4bpp \
70 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/mfb \
71 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/mi \
72 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/miext/shadow \
73 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/render \
74 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/randr \
75 $(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/Xext
76 vboxvideo_drv_SOURCES = \
77 vboxvideo_70.c \
78 vboxutils.c
79endif # target linux
80
81
82#
83# vboxvideo_drv_70
84#
85# Remark: The other X.org drivers below are derived from this one. So, to make
86# that as simple as possible we do ifeq/if1of test here and extends the
87# base keywords instead of using .solaris or .linux.
88# Also it is *important* to use := and not = when deriving a properity.
89#
90DLLS += vboxvideo_drv_70
91vboxvideo_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
92if1of ($(KBUILD_TARGET), linux)
93 vboxvideo_drv_70_CFLAGS += \
94 -Wno-conversion -Wno-unused-parameter $(VBOX_GCC_Wno-variadic-macros) # template?
95endif
96vboxvideo_drv_70_DEFS := \
97 XFree86Server IN_MODULE XFree86Module XFree86LOADER XORG_7X RENDER=1
98ifeq ($(KBUILD_TARGET),solaris) # don't use .solaris or anything here.
99 vboxvideo_drv_70_DEFS += _XPG6 __EXTENSIONS__
100endif
101vboxvideo_drv_70_INCS = \
102 $(VBOX_PATH_X11_XORG_7_0) \
103 $(VBOX_PATH_X11_XORG_7_0)/X11 \
104 $(VBOX_PATH_X11_XORG_7_0)/xorg
105vboxvideo_drv_70_SOURCES = \
106 vboxvideo_70.c \
107 vboxutils.c
108
109
110#
111# vboxvideo_drv_71
112#
113DLLS += vboxvideo_drv_71
114vboxvideo_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
115vboxvideo_drv_71_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
116vboxvideo_drv_71_DEFS := $(vboxvideo_drv_70_DEFS)
117vboxvideo_drv_71_INCS = \
118 $(VBOX_PATH_X11_XORG_7_1) \
119 $(VBOX_PATH_X11_XORG_7_1)/X11 \
120 $(VBOX_PATH_X11_XORG_7_1)/xorg
121vboxvideo_drv_71_SOURCES = \
122 vboxvideo_70.c \
123 vboxutils.c
124
125
126#
127# vboxvideo_drv_13
128#
129DLLS += vboxvideo_drv_13
130vboxvideo_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
131vboxvideo_drv_13_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
132vboxvideo_drv_13_DEFS := $(vboxvideo_drv_70_DEFS) VBOXVIDEO_13
133vboxvideo_drv_13_INCS = \
134 $(VBOX_PATH_X11_XORG_1_3) \
135 $(VBOX_PATH_X11_XORG_1_3)/X11 \
136 $(VBOX_PATH_X11_XORG_1_3)/xorg \
137 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
138 $(VBOX_PATH_X11_ROOT)/mesa-7.2/include \
139 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
140 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0
141vboxvideo_drv_13_SOURCES = \
142 vboxvideo_13.c \
143 vboxutils.c
144
145
146#
147# vboxvideo_drv_14
148#
149# This uses the same code (vboxvideo_13.c) as 1.3, but is built
150# for 1.4 as well in case there should be any relevant header changes.
151#
152DLLS += vboxvideo_drv_14
153vboxvideo_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
154vboxvideo_drv_14_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
155vboxvideo_drv_14_DEFS := $(vboxvideo_drv_13_DEFS)
156vboxvideo_drv_14_INCS = \
157 $(VBOX_PATH_X11_XORG_1_4) \
158 $(VBOX_PATH_X11_XORG_1_4)/X11 \
159 $(VBOX_PATH_X11_XORG_1_4)/xorg \
160 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
161 $(VBOX_PATH_X11_ROOT)/mesa-7.2/include \
162 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
163 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0
164vboxvideo_drv_14_SOURCES = \
165 vboxvideo_13.c \
166 vboxutils.c
167
168
169#
170# vboxvideo_drv_15
171#
172DLLS += vboxvideo_drv_15
173vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
174vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
175vboxvideo_drv_15_DEFS := $(vboxvideo_drv_13_DEFS) NO_ANSIC PCIACCESS \
176 VBOX_NO_LOW_COLOUR
177if1of ($(KBUILD_TARGET), linux solaris)
178 vboxvideo_drv_15_DEFS += VBOX_DRI
179endif
180vboxvideo_drv_15_INCS = \
181 $(VBOX_PATH_X11_XORG_1_5) \
182 $(VBOX_PATH_X11_XORG_1_5)/X11 \
183 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
184 $(VBOX_PATH_X11_ROOT)/mesa-7.2/include \
185 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
186 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0 \
187 $(VBOX_PATH_X11_ROOT)/xorg-server-1.5.3
188vboxvideo_drv_15_SOURCES = \
189 vboxvideo_13.c \
190 vboxutils.c
191if1of ($(KBUILD_TARGET), linux solaris)
192 vboxvideo_drv_15_SOURCES += \
193 vboxvideo_dri.c
194endif
195
196
197#
198# vboxvideo_drv_16
199#
200DLLS += vboxvideo_drv_16
201vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
202vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
203vboxvideo_drv_16_DEFS := $(vboxvideo_drv_15_DEFS)
204vboxvideo_drv_16_INCS = \
205 $(VBOX_PATH_X11_XORG_1_6) \
206 $(VBOX_PATH_X11_XORG_1_6)/X11 \
207 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
208 $(VBOX_PATH_X11_ROOT)/mesa-7.2/include \
209 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
210 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0 \
211 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0 \
212 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
213vboxvideo_drv_16_SOURCES := $(vboxvideo_drv_15_SOURCES)
214
215
216#
217# vboxvideo_drv_17
218#
219DLLS += vboxvideo_drv_17
220vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
221vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
222vboxvideo_drv_17_DEFS := $(vboxvideo_drv_15_DEFS)
223## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
224vboxvideo_drv_17_INCS = \
225 $(VBOX_PATH_X11_ROOT)/fontsproto-2.1.0 \
226 $(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
227 $(VBOX_PATH_X11_ROOT)/mesa-7.2/include \
228 $(VBOX_PATH_X11_ROOT)/inputproto-1.9.99.902 \
229 $(VBOX_PATH_X11_ROOT)/libdrm-2.4.13 \
230 $(VBOX_PATH_X11_ROOT)/libpciaccess-0.10.8 \
231 $(VBOX_PATH_X11_ROOT)/pixman-0.16.0 \
232 $(VBOX_PATH_X11_ROOT)/randrproto-1.3.0 \
233 $(VBOX_PATH_X11_ROOT)/renderproto-0.11 \
234 $(VBOX_PATH_X11_ROOT)/xextproto-7.1.1 \
235 $(VBOX_PATH_X11_ROOT)/xf86driproto-2.1.0 \
236 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.99-20090831 \
237 $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local \
238 $(VBOX_PATH_X11_ROOT)/xproto-7.0.15
239vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_15_SOURCES)
240
241
242# Check the undefined symbols in the X.Org modules against lists of allowed
243# symbols. Not very elegant, but it will catch problems early.
244ifdef VBOX_WITH_TESTCASES
245# ifndef VBOX_ONLY_ADDITIONS
246 if1of ($(KBUILD_TARGET),linux solaris)
247 ifeq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
248 ifndef VBOX_ONLY_SDK
249 OUR_PATH_VBOXVIDEO=$(PATH_ROOT)/src/VBox/Additions/x11/vboxvideo
250
251 ifeq ($(KBUILD_TARGET),linux)
252 TESTING += $(PATH_vboxvideo_drv)/tstvboxvideo68.run
253 OTHERS += $(PATH_vboxvideo_drv)/tstvboxvideo68.run
254$$(PATH_vboxvideo_drv)/tstvboxvideo68.run: $$(INSTARGET_vboxvideo_drv)
255 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
256 $(INSTARGET_vboxvideo_drv) $(OUR_PATH_VBOXVIDEO)/undefined_70 --static
257 $(QUIET)$(APPEND) -t "$@" "done"
258 endif
259
260 TESTING += $(PATH_vboxvideo_drv_70)/tstvboxvideo70.run
261 OTHERS += $(PATH_vboxvideo_drv_70)/tstvboxvideo70.run
262$$(PATH_vboxvideo_drv_70)/tstvboxvideo70.run: $$(INSTARGET_vboxvideo_drv_70)
263 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
264 $(INSTARGET_vboxvideo_drv_70) $(OUR_PATH_VBOXVIDEO)/undefined_70
265 $(QUIET)$(APPEND) -t "$@" "done"
266
267 TESTING += $(PATH_vboxvideo_drv_71)/tstvboxvideo71.run
268 OTHERS += $(PATH_vboxvideo_drv_71)/tstvboxvideo71.run
269$$(PATH_vboxvideo_drv_71)/tstvboxvideo71.run: $$(INSTARGET_vboxvideo_drv_71)
270 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
271 $(INSTARGET_vboxvideo_drv_71) $(OUR_PATH_VBOXVIDEO)/undefined_70
272 $(QUIET)$(APPEND) -t "$@" "done"
273
274 TESTING += $(PATH_vboxvideo_drv_13)/tstvboxvideo13.run
275 OTHERS += $(PATH_vboxvideo_drv_13)/tstvboxvideo13.run
276$$(PATH_vboxvideo_drv_13)/tstvboxvideo13.run: $$(INSTARGET_vboxvideo_drv_13)
277 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
278 $(INSTARGET_vboxvideo_drv_13) $(OUR_PATH_VBOXVIDEO)/undefined_13
279 $(QUIET)$(APPEND) -t "$@" "done"
280
281 TESTING += $(PATH_vboxvideo_drv_14)/tstvboxvideo14.run
282 OTHERS += $(PATH_vboxvideo_drv_14)/tstvboxvideo14.run
283$$(PATH_vboxvideo_drv_14)/tstvboxvideo14.run: $$(INSTARGET_vboxvideo_drv_14)
284 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
285 $(INSTARGET_vboxvideo_drv_14) $(OUR_PATH_VBOXVIDEO)/undefined_13
286 $(QUIET)$(APPEND) -t "$@" "done"
287
288 TESTING += $(PATH_vboxvideo_drv_15)/tstvboxvideo15.run
289 OTHERS += $(PATH_vboxvideo_drv_15)/tstvboxvideo15.run
290$$(PATH_vboxvideo_drv_15)/tstvboxvideo15.run: $$(INSTARGET_vboxvideo_drv_15)
291 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
292 $(INSTARGET_vboxvideo_drv_15) $(OUR_PATH_VBOXVIDEO)/undefined_13
293 $(QUIET)$(APPEND) -t "$@" "done"
294
295 TESTING += $(PATH_vboxvideo_drv_16)/tstvboxvideo16.run
296 OTHERS += $(PATH_vboxvideo_drv_16)/tstvboxvideo16.run
297$$(PATH_vboxvideo_drv_16)/tstvboxvideo16.run: $$(INSTARGET_vboxvideo_drv_16)
298 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
299 $(INSTARGET_vboxvideo_drv_16) $(OUR_PATH_VBOXVIDEO)/undefined_13
300 $(QUIET)$(APPEND) -t "$@" "done"
301
302 TESTING += $(PATH_vboxvideo_drv_17)/tstvboxvideo17.run
303 OTHERS += $(PATH_vboxvideo_drv_17)/tstvboxvideo17.run
304$$(PATH_vboxvideo_drv_17)/tstvboxvideo17.run: $$(INSTARGET_vboxvideo_drv_17)
305 $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_TARGET) \
306 $(INSTARGET_vboxvideo_drv_17) $(OUR_PATH_VBOXVIDEO)/undefined_13
307 $(QUIET)$(APPEND) -t "$@" "done"
308
309 endif # ! VBOX_ONLY_SDK
310 endif # eq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
311 endif # eq ($(KBUILD_TARGET),linux)
312# endif # ! VBOX_ONLY_ADDITIONS
313endif # VBOX_WITH_TESTCASES
314
315include $(KBUILD_PATH)/subfooter.kmk
Note: See TracBrowser for help on using the repository browser.

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