Makefile revision c58f1213e628a545081c70e26c6b67a841cff880
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Makefile for the VirtualBox FreeBSD Host Drivers.
32098293b78922a5fbd10906afa28624820d3756Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User#
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User#
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Copyright (C) 2008-2010 Oracle Corporation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews# This file is part of VirtualBox Open Source Edition (OSE), as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# available from http://www.virtualbox.org. This file is free software;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# you can redistribute it and/or modify it under the terms of the GNU
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# General Public License (GPL) as published by the Free Software
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# Foundation, in version 2 as it comes in the "COPYING" file of the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinKBUILD_VERBOSE =
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @echo "*** Building 'vboxdrv' module ***"
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @cp vboxdrv/vboxdrv.ko .
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @echo
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @if [ -d vboxnetflt ]; then \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if [ -f vboxdrv/Module.symvers ]; then \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews cp vboxdrv/Module.symvers vboxnetflt; \
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews fi; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo "*** Building 'vboxnetflt' module ***"; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cp vboxnetflt/vboxnetflt.ko .; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo; \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User fi
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User @if [ -d vboxnetadp ]; then \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User if [ -f vboxdrv/Module.symvers ]; then \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt cp vboxdrv/Module.symvers vboxnetadp; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt fi; \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo "*** Building 'vboxnetadp' module ***"; \
0b89eee6167201843c9a46b7e7c63cb1e4e09ba3Tinderbox User $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt cp vboxnetadp/vboxnetadp.ko .; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt echo; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt fi
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox User
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox Userinstall:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install
d253648fe3331622cebea02d60aaecca3082d78dTinderbox User @if [ -d vboxnetflt ]; then \
bfb7b680bf88c1fdd9949197b71c512c532280a4Tinderbox User $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt install; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt fi
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt @if [ -d vboxnetadp ]; then \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp install; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt fi
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntclean:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @$(MAKE) -C vboxdrv clean
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User @if [ -d vboxnetflt ]; then \
f9ce6280cec79deb16ff6d9807aa493ff23e10d9Tinderbox User $(MAKE) -C vboxnetflt clean; \
0b89eee6167201843c9a46b7e7c63cb1e4e09ba3Tinderbox User fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User @if [ -d vboxnetadp ]; then \
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $(MAKE) -C vboxnetadp clean; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt fi
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt rm -f vboxdrv.ko vboxnetflt.ko vboxnetadp.ko
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox Userload:
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User @for module in vboxnetadp vboxnetflt vboxdrv; do \
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User if kldstat -n "$$module" >/dev/null; then \
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User echo "Removing previously installed $$module module"; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt /sbin/kldunload $$module; \
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User fi; \
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User done
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User @for module in vboxdrv vboxnetflt vboxnetadp; do \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt if test -f $$module.ko; then \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt echo "Installing $$module module"; \
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User /sbin/kldload ./$$module.ko; \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt fi; \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User done
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt