VirtualBox

source: vbox/trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile@ 86607

Last change on this file since 86607 was 85939, checked in by vboxsync, 4 years ago

Additions/linux/Makefile, HostDrivers/linux/Makefile: Many cleanups in the Linux kernel module Makefiles, making them more uniform, and allow install of individual modules. Additionally, allow building of the kernel modules straight from the respective subdirectory (no dependencies across directories, so vboxdrv/vboxguest still needs to be built first, otherwise you end up with undefined symbols). Finally some parallelization improvements. At the top level still uses the Module.symvers copying and somewhat quirky KBUILD_EXTRA_SYMBOLS pointing to the copy, because this is backwards compatible to before KBUILD_EXTRA_SYMBOLS was invented.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
Line 
1# $Id: Makefile 85939 2020-08-28 18:36:30Z vboxsync $
2## @file
3# Makefile for the VirtualBox Linux Host PCI Driver.
4#
5
6#
7# Copyright (C) 2011-2020 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# The contents of this file may alternatively be used under the terms
18# of the Common Development and Distribution License Version 1.0
19# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20# VirtualBox OSE distribution, in which case the provisions of the
21# CDDL are applicable instead of those of the GPL.
22#
23# You may elect to license modified versions of this file under the
24# terms and conditions of either the GPL or the CDDL or both.
25#
26
27
28# Linux kbuild sets this to our source directory if we are called from there
29obj ?= $(CURDIR)
30include $(obj)/Makefile-header.gmk
31VBOXPCI_DIR := $(VBOX_MODULE_SRC_DIR)
32
33# Allow building directly from the subdirectory without assuming the toplevel
34# makefile has done the copying. Not the default use case, but can be handy.
35ifndef KBUILD_EXTRA_SYMBOLS
36KBUILD_EXTRA_SYMBOLS=$(abspath $(VBOXPCI_DIR)/../vboxdrv/Module.symvers)
37endif
38
39# override is required by the Debian guys
40VBOXMOD_NAME = vboxpci
41VBOXMOD_OBJS = \
42 linux/VBoxPci-linux.o \
43 VBoxPci.o \
44 SUPR0IdcClient.o \
45 SUPR0IdcClientComponent.o \
46 linux/SUPR0IdcClient-linux.o
47ifeq ($(VBOX_KBUILD_TARGET_ARCH),x86)
48VBOXMOD_OBJS += \
49 math/gcc/divdi3.o \
50 math/gcc/moddi3.o \
51 math/gcc/qdivrem.o \
52 math/gcc/udivdi3.o \
53 math/gcc/udivmoddi4.o \
54 math/gcc/divdi3.o \
55 math/gcc/umoddi3.o
56endif
57VBOXMOD_INCL = \
58 $(VBOXPCI_DIR) \
59 $(VBOXPCI_DIR)include \
60 $(VBOXPCI_DIR)r0drv/linux
61VBOXMOD_DEFS = \
62 RT_OS_LINUX \
63 IN_RING0 \
64 IN_RT_R0 \
65 IN_SUP_R0 \
66 VBOX \
67 RT_WITH_VBOX \
68 VBOX_WITH_HARDENING
69VBOXMOD_CFLAGS = -include $(VBOXPCI_DIR)include/VBox/SUPDrvMangling.h -fno-pie
70
71include $(obj)/Makefile-footer.gmk
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