VirtualBox

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

Last change on this file was 98103, checked in by vboxsync, 16 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 3.7 KB
RevLine 
[14546]1#
[15816]2# Makefile for the VirtualBox Linux Guest Drivers.
[14546]3#
4
5#
[98103]6# Copyright (C) 2009-2023 Oracle and/or its affiliates.
[14546]7#
[96407]8# This file is part of VirtualBox base platform packages, as
9# available from https://www.virtualbox.org.
[14546]10#
[96407]11# This program is free software; you can redistribute it and/or
12# modify it under the terms of the GNU General Public License
13# as published by the Free Software Foundation, in version 3 of the
14# License.
15#
16# This program is distributed in the hope that it will be useful, but
17# WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19# General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with this program; if not, see <https://www.gnu.org/licenses>.
23#
24# SPDX-License-Identifier: GPL-3.0-only
25#
[14546]26
[78446]27ifneq ($(KERNELRELEASE),)
[32183]28
[78446]29# Building from kBuild (make -C <kernel_directory> M=`pwd`)
30# or inside a kernel source tree.
[32183]31
32obj-m = vboxguest/ vboxsf/ vboxvideo/
33
[78446]34else # ! KERNELRELEASE
[32183]35
[14655]36KBUILD_VERBOSE =
[77389]37 ifeq ($(KBUILD_VERBOSE),)
38VBOX_QUIET := @
39VBOX_QUIET_SH := @
40 else
41VBOX_QUIET :=
42VBOX_QUIET_SH := set -x;
43 endif
[14655]44
[77956]45all: vboxguest vboxsf vboxvideo
46
[74731]47vboxguest:
[66222]48 @echo "=== Building 'vboxguest' module ==="
[85404]49 + $(VBOX_QUIET)$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest
[77389]50 $(VBOX_QUIET_SH)if [ -f vboxguest/vboxguest.ko ]; then \
[21417]51 cp vboxguest/vboxguest.ko .; \
52 else \
53 cp vboxguest/vboxguest.o .; \
54 fi
[14546]55 @echo
[74731]56
57vboxsf: vboxguest
[85404]58 + $(VBOX_QUIET_SH)if [ -d vboxsf ]; then \
[21412]59 if [ -f vboxguest/Module.symvers ]; then \
[28998]60 cp vboxguest/Module.symvers vboxsf; \
[14546]61 fi; \
[66222]62 echo "=== Building 'vboxsf' module ==="; \
[82695]63 $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) KBUILD_EXTRA_SYMBOLS=$(abspath vboxsf/Module.symvers) -C vboxsf || exit 1; \
[28998]64 if [ -f vboxsf/vboxsf.ko ]; then \
65 cp vboxsf/vboxsf.ko .; \
[21416]66 else \
[28998]67 cp vboxsf/vboxsf.o .; \
[21416]68 fi; \
[41448]69 echo; \
[14546]70 fi
[74731]71
[85942]72vboxvideo:
[85404]73 + $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \
[66222]74 echo "=== Building 'vboxvideo' module ==="; \
[85942]75 $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo || exit 1; \
[33183]76 if [ -f vboxvideo/vboxvideo.ko ]; then \
77 cp vboxvideo/vboxvideo.ko .; \
[66077]78 elif [ -f vboxvideo/vboxvideo.o ]; then \
[33183]79 cp vboxvideo/vboxvideo.o .; \
80 fi; \
[41448]81 echo; \
[33183]82 fi
[14546]83
[85943]84install-vboxguest:
[85404]85 + $(VBOX_QUIET)$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest install
[85939]86
[85943]87install-vboxsf:
[85404]88 + $(VBOX_QUIET_SH)if [ -d vboxsf ]; then \
[28998]89 $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxsf install; \
[14865]90 fi
[85939]91
[85943]92install-vboxvideo:
[85404]93 + $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \
[33183]94 $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo install; \
95 fi
[14865]96
[85943]97install: install-vboxguest install-vboxsf install-vboxvideo
[85939]98
[85943]99clean-vboxguest:
[85404]100 + $(VBOX_QUIET)$(MAKE) -C vboxguest clean
[85939]101 rm -f vboxguest.*o
[85395]102
[85943]103clean-vboxsf:
[85404]104 + $(VBOX_QUIET_SH)if [ -d vboxsf ]; then \
[28998]105 $(MAKE) -C vboxsf clean; \
[14546]106 fi
[85939]107 rm -f vboxsf.*o
[85395]108
[85943]109clean-vboxvideo:
[85404]110 + $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \
[33183]111 $(MAKE) -C vboxvideo clean; \
112 fi
[85939]113 rm -f vboxvideo.*o
[85395]114
[85943]115clean: clean-vboxguest clean-vboxsf clean-vboxvideo
[14546]116
[36190]117check:
[77389]118 $(VBOX_QUIET)$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest check
[36190]119
[85939]120unload:
[77389]121 $(VBOX_QUIET)/sbin/rmmod vboxvideo || true
122 $(VBOX_QUIET)/sbin/rmmod vboxvfs || true
123 $(VBOX_QUIET)/sbin/rmmod vboxsf || true
124 $(VBOX_QUIET)/sbin/rmmod vboxguest || true
[85939]125
126load: unload
[77389]127 $(VBOX_QUIET)/sbin/insmod vboxguest.ko
128 $(VBOX_QUIET)if [ -f vboxsf.ko ]; then /sbin/insmod vboxsf.ko; fi
129 $(VBOX_QUIET)if [ -f vboxvideo.ko ]; then /sbin/insmod vboxvideo.ko; fi
[32183]130
[85939]131.PHONY: all install clean check unload load \
132 vboxguest vboxsf vboxvideo \
[85943]133 install-vboxguest install-vboxsf install-vboxvideo \
134 clean-vboxguest clean-vboxsf clean-vboxvideo
[74731]135
[78446]136endif # ! KERNELRELEASE
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use