KERNEL_SOURCE ?= /lib/modules/$(shell uname -r)/build

# this is taken from the original Makefile
KFLAGS   := -D__KERNEL__ -DMODULE -D__LINUX__ -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0
ifndef CONFIG_VBOXDRV_FIXEDMAJOR
 KFLAGS  += -DCONFIG_VBOXDRV_AS_MISC
endif
ifeq ($(BUILD_TARGET_ARCH),amd64)
 KFLAGS  += -D__AMD64__
else
 KFLAGS  += -D__X86__
endif

EXTRA_CFLAGS += $(addprefix -I$(KBUILD_EXTMOD),/ /include) $(KFLAGS)

vboxdrv-obj-y = \
	linux/SUPDrv-linux.o \
	SUPDRVShared.o \
	alloc/heapsimple.o \
	r0drv/alloc-r0drv.o \
	r0drv/initterm-r0drv.o \
	r0drv/linux/alloc-r0drv-linux.o \
	r0drv/linux/initterm-r0drv-linux.o \
	r0drv/linux/process-r0drv-linux.o \
	r0drv/linux/semaphore-r0drv-linux.o \
	r0drv/linux/spinlock-r0drv-linux.o \
	r0drv/linux/thread-r0drv-linux.o
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
