Makefile.kmk revision ccc447e8bc2bd06267b76213fcfd80ec908f08d6
65fea56f17cd614bc8908264df980a62e1931468vboxsync# Makefile for the Linux installer.
65fea56f17cd614bc8908264df980a62e1931468vboxsync# Copyright (C) 2006-2007 innotek GmbH
65fea56f17cd614bc8908264df980a62e1931468vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
65fea56f17cd614bc8908264df980a62e1931468vboxsync# available from http://www.virtualbox.org. This file is free software;
65fea56f17cd614bc8908264df980a62e1931468vboxsync# you can redistribute it and/or modify it under the terms of the GNU
65fea56f17cd614bc8908264df980a62e1931468vboxsync# General Public License (GPL) as published by the Free Software
65fea56f17cd614bc8908264df980a62e1931468vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
65fea56f17cd614bc8908264df980a62e1931468vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
65fea56f17cd614bc8908264df980a62e1931468vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
65fea56f17cd614bc8908264df980a62e1931468vboxsyncDEPTH = ../../../..
65fea56f17cd614bc8908264df980a62e1931468vboxsyncinclude $(PATH_KBUILD)/header.kmk
65fea56f17cd614bc8908264df980a62e1931468vboxsyncifneq ($(BUILD_PLATFORM),linux)
65fea56f17cd614bc8908264df980a62e1931468vboxsync$(error "The Linux installer can only be built on Linux!") # yeah, right.
65fea56f17cd614bc8908264df980a62e1931468vboxsyncVBOX_NO_LINUX_RUN_INSTALLER ?= $(VBOX_OSE)
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPROGRAMS = VBoxTunctl
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPACKING = $(if $(VBOX_NO_LINUX_RUN_INSTALLER),,\
65fea56f17cd614bc8908264df980a62e1931468vboxsync $(PATH_BIN)/VirtualBox.run $(PATH_BIN)/VirtualBox-dbg.tar.bz2)
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPACKING += $(PATH_BIN)/VirtualBox.tar.bz2
65fea56f17cd614bc8908264df980a62e1931468vboxsyncOTHER_CLEAN = $(addprefix $(PATH_TARGET)/install/,\
65fea56f17cd614bc8908264df980a62e1931468vboxsync $(wildcard $(PATH_TARGET)/VirtualBox-*)
65fea56f17cd614bc8908264df980a62e1931468vboxsyncINSTALLS = linux-bin linux-doc
65fea56f17cd614bc8908264df980a62e1931468vboxsyncVBoxTunctl_TEMPLATE = VBOXR3EXE
65fea56f17cd614bc8908264df980a62e1931468vboxsyncVBoxTunctl_SOURCES = tunctl.c
65fea56f17cd614bc8908264df980a62e1931468vboxsync# Linux installs.
$(if $(VBOX_OSE),,$(PATH_ROOT)/doc/License.txt=>LICENSE) \
$(if $(VBOX_WITH_QTGUI),VBoxKeyboard.so,) \
VMMGC.gc \
VBox.sh \
VBox.png \
$(if $(VBOX_WITH_QTGUI),VirtualBox.desktop,) \
$(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.txt),\
$(if $(VBOX_OSE),,additions/VBoxGuestAdditions.iso)
$(if $(VBOX_OSE),,VRDPAuth.so)
$(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
DBGPATH := usr/lib/debug/opt/VirtualBox-$(VBOX_VERSION_STRING)
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
$(PATH_BIN)/VirtualBox-dbg.tar.bz2: \
# .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)+" $< > $@
$(QUIET)$(if $(VBOX_NO_LINUX_RUN_INSTALLER),,objcopy --add-gnu-debuglink=$(subst $(PATH_TARGET)/archive,$(PATH_TARGET)/archive-dbg/$(DBGPATH),$@) $@)