File Makefile of Package virtualbox-ose
KERNEL_SOURCE ?= /lib/modules/$(shell uname -r)/build
# this is taken from the original Makefile
KFLAGS = -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING
ifndef CONFIG_VBOXDRV_FIXEDMAJOR
KFLAGS += -DCONFIG_VBOXDRV_AS_MISC
endif
ifeq ($(ARCH),x86_64)
KFLAGS += -DRT_ARCH_AMD64
else
KFLAGS += -DRT_ARCH_X86
endif
EXTRA_CFLAGS += $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux ) $(KFLAGS)
vboxdrv-obj-y = \
linux/SUPDrv-linux.o \
SUPDrv.o \
r0drv/alloc-r0drv.o \
r0drv/initterm-r0drv.o \
r0drv/memobj-r0drv.o \
r0drv/mpnotification-r0drv.o \
r0drv/linux/alloc-r0drv-linux.o \
r0drv/linux/initterm-r0drv-linux.o \
r0drv/linux/memobj-r0drv-linux.o \
r0drv/linux/mp-r0drv-linux.o \
r0drv/linux/mpnotification-r0drv-linux.o \
r0drv/linux/process-r0drv-linux.o \
r0drv/linux/semevent-r0drv-linux.o \
r0drv/linux/semfastmutex-r0drv-linux.o \
r0drv/linux/spinlock-r0drv-linux.o \
r0drv/linux/semeventmulti-r0drv-linux.o \
r0drv/linux/thread-r0drv-linux.o \
r0drv/linux/time-r0drv-linux.o \
r0drv/linux/timer-r0drv-linux.o \
common/err/RTErrConvertFromErrno.o
ifeq ($(ARCH), i386)
vboxdrv-obj-y += \
math/gcc/divdi3.o \
math/gcc/moddi3.o \
math/gcc/qdivrem.o \
math/gcc/udivdi3.o
endif
ifeq ($(ARCH), x86_64)
vboxdrv-obj-y += alloc/heapsimple.o
endif
vboxdrv-objs := $(vboxdrv-obj-y)
obj-m += vboxdrv.o
modules modules_install clean:
$(MAKE) -C $(KERNEL_SOURCE) SUBDIRS=$(shell pwd) $@
install: modules_install
all: modules