Makefile revision fe0826de96da565f5a285504b2210f269b8a2de9
898720b7e9cf3bdf7a93e435cbed5dd6942ecf9bHarald Hoyer#
898720b7e9cf3bdf7a93e435cbed5dd6942ecf9bHarald Hoyer# Makefile for the VirtualBox Linux Host Drivers.
898720b7e9cf3bdf7a93e435cbed5dd6942ecf9bHarald Hoyer#
898720b7e9cf3bdf7a93e435cbed5dd6942ecf9bHarald Hoyer
898720b7e9cf3bdf7a93e435cbed5dd6942ecf9bHarald Hoyer#
898720b7e9cf3bdf7a93e435cbed5dd6942ecf9bHarald Hoyer#
0d6e798a784ef0ba6b95512e4453067b2f84a91aHarald Hoyer# Copyright (C) 2008-2009 Sun Microsystems, Inc.
0d6e798a784ef0ba6b95512e4453067b2f84a91aHarald Hoyer#
898720b7e9cf3bdf7a93e435cbed5dd6942ecf9bHarald Hoyer# This file is part of VirtualBox Open Source Edition (OSE), as
3486cb6cfa3d32a95c0daf02c7510fdf372507bfMartin Pitt# available from http://www.virtualbox.org. This file is free software;
3486cb6cfa3d32a95c0daf02c7510fdf372507bfMartin Pitt# you can redistribute it and/or modify it under the terms of the GNU
3486cb6cfa3d32a95c0daf02c7510fdf372507bfMartin Pitt# General Public License (GPL) as published by the Free Software
3486cb6cfa3d32a95c0daf02c7510fdf372507bfMartin Pitt# Foundation, in version 2 as it comes in the "COPYING" file of the
3486cb6cfa3d32a95c0daf02c7510fdf372507bfMartin Pitt# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4be4833ece2856e0cacc09f8f8b2c02b320751faMartin Pitt# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
c50a4525aa8151b180d5a325e88c5f3812e66c36Martin Pitt#
889a90422dd47284dffa32b9234a6e58991b000cRonny Chevalier# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier# Clara, CA 95054 USA or visit http://www.sun.com if you need
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier# additional information or have any questions.
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier#
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny ChevalierKBUILD_VERBOSE =
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalierall:
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @echo "*** Building 'vboxdrv' module ***"
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @cp vboxdrv/vboxdrv.ko .
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @echo
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @if [ -d vboxnetflt ]; then \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier if [ -f vboxdrv/Module.symvers ]; then \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier cp vboxdrv/Module.symvers vboxnetflt; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier fi; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier echo "*** Building 'vboxnetflt' module ***"; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier cp vboxnetflt/vboxnetflt.ko .; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier fi
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalierinstall:
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @if [ -d vboxnetflt ]; then \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt install; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier fi
889a90422dd47284dffa32b9234a6e58991b000cRonny Chevalier
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalierclean:
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @$(MAKE) -C vboxdrv clean
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @if [ -d vboxnetflt ]; then \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier $(MAKE) -C vboxnetflt clean; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier fi
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier rm -f vboxdrv.ko vboxnetflt.ko
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalierload:
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @for module in vboxnetflt vboxdrv; do \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier if grep "^$$module " /proc/modules >/dev/null; then \
3486cb6cfa3d32a95c0daf02c7510fdf372507bfMartin Pitt echo "Removing previously installed $$module module"; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier /sbin/rmmod $$module; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier fi; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier done
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier @for module in vboxdrv vboxnetflt; do \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier if test -f $$module.ko; then \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier echo "Installing $$module module"; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier /sbin/insmod $$module.ko; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier fi; \
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier done
c6a77179a4097df355f0f04b8f3260c76b5e515cRonny Chevalier