rules revision 7529922bd11d7d1c38fbdc7bad6aec83eb2ec0ad
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# Copyright (C) 2006-2008 Sun Microsystems, Inc.
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# This file is part of VirtualBox Open Source Edition (OSE), as
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# available from http://www.virtualbox.org. This file is free software;
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# you can redistribute it and/or modify it under the terms of the GNU
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# General Public License as published by the Free Software Foundation,
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# distribution. VirtualBox OSE is distributed in the hope that it will
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# be useful, but WITHOUT ANY WARRANTY of any kind.
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq#export DH_VERBOSE=1
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# possible overrides:
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# OSE=1 force VBOX_OSE
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# NOPARALLEL=1 compile with -j1
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# LINUX=<dir> compile vboxdrv against Linux found in <dir>
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# VERBOSE=1 verbose build
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# DEBUG=1 debug build
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# NOSUBVER=1 disable generation of the sub-version field (which is
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# either the subversion rev [if available] or the build date)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# NODOCS=1 don't build docs, use precompiled UserManual.pdf and
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# NOMODS=1 don't build any module
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# HEADLESS=1 build the headless version
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# STAGEDISO=<path> don't build the VBoxAdditions, use the precompiled .iso
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(error STAGEDISO='$(STAGEDISO)/VBoxGuestAdditions.iso' not found)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# Hack: Xandros is actually Debian/sarge ... :(
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq debrel := $(if $(shell which lsb_release),_$(shell lsb_release -si)_$(shell lsb_release -sc),unknown)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niqdebcfgs := VBOX_PATH_PACKAGE_DOCS="\"/usr/share/doc/$(verpkg)\""
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# Ubuntu dapper: gcc-4.0 does not work with recompiler, use gcc-3.4 instead
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq cd $(vboxroot) && ./configure --odir=$(current)/debian --disable-qt3 $(if \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(ose),--ose,) $(if $(LINUX),--with-linux=$(LINUX),) $(if \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(filter _Ubuntu_dapper,$(debrel)),--with-gcc=gcc-3.4 --with-g++=g++-3.4,) $(if \
71eed588ed4b0f880b1bd7a59b725859be4677efniq $(shell test $(gccvmaj) -eq 4 -a $(gccvmin) -gt 2 -o $(gccvmaj) -gt 4 && echo "yes"),--with-gcc=gcc-4.2 --with-g++=g++-4.2,) $(if \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(filter _xandros4.1 _ucs1.3,$(debrel)),--disable-sdl-ttf,) $(if \
71eed588ed4b0f880b1bd7a59b725859be4677efniq $(HEADLESS),--build-headless,) $(if $(DEBUG),--build-debug,)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(VERBOSE),--print-directory,--no-print-directory) $(if \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(if $(NODOCS),cp $(vboxroot)/prebuild/UserManual.pdf $(builddir)/bin,)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(if $(NODOCS),cp $(vboxroot)/prebuild/VirtualBox.chm $(builddir)/bin,)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(if $(STAGEDISO),cp $(STAGEDISO)/VBoxGuestAdditions.iso $(builddir)/bin/additions,)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(VERBOSE),--print-directory,--no-print-directory) $(if \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# Build modules for every kernel we find in /lib/modules/*
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq make -C $(builddir)/bin/src/vboxdrv KERN_DIR=$$d/build MODULE_DIR=$$d clean && \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq make -C $(builddir)/bin/src/vboxdrv KERN_DIR=$$d/build MODULE_DIR=$$d all && \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(builddir)/bin/src/vboxdrv/vboxdrv.ko $(moddir)/$$(basename $$d)/vboxdrv.ko; \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq if [ -f $(builddir)/bin/src/vboxnetflt/Makefile ]; then \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq make -C $(builddir)/bin/src/vboxnetflt KERN_DIR=$$d/build MODULE_DIR=$$d clean && \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq make -C $(builddir)/bin/src/vboxnetflt KERN_DIR=$$d/build MODULE_DIR=$$d all && \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(builddir)/bin/src/vboxnetflt/vboxnetflt.ko $(moddir)/$$(basename $$d)/vboxnetflt.ko; \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq if [ -f $(builddir)/bin/src/vboxnetflt/Makefile ]; then \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq rm -f debian/$(package).init debian/vboxdrv.init debian/vboxnet.init
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq rm -f debian/AutoConfig.kmk debian/configure.log debian/env.sh debian/preinst
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq rm -f debian/modules-stamp debian/build-stamp debian/configure-stamp
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq# Build architecture-dependent files here.
53463cef28766dd8c9cc3c5948569b7cc1d898c0niqbinary binary-arch binary-indep: build $(if $(NOMODS),,modules)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq tar -xjC $(prefix)/opt -f $(builddir)/bin/VirtualBox.tar.bz2
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq mv $(archdir)/VBoxREM2.rel $(prefix)/usr/lib/$(package),)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq mv $(archdir)/VBoxXPCOMIPCD $(prefix)/usr/lib/$(package)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq mv $(archdir)/components $(prefix)/usr/lib/$(package)/components
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq mv $(archdir)/*.so.4 $(prefix)/usr/lib/$(package) || true
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(if $(HEADLESS),,mv $(archdir)/nls $(prefix)/usr/share/$(package))
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq install -D -g 0 -o 0 -m 644 debian/VBox.sh $(prefix)/usr/bin/VBox
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq mv $(archdir)/VBoxSysInfo.sh $(prefix)/usr/share/$(package)
71eed588ed4b0f880b1bd7a59b725859be4677efniq for i in VBoxManage VBoxSVC $(if $(HEADLESS),,VBoxSDL) \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq install -D -g 0 -o 0 -m 0644 \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $$d/vboxdrv.ko $(prefix)/lib/modules/$$(basename $$d)/misc/vboxdrv.ko; \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq if [ -d $$/vboxnetflt.ko ]; then \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq install -D -g 0 -o 0 -m 644 \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $$d/vboxnetflt.ko $(prefix)/lib/modules/$$(basename $$d)/misc/vboxnetflt.ko; \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq $(if $(HEADLESS),,mv $(archdir)/kchmviewer $(prefix)/usr/lib/$(package))
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq rm $(addprefix $(archdir)/,UserManual*.pdf VirtualBox*.chm LICENSE)
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq for i in rdesktop-vrdp.tar.gz additions/VBoxGuestAdditions.iso; do \
53463cef28766dd8c9cc3c5948569b7cc1d898c0niq if [ -d $(archdir)/accessible ]; then mv $(archdir)/accessible $(prefix)/usr/lib/virtualbox; fi
sed \
-e 's|%NETFLT%|$(if $(wildcard $(builddir)/src/vboxnetflt),1,)|g' \
sed \
dh_strip --keep-debug --exclude=libVBoxQtCore.so.4 --exclude=libVBoxQtGui.so.4 --exclude=libVBoxQtNetwork.so.4 --exclude=libqtaccessiblewidgets.so
for f in \
dh_gencontrol -- \