VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module@ 67293

Last change on this file since 67293 was 67293, checked in by vboxsync, 7 years ago

Linux host/guest kernel modules: add __udivmoddi4() to satisfy 32-bit code generated by gcc-7 or later

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1#
2# VirtualBox Guest Additions Module Makefile.
3#
4# (For 2.6.x this file must be 'Makefile'!)
5#
6# Copyright (C) 2006-2011 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
17# Linux kbuild sets this to our source directory if we are called from there
18obj ?= $(CURDIR)
19include $(obj)/Makefile.include.header
20
21MOD_NAME = vboxsf
22MOD_OBJS = \
23 vfsmod.o \
24 dirops.o \
25 lnkops.o \
26 regops.o \
27 utils.o \
28 GenericRequest.o \
29 SysHlp.o \
30 PhysHeap.o \
31 Init.o \
32 VMMDev.o \
33 HGCM.o \
34 VBoxGuestR0LibSharedFolders.o \
35 VbglR0CanUsePhysPageList.o
36ifeq ($(BUILD_TARGET_ARCH),x86)
37MOD_OBJS += \
38 divdi3.o \
39 moddi3.o \
40 udivdi3.o \
41 udivmoddi4.o \
42 umoddi3.o \
43 qdivrem.o
44endif
45
46MOD_INCL = \
47 $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) \
48 $(addprefix -I$(KBUILD_EXTMOD)/vboxsf,/ /include /r0drv/linux)
49
50ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxsf),)
51 MANGLING := $(KBUILD_EXTMOD)/vboxsf/include/VBox/VBoxGuestMangling.h
52else
53 MANGLING := $(KBUILD_EXTMOD)/include/VBox/VBoxGuestMangling.h
54endif
55
56MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \
57 -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODULE -DIN_GUEST_R0
58# our module does not export any symbol
59MOD_DEFS += -DRT_NO_EXPORT_SYMBOL
60ifeq ($(BUILD_TARGET_ARCH),amd64)
61 MOD_DEFS += -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS
62else
63 MOD_DEFS += -DRT_ARCH_X86
64endif
65
66ifeq ($(KERN_VERSION), 24)
67 MOD_CFLAGS =
68else
69 MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -include $(MANGLING) -fno-pie
70
71# special hack for Fedora Core 6 2.6.18 (fc6), rhel5 2.6.18 (el5),
72# ClarkConnect 4.3 (cc4) and ClarkConnect 5 (v5)
73 ifeq ($(KERNELRELEASE),)
74 MOD_EXTRA += $(foreach inc,$(KERN_INCL),\
75 $(if $(wildcard $(inc)/linux/utsrelease.h),\
76 $(if $(shell grep '"2.6.18.*fc6.*"' $(inc)/linux/utsrelease.h; \
77 grep '"2.6.18.*el5.*"' $(inc)/linux/utsrelease.h; \
78 grep '"2.6.18.*v5.*"' $(inc)/linux/utsrelease.h; \
79 grep '"2.6.18.*cc4.*"' $(inc)/linux/utsrelease.h),\
80 -DKERNEL_FC6,),))
81 else
82 MOD_EXTRA += $(if $(shell echo "$(KERNELRELEASE)"|grep '2.6.18.*fc6.*';\
83 echo "$(KERNELRELEASE)"|grep '2.6.18.*el5.*';\
84 echo "$(KERNELRELEASE)"|grep '2.6.18.*v5.*';\
85 echo "$(KERNELRELEASE)"|grep '2.6.18.*cc4.*'),\
86 -DKERNEL_FC6,)
87 endif
88endif
89
90MOD_CLEAN = . linux r0drv r0drv/linux
91
92include $(obj)/Makefile.include.footer
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