VirtualBox

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

Last change on this file since 36638 was 36584, checked in by vboxsync, 14 years ago

Additions/linux/installer: modularise the vboxsf.ko kernel makefile

  • 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 umoddi3.o \
42 qdivrem.o
43endif
44
45MOD_INCL = \
46 $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) \
47 $(addprefix -I$(KBUILD_EXTMOD)/vboxsf,/ /include /r0drv/linux)
48
49ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxsf),)
50 MANGLING := $(KBUILD_EXTMOD)/vboxsf/include/VBox/VBoxGuestMangling.h
51else
52 MANGLING := $(KBUILD_EXTMOD)/include/VBox/VBoxGuestMangling.h
53endif
54
55MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \
56 -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODULE -DIN_GUEST_R0
57# our module does not export any symbol
58MOD_DEFS += -DRT_NO_EXPORT_SYMBOL
59ifeq ($(BUILD_TARGET_ARCH),amd64)
60 MOD_DEFS += -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS
61else
62 MOD_DEFS += -DRT_ARCH_X86
63endif
64
65ifeq ($(KERN_VERSION), 24)
66 MOD_CFLAGS =
67else
68 MOD_CFLAGS = -fshort-wchar -include $(MANGLING)
69
70# special hack for Fedora Core 6 2.6.18 (fc6), rhel5 2.6.18 (el5),
71# ClarkConnect 4.3 (cc4) and ClarkConnect 5 (v5)
72 ifeq ($(KERNELRELEASE),)
73 MOD_EXTRA += $(foreach inc,$(KERN_INCL),\
74 $(if $(wildcard $(inc)/linux/utsrelease.h),\
75 $(if $(shell grep '"2.6.18.*fc6.*"' $(inc)/linux/utsrelease.h; \
76 grep '"2.6.18.*el5.*"' $(inc)/linux/utsrelease.h; \
77 grep '"2.6.18.*v5.*"' $(inc)/linux/utsrelease.h; \
78 grep '"2.6.18.*cc4.*"' $(inc)/linux/utsrelease.h),\
79 -DKERNEL_FC6,),))
80 else
81 MOD_EXTRA += $(if $(shell echo "$(KERNELRELEASE)"|grep '2.6.18.*fc6.*';\
82 echo "$(KERNELRELEASE)"|grep '2.6.18.*el5.*';\
83 echo "$(KERNELRELEASE)"|grep '2.6.18.*v5.*';\
84 echo "$(KERNELRELEASE)"|grep '2.6.18.*cc4.*'),\
85 -DKERNEL_FC6,)
86 endif
87endif
88
89MOD_CLEAN = . linux r0drv r0drv/linux
90
91include $(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