Makefile revision c58f1213e628a545081c70e26c6b67a841cff880
2N/A#
2N/A# Makefile for the VirtualBox Linux Host Drivers.
2N/A#
2N/A
2N/A#
2N/A#
2N/A# Copyright (C) 2008-2011 Oracle Corporation
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 (GPL) as published by the Free Software
2N/A# Foundation, in version 2 as it comes in the "COPYING" file of the
2N/A# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
2N/A# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
2N/A#
2N/A
2N/Aifneq ($(KBUILD_EXTMOD),)
2N/A
2N/A# DKMS
2N/A
2N/Aobj-m = vboxdrv/
2N/Aifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetflt/Makefile),)
2N/A obj-m += vboxnetflt/
2N/Aendif
2N/Aifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetadp/Makefile),)
2N/A obj-m += vboxnetadp/
2N/Aendif
2N/Aifneq ($(wildcard $(KBUILD_EXTMOD)/vboxpci/Makefile),)
2N/A obj-m += vboxpci/
2N/Aendif
2N/Aelse # ! KBUILD_EXTMOD
2N/A
2N/A# convenience Makefile without DKMS
2N/A
2N/AKBUILD_VERBOSE =
2N/A
2N/Aall:
2N/A @echo "*** Building 'vboxdrv' module ***"
2N/A @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv
2N/A @cp vboxdrv/vboxdrv.ko .
2N/A @echo
2N/A @if [ -d vboxnetflt ]; then \
2N/A if [ -f vboxdrv/Module.symvers ]; then \
2N/A cp vboxdrv/Module.symvers vboxnetflt; \
2N/A fi; \
2N/A echo "*** Building 'vboxnetflt' module ***"; \
2N/A $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt; \
2N/A cp vboxnetflt/vboxnetflt.ko .; \
2N/A echo; \
2N/A fi
2N/A @if [ -d vboxnetadp ]; then \
2N/A if [ -f vboxdrv/Module.symvers ]; then \
2N/A cp vboxdrv/Module.symvers vboxnetadp; \
2N/A fi; \
2N/A echo "*** Building 'vboxnetadp' module ***"; \
2N/A $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp; \
2N/A cp vboxnetadp/vboxnetadp.ko .; \
2N/A echo; \
2N/A fi
2N/A @if [ -d vboxpci ]; then \
2N/A if [ -f vboxdrv/Module.symvers ]; then \
2N/A cp vboxdrv/Module.symvers vboxpci; \
2N/A fi; \
2N/A echo "*** Building 'vboxpci' module ***"; \
2N/A $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxpci; \
2N/A cp vboxpci/vboxpci.ko .; \
2N/A echo; \
2N/A fi
2N/A
2N/Ainstall:
2N/A @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install
2N/A @if [ -d vboxnetflt ]; then \
2N/A $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt install; \
2N/A fi
@if [ -d vboxnetadp ]; then \
$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp install; \
fi
@if [ -d vboxpci ]; then \
$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxpci install; \
fi
clean:
@$(MAKE) -C vboxdrv clean
@if [ -d vboxnetflt ]; then \
$(MAKE) -C vboxnetflt clean; \
fi
@if [ -d vboxnetadp ]; then \
$(MAKE) -C vboxnetadp clean; \
fi
@if [ -d vboxpci ]; then \
$(MAKE) -C vboxpci clean; \
fi
rm -f vboxdrv.ko vboxnetflt.ko vboxnetadp.ko vboxpci.ko
check:
@$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv check
unload:
@for module in vboxpci vboxnetadp vboxnetflt vboxdrv; do \
if grep "^$$module " /proc/modules >/dev/null; then \
echo "Removing previously installed $$module module"; \
/sbin/rmmod $$module; \
fi; \
done
load: unload
@for module in vboxdrv vboxnetflt vboxnetadp vboxpci; do \
if test -f $$module.ko; then \
echo "Installing $$module module"; \
/sbin/insmod $$module.ko; \
fi; \
done
endif # ! KBUILD_EXTMOD