VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/Makefile.kmk@ 22917

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

Additions/linux/installer: kBuild-ify the Makefile, part 1

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 11.4 KB
Line 
1# $Id: Makefile.kmk 22917 2009-09-10 14:15:55Z vboxsync $
2## @file
3# Makefile for the linux guest additions base directory.
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# Include sub-makefiles.
27#
28include $(PATH_SUB_CURRENT)/sharedfolders/Makefile.kmk
29include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
30
31#
32# Globals
33#
34VBOX_LNX_ADD_INS_OUT_DIR := $(PATH_TARGET)/Additions/Installer/linux
35BLDDIRS += \
36 $(VBOX_LNX_ADD_INS_OUT_DIR) \
37 $(VBOX_LNX_ADD_INS_OUT_DIR)/module
38VBOX_PATH_LINUX_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/installer
39VBOX_PATH_X11_ADDITION_INSTALLER := $(PATH_ROOT)/src/VBox/Additions/x11/Installer
40
41#
42# Targets
43#
44ifndef VBOX_OSE
45 BLDDIRS += $(VBOX_LNX_ADD_INS_OUT_DIR)
46 PACKING += $(PATH_BIN)/additions/VBoxLinuxAdditions.run
47 OTHER_CLEAN += $(PACKING)
48 # OSE only contains the source code for this
49 VBOX_SELINUX_CMPLD := $(PATH_SUB_CURRENT)/selinux-fedora/vbox_x11.pp
50endif
51
52ifeq ($(KBUILD_TYPE),debug)
53 VBOX_LNX_ADD_BIN_COPY = $(CP) -f
54 VBOX_LNX_ADD_BIN_COPY_SYMBOLS = $(CP) -f
55else
56 VBOX_LNX_ADD_BIN_COPY = objcopy -S -R .comment
57 VBOX_LNX_ADD_BIN_COPY_SYMBOLS = objcopy -g -R .comment
58endif
59
60INSTALLS += GuestDrivers-src
61GuestDrivers-src_INST = bin/additions/src/
62GuestDrivers-src_MODE = a+r,u+w
63GuestDrivers-src_SOURCES = Makefile
64
65INSTALLS += AutoRun-sh
66AutoRun-sh_INST = bin/additions/
67AutoRun-sh_MODE = a+rx,u+w
68AutoRun-sh_SOURCES = $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/autorun.sh
69
70
71include $(KBUILD_PATH)/subfooter.kmk
72
73
74#
75# Build the Linux Guest Additions self extracting installer.
76#
77# Note that $(PATH_SUB_CURRENT) was changed by subfooter.kmk above and
78# any references should be made via variables assigned a know value via := .
79#
80# We need to depend on all source files for the additions and shared
81# folders kernel modules.
82## @todo Replace the wildcard stuff by the correct file lists now that
83# we've got everything included.
84#
85$(PATH_BIN)/additions/VBoxLinuxAdditions.run: \
86 $(INSTARGET_vboxmod-bin) \
87 $(PATH_BIN)/additions/VBoxService \
88 $(PATH_BIN)/additions/VBoxClient \
89 $(PATH_BIN)/additions/VBoxControl \
90 $(VBOX_PATH_X11_ADDITION_INSTALLER)/VBoxRandR.sh \
91 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd-service.sh \
92 $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient \
93 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxclient.desktop \
94 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd.sh \
95 $(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh \
96 $(PATH_ROOT)/src/VBox/Installer/linux/routines.sh \
97 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxvideo.ids \
98 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl \
99 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config15.pl \
100 $(VBOX_PATH_X11_ADDITION_INSTALLER)/linux_xorg_suse11.conf \
101 $(PATH_BIN)/additions/vboxmouse_drv.o \
102 $(PATH_BIN)/additions/vboxmouse_drv_70.so \
103 $(PATH_BIN)/additions/vboxmouse_drv_71.so \
104 $(PATH_BIN)/additions/vboxmouse_drv_14.so \
105 $(PATH_BIN)/additions/vboxmouse_drv_15.so \
106 $(PATH_BIN)/additions/vboxmouse_drv_16.so \
107 $(PATH_BIN)/additions/vboxmouse_drv_17.so \
108 $(PATH_BIN)/additions/vboxvideo_drv.o \
109 $(PATH_BIN)/additions/vboxvideo_drv_70.so \
110 $(PATH_BIN)/additions/vboxvideo_drv_71.so \
111 $(PATH_BIN)/additions/vboxvideo_drv_13.so \
112 $(PATH_BIN)/additions/vboxvideo_drv_14.so \
113 $(PATH_BIN)/additions/vboxvideo_drv_15.so \
114 $(PATH_BIN)/additions/vboxvideo_drv_16.so \
115 $(PATH_BIN)/additions/vboxvideo_drv_17.so \
116 $(PATH_BIN)/additions/mountvboxsf \
117 $(PATH_BIN)/additions/VBoxOGLarrayspu.so \
118 $(PATH_BIN)/additions/VBoxOGLcrutil.so \
119 $(PATH_BIN)/additions/VBoxOGLerrorspu.so \
120 $(PATH_BIN)/additions/VBoxOGLfeedbackspu.so \
121 $(PATH_BIN)/additions/VBoxOGLpackspu.so \
122 $(PATH_BIN)/additions/VBoxOGLpassthroughspu.so \
123 $(PATH_BIN)/additions/VBoxOGL.so \
124 $(VBOX_SELINUX_CMPLD) \
125 $(VBOX_LNX_ADD_INS_OUT_DIR)/module \
126 $(wildcard $(PATH_BIN)/additions/src/*) \
127 $(wildcard $(PATH_BIN)/additions/src/*/*) \
128 $(wildcard $(PATH_BIN)/additions/src/*/*/*) \
129 $(wildcard $(PATH_BIN)/additions/src/*/*/*/*) \
130 $(VBOX_VERSION_STAMP)
131# Remove target directories first, otherwise the behaviour of cp will not be
132# what we want if it already exists. See the cp manual page for more details.
133 $(QUIET)$(RM) -Rf -- $(VBOX_LNX_ADD_INS_OUT_DIR)/module/vboxguest
134 $(QUIET)cp -af $(PATH_BIN)/additions/src/vboxguest $(VBOX_LNX_ADD_INS_OUT_DIR)/module
135 $(QUIET)$(RM) -Rf -- $(VBOX_LNX_ADD_INS_OUT_DIR)/module/vboxvfs
136 $(QUIET)cp -af $(PATH_BIN)/additions/src/vboxvfs $(VBOX_LNX_ADD_INS_OUT_DIR)/module
137 $(QUIET)$(RM) -Rf -- $(VBOX_LNX_ADD_INS_OUT_DIR)/module/vboxvideo_drm
138 $(QUIET)cp -af $(PATH_BIN)/additions/src/vboxvideo_drm $(VBOX_LNX_ADD_INS_OUT_DIR)/module
139 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxService $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxadd-service
140 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxClient $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxClient
141 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxControl $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxControl
142 $(QUIET)$(INSTALL) -m 0755 $(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh $(VBOX_LNX_ADD_INS_OUT_DIR)/install.sh
143 $(QUIET)$(RM) $(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh
144 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/VBoxRandR.sh $(VBOX_LNX_ADD_INS_OUT_DIR)
145 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd-service.sh $(VBOX_LNX_ADD_INS_OUT_DIR)
146 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient $(VBOX_LNX_ADD_INS_OUT_DIR)
147 $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxclient.desktop $(VBOX_LNX_ADD_INS_OUT_DIR)
148 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd.sh $(VBOX_LNX_ADD_INS_OUT_DIR)
149 $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Installer/linux/routines.sh $(VBOX_LNX_ADD_INS_OUT_DIR)
150 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxvideo.ids $(VBOX_LNX_ADD_INS_OUT_DIR)
151 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl $(VBOX_LNX_ADD_INS_OUT_DIR)
152 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config15.pl $(VBOX_LNX_ADD_INS_OUT_DIR)
153 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/linux_xorg_suse11.conf $(VBOX_LNX_ADD_INS_OUT_DIR)
154 $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/90-vboxguest.fdi $(VBOX_LNX_ADD_INS_OUT_DIR)
155 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY_SYMBOLS) $(PATH_BIN)/additions/vboxmouse_drv.o $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxmouse_drv.o
156 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_70.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxmouse_drv_70.so
157 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_71.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxmouse_drv_71.so
158 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_14.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxmouse_drv_14.so
159 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_15.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxmouse_drv_15.so
160 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_16.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxmouse_drv_16.so
161 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_17.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxmouse_drv_17.so
162 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY_SYMBOLS) $(PATH_BIN)/additions/vboxvideo_drv.o $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv.o
163 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_70.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv_70.so
164 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_71.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv_71.so
165 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_13.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv_13.so
166 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_14.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv_14.so
167 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_15.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv_15.so
168 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_16.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv_16.so
169 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_17.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv_17.so
170 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/mountvboxsf $(VBOX_LNX_ADD_INS_OUT_DIR)/mount.vboxsf
171 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxOGLarrayspu.so $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxOGLarrayspu.so
172 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxOGLcrutil.so $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxOGLcrutil.so
173 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxOGLerrorspu.so $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxOGLerrorspu.so
174 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxOGLfeedbackspu.so $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxOGLfeedbackspu.so
175 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxOGLpackspu.so $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxOGLpackspu.so
176 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxOGLpassthroughspu.so $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxOGLpassthroughspu.so
177 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxOGL.so $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxOGL.so
178ifdef VBOX_SELINUX_CMPLD
179 $(QUIET)$(INSTALL) -m 0755 $(VBOX_SELINUX_CMPLD) $(VBOX_LNX_ADD_INS_OUT_DIR)
180endif
181 $(QUIET)$(VBOX_MAKESELF) $(VBOX_LNX_ADD_INS_OUT_DIR) $@ \
182 "VirtualBox $(VBOX_VERSION_STRING) Guest Additions for Linux installation" /bin/sh ./install.sh "> /dev/null"
183
184
185# files that need editing before they can be included in the generic installer.
186$(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh: \
187 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/install.sh | $$(dir $$@)
188 $(QUIET)$(SED) \
189 -e "s;_VERSION_;$(VBOX_VERSION_STRING);g" \
190 -e "s;_BUILD_;$(shell date);g" \
191 -e "s;_OSE_;$(VBOX_OSE);g" \
192 -e "s;_BUILDTYPE_;$(KBUILD_TYPE);g" \
193 -e "s;_ARCH_;$(KBUILD_TARGET_ARCH);g" \
194 --output $@ \
195 $<
196
197
198#
199# Install the sources of our (sanity) test kernel module
200#
201INSTALLS += LnxAddTest-src
202LnxAddTest-src_INST = obj/Additions/Installer/linux/module/test
203LnxAddTest-src_MODE = a+r,u+w
204LnxAddTest-src_SOURCES = \
205 linux/installer/Makefile.test=>Makefile \
206 linux/installer/test.c
207
208
209#
210# Install the sources of our (sanity) test kernel rendering (DRM) module
211#
212INSTALLS += LnxAddDRM-src
213LnxAddDRM-src_INST = obj/Additions/Installer/linux/module/test_drm
214LnxAddDRM-src_MODE = a+r,u+w
215LnxAddDRM-src_SOURCES = \
216 linux/installer/Makefile.include.header \
217 linux/installer/Makefile.include.footer \
218 linux/installer/Makefile.test.drm=>Makefile \
219 linux/installer/test_drm.c
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