Makefile.kmk revision 7d9d33faf699e1338d9a21f76dd54c5fe0a68be0
481N/A# $Id$
481N/A## @file
481N/A# Makefile for the linux guest additions base directory.
481N/A#
481N/A
481N/A#
481N/A# Copyright (C) 2006-2007 innotek GmbH
481N/A#
481N/A# This file is part of VirtualBox Open Source Edition (OSE), as
481N/A# available from http://www.virtualbox.org. This file is free software;
481N/A# you can redistribute it and/or modify it under the terms of the GNU
481N/A# General Public License (GPL) as published by the Free Software
481N/A# Foundation, in version 2 as it comes in the "COPYING" file of the
481N/A# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
481N/A# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
481N/A#
481N/A
481N/ADEPTH = ../../../..
481N/Ainclude $(PATH_KBUILD)/header.kmk
873N/A
481N/A# This can only be built on a real Linux system.
481N/ASUBDIRS =
481N/Aifeq ($(filter-out linux l4, $(BUILD_TARGET)),)
481N/ASUBDIRS += \
481N/A module \
873N/A daemon \
481N/A sharedfolders
481N/Aendif
481N/A
481N/Aifndef VBOX_OSE
481N/APACKING = $(PATH_BIN)/additions/VBoxLinuxAdditions.run
481N/AOTHER_CLEAN = $(PACKING)
481N/A# OSE only contains the source code for this
481N/ASELINUX_CMPLD = selinux-fedora/vbox_x11.pp
481N/Aendif
481N/A
481N/A
481N/Ainclude $(PATH_KBUILD)/footer.kmk
481N/A
481N/A
481N/A#
481N/A# Build the Linux Guest Additions self extracting installer.
481N/A#
481N/A
481N/A# We need to depend on all source files for the additions and shared
481N/A# folders kernel modules.
481N/A$(PATH_BIN)/additions/VBoxLinuxAdditions.run: \
481N/A $(INSTARGET_vboxmod-bin) \
481N/A $(PATH_BIN)/additions/vboxadd-timesync \
619N/A $(PATH_BIN)/additions/vboxadd-xclient \
481N/A installer/vboxadd-timesync.sh \
481N/A installer/98vboxadd-xclient \
481N/A installer/vboxadd.sh \
968N/A installer/install.sh \
968N/A ../../Installer/linux/routines.sh \
619N/A installer/x11config.pl \
619N/A installer/Makefile.test \
619N/A installer/test.c \
619N/A $(PATH_BIN)/additions/vboxmouse_drv.o \
481N/A $(PATH_BIN)/additions/vboxmouse_drv_70.so \
481N/A $(PATH_BIN)/additions/vboxmouse_drv_71.so \
481N/A $(PATH_BIN)/additions/vboxmouse_drv_14.so \
481N/A $(PATH_BIN)/additions/vboxvideo_drv.o \
481N/A $(PATH_BIN)/additions/vboxvideo_drv_70.so \
481N/A $(PATH_BIN)/additions/vboxvideo_drv_71.so \
968N/A $(PATH_BIN)/additions/vboxvideo_drv_13.so \
481N/A $(PATH_BIN)/additions/vboxvideo_drv_14.so \
481N/A installer/vboxvfs.sh $(PATH_BIN)/additions/mountvboxsf \
481N/A $(SELINUX_CMPLD) \
619N/A $(wildcard $(PATH_BIN)/additions/src/*) \
481N/A $(wildcard $(PATH_BIN)/additions/src/*/*) \
481N/A $(wildcard $(PATH_BIN)/additions/src/*/*/*) \
481N/A $(wildcard $(PATH_BIN)/additions/src/*/*/*/*) \
481N/A $(VBOX_VERSION_STAMP)
$(call MSG_L1,Creating $@)
$(QUIET)$(MKDIR) -p $(PATH_TARGET)/install
# Remove target directory first, otherwise the behaviour of cp will not be
# what we want if it already exists. See the cp manual page for more details.
$(QUIET)rm -rf $(PATH_TARGET)/install/module
$(QUIET)cp -af $(PATH_BIN)/additions/src $(PATH_TARGET)/install/module
$(QUIET)$(MKDIR) -p $(PATH_TARGET)/install/module/test
$(QUIET)$(INSTALL) -m 0644 installer/Makefile.test $(PATH_TARGET)/install/module/test/Makefile
$(QUIET)$(INSTALL) -m 0644 installer/test.c $(PATH_TARGET)/install/module/test/
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxadd-timesync $(PATH_TARGET)/install/vboxadd-timesync
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxadd-xclient $(PATH_TARGET)/install/vboxadd-xclient
$(QUIET)$(SED) "s;_VERSION_;$(VBOX_VERSION_STRING);g" installer/install.sh | $(SED) "s;_BUILD_;$(shell date);g" | $(SED) "s;_OSE_;$(VBOX_OSE);g" | $(SED) "s;_BUILDTYPE_;$(BUILD_TYPE);g" > $(PATH_TARGET)/install/install_.sh
$(QUIET)$(INSTALL) -m 0755 $(PATH_TARGET)/install/install_.sh $(PATH_TARGET)/install/install.sh
$(QUIET)$(RM) $(PATH_TARGET)/install/install_.sh
$(QUIET)$(INSTALL) -m 0755 installer/vboxadd-timesync.sh $(PATH_TARGET)/install
$(QUIET)$(INSTALL) -m 0755 installer/98vboxadd-xclient $(PATH_TARGET)/install
$(QUIET)$(INSTALL) -m 0755 installer/vboxadd.sh $(PATH_TARGET)/install
$(QUIET)$(INSTALL) -m 0755 ../../Installer/linux/routines.sh $(PATH_TARGET)/install
$(QUIET)$(INSTALL) -m 0755 installer/x11config.pl $(PATH_TARGET)/install
$(QUIET)objcopy -g -R .comment $(PATH_BIN)/additions/vboxmouse_drv.o $(PATH_TARGET)/install/vboxmouse_drv.o
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxmouse_drv_70.so $(PATH_TARGET)/install/vboxmouse_drv_70.so
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxmouse_drv_71.so $(PATH_TARGET)/install/vboxmouse_drv_71.so
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxmouse_drv_14.so $(PATH_TARGET)/install/vboxmouse_drv_14.so
$(QUIET)objcopy -g -R .comment $(PATH_BIN)/additions/vboxvideo_drv.o $(PATH_TARGET)/install/vboxvideo_drv.o
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxvideo_drv_70.so $(PATH_TARGET)/install/vboxvideo_drv_70.so
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxvideo_drv_71.so $(PATH_TARGET)/install/vboxvideo_drv_71.so
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxvideo_drv_13.so $(PATH_TARGET)/install/vboxvideo_drv_13.so
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/vboxvideo_drv_14.so $(PATH_TARGET)/install/vboxvideo_drv_14.so
$(QUIET)objcopy -S -R .comment $(PATH_BIN)/additions/mountvboxsf $(PATH_TARGET)/install/mount.vboxsf
$(QUIET)$(INSTALL) -m 0755 installer/vboxvfs.sh $(PATH_TARGET)/install
#ifndef VBOX_OSE
$(QUIET)$(INSTALL) -m 0755 selinux-fedora/vbox_x11.pp $(PATH_TARGET)/install
#endif
$(QUIET)$(VBOX_MAKESELF) $(PATH_TARGET)/install $@ \
"VirtualBox $(VBOX_VERSION_STRING) Guest Additions for Linux installation" /bin/sh ./install.sh "> /dev/null"