13fdd42f1fc3e519650037a920e6a54c24973866vboxsync#
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync# VirtualBox Guest Additions Module Makefile.
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync#
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync# (For 2.6.x this file must be 'Makefile'!)
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync#
4991919867eccca7f285bd341c85c323921dc028vboxsync# Copyright (C) 2006-2011 Oracle Corporation
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync#
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# available from http://www.virtualbox.org. This file is free software;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
565c6b62913edd14704b060e3172bba10b1fe12evboxsync#
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync
4991919867eccca7f285bd341c85c323921dc028vboxsync# Linux kbuild sets this to our source directory if we are called from there
4991919867eccca7f285bd341c85c323921dc028vboxsyncobj ?= $(CURDIR)
4991919867eccca7f285bd341c85c323921dc028vboxsyncinclude $(obj)/Makefile.include.header
66cd15f94910b1afc64c42375d40e01d5d33ad2fvboxsync
4991919867eccca7f285bd341c85c323921dc028vboxsyncMOD_NAME = vboxsf
4991919867eccca7f285bd341c85c323921dc028vboxsyncMOD_OBJS = \
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync vfsmod.o \
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync dirops.o \
0ec4616fb7a9468c58051f9baea2941f75f9d6c4vboxsync lnkops.o \
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync regops.o \
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync utils.o \
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync GenericRequest.o \
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync SysHlp.o \
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync PhysHeap.o \
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync Init.o \
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync VMMDev.o \
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync HGCM.o \
05f8c0fb8f1a917a40a730956b8ff8211fa257d0vboxsync VBoxGuestR0LibSharedFolders.o \
7ca4727ba2f9e3703771a308b11cd551f3fca4fdvboxsync VbglR0CanUsePhysPageList.o
2043260aa6abeee8eb8cf0309cebb97ede45851evboxsyncifeq ($(BUILD_TARGET_ARCH),x86)
4991919867eccca7f285bd341c85c323921dc028vboxsyncMOD_OBJS += \
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync divdi3.o \
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync moddi3.o \
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync udivdi3.o \
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync umoddi3.o \
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync qdivrem.o
2043260aa6abeee8eb8cf0309cebb97ede45851evboxsyncendif
e7aa635d70dd0cdf083287ec896fe8cca2775466vboxsync
4991919867eccca7f285bd341c85c323921dc028vboxsyncMOD_INCL = \
4991919867eccca7f285bd341c85c323921dc028vboxsync $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) \
4991919867eccca7f285bd341c85c323921dc028vboxsync $(addprefix -I$(KBUILD_EXTMOD)/vboxsf,/ /include /r0drv/linux)
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync
b39c3fa81cadaec00ebb2e7170a8db96998b7032vboxsyncifneq ($(wildcard $(KBUILD_EXTMOD)/vboxsf),)
b39c3fa81cadaec00ebb2e7170a8db96998b7032vboxsync MANGLING := $(KBUILD_EXTMOD)/vboxsf/include/VBox/VBoxGuestMangling.h
b39c3fa81cadaec00ebb2e7170a8db96998b7032vboxsyncelse
b39c3fa81cadaec00ebb2e7170a8db96998b7032vboxsync MANGLING := $(KBUILD_EXTMOD)/include/VBox/VBoxGuestMangling.h
b39c3fa81cadaec00ebb2e7170a8db96998b7032vboxsyncendif
4991919867eccca7f285bd341c85c323921dc028vboxsync
4991919867eccca7f285bd341c85c323921dc028vboxsyncMOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \
a4ab203fe0f52099fa53f52758e83d06f470ac04vboxsync -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODULE -DIN_GUEST_R0
74959ba85f2898a152aed46b41cfe908638f2420vboxsync# our module does not export any symbol
4991919867eccca7f285bd341c85c323921dc028vboxsyncMOD_DEFS += -DRT_NO_EXPORT_SYMBOL
d2c66e0925a76b3636d86b2afb2487fd6f956aebvboxsyncifeq ($(BUILD_TARGET_ARCH),amd64)
4991919867eccca7f285bd341c85c323921dc028vboxsync MOD_DEFS += -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS
d2c66e0925a76b3636d86b2afb2487fd6f956aebvboxsyncelse
4991919867eccca7f285bd341c85c323921dc028vboxsync MOD_DEFS += -DRT_ARCH_X86
2043260aa6abeee8eb8cf0309cebb97ede45851evboxsyncendif
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync
13fdd42f1fc3e519650037a920e6a54c24973866vboxsyncifeq ($(KERN_VERSION), 24)
4991919867eccca7f285bd341c85c323921dc028vboxsync MOD_CFLAGS =
13fdd42f1fc3e519650037a920e6a54c24973866vboxsyncelse
317afd8ab14633faf6af4cfc0074b7476ba636c2vboxsync MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -include $(MANGLING)
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync
6a4586a1a79ef87a9b97119ae350009a258fe924vboxsync# special hack for Fedora Core 6 2.6.18 (fc6), rhel5 2.6.18 (el5),
6a4586a1a79ef87a9b97119ae350009a258fe924vboxsync# ClarkConnect 4.3 (cc4) and ClarkConnect 5 (v5)
4991919867eccca7f285bd341c85c323921dc028vboxsync ifeq ($(KERNELRELEASE),)
4991919867eccca7f285bd341c85c323921dc028vboxsync MOD_EXTRA += $(foreach inc,$(KERN_INCL),\
4991919867eccca7f285bd341c85c323921dc028vboxsync $(if $(wildcard $(inc)/linux/utsrelease.h),\
4991919867eccca7f285bd341c85c323921dc028vboxsync $(if $(shell grep '"2.6.18.*fc6.*"' $(inc)/linux/utsrelease.h; \
7a006aff4af0ac1eaed18e272ecc9aeeaf41e4efvboxsync grep '"2.6.18.*el5.*"' $(inc)/linux/utsrelease.h; \
6a4586a1a79ef87a9b97119ae350009a258fe924vboxsync grep '"2.6.18.*v5.*"' $(inc)/linux/utsrelease.h; \
7a006aff4af0ac1eaed18e272ecc9aeeaf41e4efvboxsync grep '"2.6.18.*cc4.*"' $(inc)/linux/utsrelease.h),\
7a006aff4af0ac1eaed18e272ecc9aeeaf41e4efvboxsync -DKERNEL_FC6,),))
4991919867eccca7f285bd341c85c323921dc028vboxsync else
4991919867eccca7f285bd341c85c323921dc028vboxsync MOD_EXTRA += $(if $(shell echo "$(KERNELRELEASE)"|grep '2.6.18.*fc6.*';\
7a006aff4af0ac1eaed18e272ecc9aeeaf41e4efvboxsync echo "$(KERNELRELEASE)"|grep '2.6.18.*el5.*';\
6a4586a1a79ef87a9b97119ae350009a258fe924vboxsync echo "$(KERNELRELEASE)"|grep '2.6.18.*v5.*';\
7a006aff4af0ac1eaed18e272ecc9aeeaf41e4efvboxsync echo "$(KERNELRELEASE)"|grep '2.6.18.*cc4.*'),\
7a006aff4af0ac1eaed18e272ecc9aeeaf41e4efvboxsync -DKERNEL_FC6,)
4991919867eccca7f285bd341c85c323921dc028vboxsync endif
b1fd0840de05fc2e189d4ea55ba33c2d6b09a4d8vboxsyncendif
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync
4991919867eccca7f285bd341c85c323921dc028vboxsyncMOD_CLEAN = . linux r0drv r0drv/linux
13fdd42f1fc3e519650037a920e6a54c24973866vboxsync
4991919867eccca7f285bd341c85c323921dc028vboxsyncinclude $(obj)/Makefile.include.footer