VirtualBox

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

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

VBOX_KBUILD_HACKING.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 7.3 KB
Line 
1# $Id: Makefile.kmk 10129 2008-07-03 03:07:18Z 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
22ifdef VBOX_KBUILD_HACKING
23SUB_DEPTH = ../../../..
24else
25SUB_DEPTH = ..
26DEPTH ?= ../../../..
27endif
28include $(KBUILD_PATH)/subheader.kmk
29
30include $(PATH_SUB_CURRENT)/module/Makefile.kmk
31include $(PATH_SUB_CURRENT)/daemon/Makefile.kmk
32include $(PATH_SUB_CURRENT)/sharedfolders/Makefile.kmk
33
34ifndef VBOX_OSE
35 PACKING += $(PATH_BIN)/additions/VBoxLinuxAdditions.run
36 OTHER_CLEAN += $(PACKING)
37 # OSE only contains the source code for this
38 VBOX_SELINUX_CMPLD := $(PATH_SUB_CURRENT)/selinux-fedora/vbox_x11.pp
39endif
40
41VBOX_PATH_LINUX_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/installer
42VBOX_PATH_X11_ADDITION_INSTALLER := $(PATH_ROOT)/src/VBox/Additions/x11/installer
43
44include $(KBUILD_PATH)/subfooter.kmk
45
46ifeq ($(KBUILD_TYPE),debug)
47 BIN_COPY = $(CP) -f
48 BIN_COPY_SYMBOLS = $(CP) -f
49else
50 BIN_COPY = objcopy -S -R .comment
51 BIN_COPY_SYMBOLS = objcopy -g -R .comment
52endif
53
54#
55# Build the Linux Guest Additions self extracting installer.
56#
57# Note that $(PATH_SUB_CURRENT) was changed by subfooter.kmk above and
58# any references should be made via variables assigned a know value via := .
59#
60# We need to depend on all source files for the additions and shared
61# folders kernel modules.
62## @todo Replace the wildcard stuff by the correct file lists now that
63# we've got everything included.
64#
65$(PATH_BIN)/additions/VBoxLinuxAdditions.run: \
66 $(INSTARGET_vboxmod-bin) \
67 $(PATH_BIN)/additions/vboxadd-timesync \
68 $(PATH_BIN)/additions/VBoxClient \
69 $(PATH_BIN)/additions/VBoxControl \
70 $(VBOX_PATH_X11_ADDITION_INSTALLER)/VBoxRandR.sh \
71 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd-timesync.sh \
72 $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient \
73 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxclient.desktop \
74 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd.sh \
75 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/install.sh \
76 $(PATH_ROOT)/src/VBox/Installer/linux/routines.sh \
77 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxvideo.ids \
78 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl \
79 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.test \
80 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/test.c \
81 $(PATH_BIN)/additions/vboxmouse_drv.o \
82 $(PATH_BIN)/additions/vboxmouse_drv_70.so \
83 $(PATH_BIN)/additions/vboxmouse_drv_71.so \
84 $(PATH_BIN)/additions/vboxmouse_drv_14.so \
85 $(PATH_BIN)/additions/vboxvideo_drv.o \
86 $(PATH_BIN)/additions/vboxvideo_drv_70.so \
87 $(PATH_BIN)/additions/vboxvideo_drv_71.so \
88 $(PATH_BIN)/additions/vboxvideo_drv_13.so \
89 $(PATH_BIN)/additions/vboxvideo_drv_14.so \
90 $(PATH_BIN)/additions/vboxvideo_drv_15.so \
91 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxvfs.sh $(PATH_BIN)/additions/mountvboxsf \
92 $(VBOX_SELINUX_CMPLD) \
93 $(wildcard $(PATH_BIN)/additions/src/*) \
94 $(wildcard $(PATH_BIN)/additions/src/*/*) \
95 $(wildcard $(PATH_BIN)/additions/src/*/*/*) \
96 $(wildcard $(PATH_BIN)/additions/src/*/*/*/*) \
97 $(VBOX_VERSION_STAMP)
98 $(call MSG_L1,Creating $@)
99 $(QUIET)$(MKDIR) -p $(PATH_TARGET)/install
100# Remove target directory first, otherwise the behaviour of cp will not be
101# what we want if it already exists. See the cp manual page for more details.
102 $(QUIET)rm -rf $(PATH_TARGET)/install/module
103 $(QUIET)cp -af $(PATH_BIN)/additions/src $(PATH_TARGET)/install/module
104 $(QUIET)$(MKDIR) -p $(PATH_TARGET)/install/module/test
105 $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.test $(PATH_TARGET)/install/module/test/Makefile
106 $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/test.c $(PATH_TARGET)/install/module/test/
107 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxadd-timesync $(PATH_TARGET)/install/vboxadd-timesync
108 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/VBoxClient $(PATH_TARGET)/install/VBoxClient
109 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/VBoxControl $(PATH_TARGET)/install/VBoxControl
110 $(QUIET)$(SED) "s;_VERSION_;$(VBOX_VERSION_STRING);g" $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/install.sh \
111 | $(SED) "s;_BUILD_;$(shell date);g" \
112 | $(SED) "s;_OSE_;$(VBOX_OSE);g" \
113 | $(SED) "s;_BUILDTYPE_;$(KBUILD_TYPE);g" \
114 > $(PATH_TARGET)/install/install_.sh
115 $(QUIET)$(INSTALL) -m 0755 $(PATH_TARGET)/install/install_.sh $(PATH_TARGET)/install/install.sh
116 $(QUIET)$(RM) $(PATH_TARGET)/install/install_.sh
117 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/VBoxRandR.sh $(PATH_TARGET)/install
118 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd-timesync.sh $(PATH_TARGET)/install
119 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient $(PATH_TARGET)/install
120 $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxclient.desktop $(PATH_TARGET)/install
121 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd.sh $(PATH_TARGET)/install
122 $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Installer/linux/routines.sh $(PATH_TARGET)/install
123 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxvideo.ids $(PATH_TARGET)/install
124 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl $(PATH_TARGET)/install
125 $(QUIET)$(BIN_COPY_SYMBOLS) $(PATH_BIN)/additions/vboxmouse_drv.o $(PATH_TARGET)/install/vboxmouse_drv.o
126 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_70.so $(PATH_TARGET)/install/vboxmouse_drv_70.so
127 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_71.so $(PATH_TARGET)/install/vboxmouse_drv_71.so
128 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_14.so $(PATH_TARGET)/install/vboxmouse_drv_14.so
129 $(QUIET)$(BIN_COPY_SYMBOLS) $(PATH_BIN)/additions/vboxvideo_drv.o $(PATH_TARGET)/install/vboxvideo_drv.o
130 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_70.so $(PATH_TARGET)/install/vboxvideo_drv_70.so
131 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_71.so $(PATH_TARGET)/install/vboxvideo_drv_71.so
132 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_13.so $(PATH_TARGET)/install/vboxvideo_drv_13.so
133 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_14.so $(PATH_TARGET)/install/vboxvideo_drv_14.so
134 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_15.so $(PATH_TARGET)/install/vboxvideo_drv_15.so
135 $(QUIET)$(BIN_COPY) $(PATH_BIN)/additions/mountvboxsf $(PATH_TARGET)/install/mount.vboxsf
136 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxvfs.sh $(PATH_TARGET)/install
137ifdef VBOX_SELINUX_CMPLD
138 $(QUIET)$(INSTALL) -m 0755 $(VBOX_SELINUX_CMPLD) $(PATH_TARGET)/install
139endif
140 $(QUIET)$(VBOX_MAKESELF) $(PATH_TARGET)/install $@ \
141 "VirtualBox $(VBOX_VERSION_STRING) Guest Additions for Linux installation" /bin/sh ./install.sh "> /dev/null"
142
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