Makefile.kmk revision e8deb95042455de8c2d224de59747541461cff7c
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Makefile for the Linux installer.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Copyright (C) 2006-2007 innotek GmbH
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# available from http://www.virtualbox.org. This file is free software;
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# you can redistribute it and/or modify it under the terms of the GNU
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# General Public License (GPL) as published by the Free Software
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncDEPTH = ../../../..
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncinclude $(PATH_KBUILD)/header.kmk
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncifneq ($(BUILD_PLATFORM),linux)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync$(error "The Linux installer can only be built on Linux!") # yeah, right.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncVBOX_NO_LINUX_RUN_INSTALLER ?= $(VBOX_OSE)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncPROGRAMS = VBoxTunctl
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncPACKING = $(if $(VBOX_NO_LINUX_RUN_INSTALLER),,$(PATH_BIN)/VirtualBox.run)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncPACKING += $(PATH_BIN)/VirtualBox.tar.bz2
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncOTHER_CLEAN = $(addprefix $(PATH_TARGET)/install/,\
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(wildcard $(PATH_TARGET)/VirtualBox-*)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncINSTALLS = linux-bin linux-doc
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncVBoxTunctl_TEMPLATE = VBOXR3EXE
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncVBoxTunctl_SOURCES = tunctl.c
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Linux installs.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsynclinux-bin_INST = bin/
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsynclinux-bin_MODE = a+rx,u+w
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsynclinux-bin_SOURCES = \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsynclinux-doc_INST = bin/
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsynclinux-doc_MODE = a+r,u+w
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsynclinux-doc_SOURCES = \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_OSE),,$(PATH_ROOT)/doc/License.txt=>LICENSE) \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Strip these binaries
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncLINUXSTRIPBIN = \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync VBoxManage \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_WITH_VBOXSDL),VBoxSDL,) \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync VBoxXPCOMIPCD \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_WITH_QTGUI),VBoxKeyboard.so,) \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_WITH_QTGUI),VirtualBox,) \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync VBoxTunctl \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Do not remove relocation information of these binaries
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncLINUXSTRIPOBJ = \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncifeq ($(BUILD_TARGET_ARCH),amd64)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncLINUXSTRIPOBJ += \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Do not strip anything of these files
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncLINUXNOSTRIP = \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_OSE),,LICENSE) \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_WITH_QTGUI),\
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_OSE),,License-$(VBOX_LICENSE_VER).html)) \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_WITH_QTGUI),VirtualBox.desktop,) \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_WITH_QTGUI),$(foreach f,\
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(shell $(CAT_EXT) \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.txt),\
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Guest Additions
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncLINUXNOSTRIP += \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_OSE),,additions/VBoxGuestAdditions.iso)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Shared Folders
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsyncLINUXSTRIPBIN += \
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync $(if $(VBOX_OSE),,VRDPAuth.so)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync# Shared Clipboard
$(if $(VBOX_WITH_DEBUGGER_GUI),VBoxDbg.so,)
ifneq ($(wildcard $(PATH_BIN)/VirtualBox.chm),)
# our 64-bit tinderboxes are not able to generate VirtualBox.chm so far
ifneq ($(wildcard $(PATH_BIN)/VirtualBoxAPI.chm),)
# same applies to VirtualBoxAPI.chm
include $(PATH_KBUILD)/footer.kmk
$(PATH_BIN)/VirtualBox.run: \
$(PATH_TARGET)/install/VirtualBox.tar.bz2 \
$(if $(VBOX_OSE),,$(PATH_ROOT)/doc/License.txt)
$(QUIET)chmod 0744 $(PATH_TARGET)/install/install.sh
$(QUIET)$(INSTALL) -m 0755 routines.sh $(PATH_TARGET)/install
$(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_ROOT)/doc/License.txt $(PATH_TARGET)/install/LICENSE)
$(QUIET)$(INSTALL) -m 0755 vboxnet.sh $(PATH_TARGET)/install
$(QUIET)$(INSTALL) -m 0755 vboxdrv.sh $(PATH_TARGET)/install
# .tar.bz2 for converting into .run
$(PATH_TARGET)/install/VirtualBox.tar.bz2: \
$(QUIET)tar --owner 0 --group 0 -cjRhf $@ -C $(PATH_TARGET)/VirtualBox-$(VBOX_VERSION_STRING) $(LINUXARCHFILES)
# .tar.bz2 for distribution
$(PATH_BIN)/VirtualBox.tar.bz2: \
$(QUIET)$(SED) -e "s+\$$VBOX_DOC_PATH+/opt/VirtualBox-$(VBOX_VERSION_STRING)+" $< > $@