VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/Makefile@ 78412

Last change on this file since 78412 was 77956, checked in by vboxsync, 6 years ago

Additions/linux/drivers: move all rule in main Make file to the right place.
bugref:4567: Linux kernel driver maintenance.

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette