| 1 | #
|
|---|
| 2 | # Makefile for the VirtualBox Linux Guest Drivers.
|
|---|
| 3 | #
|
|---|
| 4 |
|
|---|
| 5 | #
|
|---|
| 6 | #
|
|---|
| 7 | # Copyright (C) 2009-2012 Oracle Corporation
|
|---|
| 8 | #
|
|---|
| 9 | # This file is part of VirtualBox Open Source Edition (OSE), as
|
|---|
| 10 | # available from http://www.virtualbox.org. This file is free software;
|
|---|
| 11 | # you can redistribute it and/or modify it under the terms of the GNU
|
|---|
| 12 | # General Public License (GPL) as published by the Free Software
|
|---|
| 13 | # Foundation, in version 2 as it comes in the "COPYING" file of the
|
|---|
| 14 | # VirtualBox OSE distribution. VirtualBox OSE is distributed in the
|
|---|
| 15 | # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
|
|---|
| 16 | #
|
|---|
| 17 | XFOUND := $(shell which X 2>/dev/null)
|
|---|
| 18 |
|
|---|
| 19 | ifneq ($(KBUILD_EXTMOD),)
|
|---|
| 20 |
|
|---|
| 21 | # DKMS
|
|---|
| 22 |
|
|---|
| 23 | ifdef XFOUND
|
|---|
| 24 | obj-m = vboxguest/ vboxsf/ vboxvideo/
|
|---|
| 25 | else
|
|---|
| 26 | obj-m = vboxguest/ vboxsf/
|
|---|
| 27 | endif
|
|---|
| 28 |
|
|---|
| 29 | else # ! KBUILD_EXTMOD
|
|---|
| 30 |
|
|---|
| 31 | KBUILD_VERBOSE =
|
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 | all:
|
|---|
| 35 | @echo "*** Building 'vboxguest' module ***"
|
|---|
| 36 | @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest
|
|---|
| 37 | @if [ -f vboxguest/vboxguest.ko ]; then \
|
|---|
| 38 | cp vboxguest/vboxguest.ko .; \
|
|---|
| 39 | else \
|
|---|
| 40 | cp vboxguest/vboxguest.o .; \
|
|---|
| 41 | fi
|
|---|
| 42 | @echo
|
|---|
| 43 | @if [ -d vboxsf ]; then \
|
|---|
| 44 | if [ -f vboxguest/Module.symvers ]; then \
|
|---|
| 45 | cp vboxguest/Module.symvers vboxsf; \
|
|---|
| 46 | fi; \
|
|---|
| 47 | echo "*** Building 'vboxsf' module ***"; \
|
|---|
| 48 | $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxsf; \
|
|---|
| 49 | if [ -f vboxsf/vboxsf.ko ]; then \
|
|---|
| 50 | cp vboxsf/vboxsf.ko .; \
|
|---|
| 51 | else \
|
|---|
| 52 | cp vboxsf/vboxsf.o .; \
|
|---|
| 53 | fi; \
|
|---|
| 54 | echo; \
|
|---|
| 55 | fi
|
|---|
| 56 | ifdef XFOUND
|
|---|
| 57 | @if [ -d vboxvideo ]; then \
|
|---|
| 58 | if [ -f vboxguest/Module.symvers ]; then \
|
|---|
| 59 | cp vboxguest/Module.symvers vboxvideo; \
|
|---|
| 60 | fi; \
|
|---|
| 61 | echo "*** Building 'vboxvideo' module ***"; \
|
|---|
| 62 | $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo; \
|
|---|
| 63 | if [ -f vboxvideo/vboxvideo.ko ]; then \
|
|---|
| 64 | cp vboxvideo/vboxvideo.ko .; \
|
|---|
| 65 | else \
|
|---|
| 66 | cp vboxvideo/vboxvideo.o .; \
|
|---|
| 67 | fi; \
|
|---|
| 68 | echo; \
|
|---|
| 69 | fi
|
|---|
| 70 | endif
|
|---|
| 71 |
|
|---|
| 72 | install:
|
|---|
| 73 | @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest install
|
|---|
| 74 | @if [ -d vboxsf ]; then \
|
|---|
| 75 | $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxsf install; \
|
|---|
| 76 | fi
|
|---|
| 77 | ifdef XFOUND
|
|---|
| 78 | @if [ -d vboxvideo ]; then \
|
|---|
| 79 | $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo install; \
|
|---|
| 80 | fi
|
|---|
| 81 | endif
|
|---|
| 82 |
|
|---|
| 83 | clean:
|
|---|
| 84 | @$(MAKE) -C vboxguest clean
|
|---|
| 85 | @if [ -d vboxsf ]; then \
|
|---|
| 86 | $(MAKE) -C vboxsf clean; \
|
|---|
| 87 | fi
|
|---|
| 88 | ifdef XFOUND
|
|---|
| 89 | @if [ -d vboxvideo ]; then \
|
|---|
| 90 | $(MAKE) -C vboxvideo clean; \
|
|---|
| 91 | fi
|
|---|
| 92 | endif
|
|---|
| 93 | rm -f vboxguest.*o vboxsf.*o vboxvideo.*o
|
|---|
| 94 |
|
|---|
| 95 | check:
|
|---|
| 96 | @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest check
|
|---|
| 97 |
|
|---|
| 98 | load:
|
|---|
| 99 | ifdef XFOUND
|
|---|
| 100 | @/sbin/rmmod vboxvideo || true
|
|---|
| 101 | endif
|
|---|
| 102 | @/sbin/rmmod vboxvfs || true
|
|---|
| 103 | @/sbin/rmmod vboxsf || true
|
|---|
| 104 | @/sbin/rmmod vboxguest || true
|
|---|
| 105 | @/sbin/insmod vboxguest.ko
|
|---|
| 106 | @if [ -f vboxsf.ko ]; then /sbin/insmod vboxsf.ko; fi
|
|---|
| 107 | @if [ -f vboxvideo.ko ]; then /sbin/insmod vboxvideo.ko; fi
|
|---|
| 108 |
|
|---|
| 109 | endif # ! KBUILD_EXTMOD
|
|---|