Makefile revision fdfb145366dfdbff6dc106858be1cc8881a23191
2N/A#
2N/A# Makefile for the linux guest additions base directory.
2N/A#
2N/A
2N/A#
2N/A# Copyright (C) 2006 InnoTek Systemberatung GmbH
2N/A#
2N/A# This file is part of VirtualBox Open Source Edition (OSE), as
2N/A# available from http://www.virtualbox.org. This file is free software;
2N/A# you can redistribute it and/or modify it under the terms of the GNU
2N/A# General Public License as published by the Free Software Foundation,
2N/A# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
2N/A# distribution. VirtualBox OSE is distributed in the hope that it will
2N/A# be useful, but WITHOUT ANY WARRANTY of any kind.
2N/A#
2N/A# If you received this file as part of a commercial VirtualBox
2N/A# distribution, then only the terms of your commercial VirtualBox
2N/A# license agreement apply instead of the previous paragraph.
2N/A#
2N/A
2N/ADEPTH = ../../../..
2N/Ainclude $(PATH_KBUILD)/header.kmk
2N/A
2N/AVBOX_VERSION = $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
2N/A
2N/A# This can only be built on a real Linux system.
2N/ASUBDIRS =
2N/Aifeq ($(filter-out linux l4, $(BUILD_TARGET)),)
2N/ASUBDIRS += \
2N/A module \
2N/A daemon \
2N/A xgraphics \
2N/A xmouse
2N/Aifndef VBOX_OSE
2N/ASUBDIRS += \
2N/A sharedfolders
2N/Aendif
2N/Aendif
2N/A
2N/APACKING = $(PATH_BIN)/additions/VBoxLinuxAdditions.run
2N/AOTHER_CLEAN = $(PACKING)
2N/A
2N/A
2N/Ainclude $(PATH_KBUILD)/footer.kmk
2N/A
2N/A
2N/A#
2N/A# Build the Linux Guest Additions self extracting installer.
2N/A#
2N/A
2N/A# We need to depend on all source files for the additions and shared
2N/A# folders kernel modules.
2N/A$(PATH_BIN)/additions/VBoxLinuxAdditions.run: \
2N/A $(INSTARGET_vboxmod-bin) \
2N/A $(PATH_BIN)/additions/vboxadd-timesync \
2N/A installer/vboxadd-timesync.sh \
2N/A installer/vboxadd.sh \
2N/A installer/install.sh \
2N/A ../../Installer/linux/runlevel.sh \
2N/A installer/x11config.pl \
2N/A installer/Makefile.test \
2N/A installer/test.c \
2N/A $(PATH_BIN)/additions/vboxmouse_drv.o \
2N/A $(PATH_BIN)/additions/vboxmouse_drv_70.so \
2N/A $(PATH_BIN)/additions/vboxmouse_drv_71.so \
2N/A $(PATH_BIN)/additions/vboxvideo_drv.o \
2N/A $(PATH_BIN)/additions/vboxvideo_drv_70.so \
2N/A $(PATH_BIN)/additions/vboxvideo_drv_71.so \
2N/A $(if VBOX_OSE,,installer/vboxvfs.sh $(PATH_BIN)/additions/mountvboxsf) \
2N/A $(VBOX_VERSION_STAMP)
2N/A $(call MSG_L1,Creating $@)
2N/A $(QUIET)$(MKDIR) -p $(PATH_TARGET)/install
2N/A# Remove target directory first, otherwise the behaviour of cp will not be
2N/A# what we want if it already exists. See the cp manual page for more details.
2N/A $(QUIET)rm -rf $(PATH_TARGET)/install/module
2N/A $(QUIET)cp -af $(PATH_BIN)/additions/src $(PATH_TARGET)/install/module
2N/A $(QUIET)$(MKDIR) -p $(PATH_TARGET)/install/module/test
2N/A $(QUIET)$(INSTALL) -m 0644 installer/Makefile.test $(PATH_TARGET)/install/module/test/Makefile
2N/A $(QUIET)$(INSTALL) -m 0644 installer/test.c $(PATH_TARGET)/install/module/test/
2N/A $(QUIET)objcopy -S -g -R .comment $(PATH_BIN)/additions/vboxadd-timesync $(PATH_TARGET)/install/vboxadd-timesync
2N/A $(QUIET)$(SED) "s;_VERSION_;$(VBOX_VERSION);g" installer/install.sh | $(SED) "s;_BUILD_;$(shell date);g" | $(SED) "s;_OSE_;$(VBOX_OSE);g" > $(PATH_TARGET)/install/install_.sh
2N/A $(QUIET)$(INSTALL) -m 0755 $(PATH_TARGET)/install/install_.sh $(PATH_TARGET)/install/install.sh
2N/A $(QUIET)$(RM) $(PATH_TARGET)/install/install_.sh
2N/A $(QUIET)$(INSTALL) -m 0755 installer/vboxadd-timesync.sh $(PATH_TARGET)/install
2N/A $(QUIET)$(INSTALL) -m 0755 installer/vboxadd.sh $(PATH_TARGET)/install
2N/A $(QUIET)$(INSTALL) -m 0755 ../../Installer/linux/runlevel.sh $(PATH_TARGET)/install
2N/A $(QUIET)$(INSTALL) -m 0755 installer/x11config.pl $(PATH_TARGET)/install
2N/A $(QUIET)objcopy -S -g -R .comment $(PATH_BIN)/additions/vboxmouse_drv.o $(PATH_TARGET)/install/vboxmouse_drv.o
2N/A $(QUIET)objcopy -S -g -R .comment $(PATH_BIN)/additions/vboxmouse_drv_70.so $(PATH_TARGET)/install/vboxmouse_drv_70.so
2N/A $(QUIET)objcopy -S -g -R .comment $(PATH_BIN)/additions/vboxmouse_drv_71.so $(PATH_TARGET)/install/vboxmouse_drv_71.so
2N/A $(QUIET)objcopy -S -g -R .comment $(PATH_BIN)/additions/vboxvideo_drv.o $(PATH_TARGET)/install/vboxvideo_drv.o
2N/A $(QUIET)objcopy -S -g -R .comment $(PATH_BIN)/additions/vboxvideo_drv_70.so $(PATH_TARGET)/install/vboxvideo_drv_70.so
2N/A $(QUIET)objcopy -S -g -R .comment $(PATH_BIN)/additions/vboxvideo_drv_71.so $(PATH_TARGET)/install/vboxvideo_drv_71.so
2N/Aifndef VBOX_OSE
2N/A $(QUIET)$(INSTALL) -m 0755 installer/vboxvfs.sh $(PATH_TARGET)/install
2N/A $(QUIET)objcopy -S -g -R .comment $(PATH_BIN)/additions/mountvboxsf $(PATH_TARGET)/install/mount.vboxsf
2N/Aendif
2N/A $(QUIET)$(VBOX_MAKESELF) $(PATH_TARGET)/install $@ \
2N/A "VirtualBox $(VBOX_VERSION) Guest Additions for Linux installation" /bin/sh ./install.sh "> /dev/null"
2N/A
2N/A