Index: trunk/src/VBox/Installer/linux/Makefile-footer.gmk
===================================================================
--- trunk/src/VBox/Installer/linux/Makefile-footer.gmk	(revision 77390)
+++ trunk/src/VBox/Installer/linux/Makefile-footer.gmk	(revision 77390)
@@ -0,0 +1,118 @@
+# $Id$
+## @file
+# VirtualBox Guest Additions kernel module Makefile, common parts.
+#
+# See Makefile-header.gmk for details of how to use this.
+#
+
+#
+# Copyright (C) 2006-2019 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+#
+# Note! The MOD_XXX variables are ours and does not directly influence the
+#       kernel build system.  When adding more variables, please prefix them
+#       with VBOX_ so we can tell more easily who's variable it is.
+#
+
+# override is required by the Debian guys
+override MODULE = $(MOD_NAME)
+OBJS   = $(MOD_OBJS)
+
+KBUILD_VERBOSE ?= 1
+LINUX_VERBOSE = $(if $(KBUILD_VERBOSE),1,)
+
+#
+# Compiler options
+#
+VBOX_INCL := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL)) $(MOD_INCL)
+
+KFLAGS   := -D__KERNEL__ -DMODULE -DRT_WITHOUT_PRAGMA_ONCE $(MOD_DEFS)
+ifeq ($(BUILD_TYPE),debug)
+# The -Wno-array-bounds is because of a bug in gcc 4.something, see
+# https://sourceware.org/bugzilla/show_bug.cgi?id=10001
+ KFLAGS  += -DDEBUG -DDEBUG_$(subst $(subst _, ,_),_,$(USERNAME)) -DDEBUG_USERNAME=$(subst $(subst _, ,_),_,$(USERNAME))
+ ifeq ($(shell expr $(KERN_VER) : '[23]\.'),0)
+  KFLAGS  += -Werror -Wall -Wno-array-bounds
+ endif
+endif
+
+ifeq ($(KERN_VERSION),24)
+#
+# 2.4
+#
+
+# Note: while 2.4 kernels could also do "proper" builds from kbuild, the make
+# script needed to support it was somewhat different from 2.6.  Since this
+# script works and 2.4 is not a moving target we will not try do do things the
+# "proper" way.
+
+ifeq ($(BUILD_TARGET_ARCH),amd64)
+ KFLAGS += -mcmodel=kernel
+endif
+
+CFLAGS := -O2 -DVBOX_LINUX_2_4 $(MOD_CFLAGS) $(VBOX_INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
+MODULE_EXT := o
+
+# 2.4 Module linking
+$(MODULE).$(MODULE_EXT): $(OBJS)
+	$(LD) -o $@ -r $(OBJS)
+
+.PHONY: $(MODULE)
+all: $(MODULE)
+$(MODULE): $(MODULE).$(MODULE_EXT)
+
+install: $(MODULE)
+	@mkdir -p $(MODULE_DIR); \
+	install -m 0644 -o root -g root $(MODULE).$(MODULE_EXT) $(MODULE_DIR); \
+	PATH="$(PATH):/bin:/sbin" depmod -a; sync
+
+clean:
+	for f in $(sort $(dir $(OBJS))); do rm -f $$f/*.o $$f/.*.cmd $$f/.*.flags; done
+	rm -rf .$(MOD_NAME)* .tmp_ver* $(MOD_NAME).* Modules.symvers modules.order
+
+else  # ! $(KERN_VERSION), 24
+#
+# 2.6 and later
+## @todo XXX does not work for 2.6.5 and earlier (see KBUILD_EXTMOD in header).
+#
+
+MODULE_EXT := ko
+
+$(MODULE)-y  := $(OBJS)
+
+# build defs
+EXTRA_CFLAGS += $(MOD_CFLAGS) $(VBOX_INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
+
+.PHONY: $(MODULE)
+all: $(MODULE)
+
+obj-m += $(MODULE).o
+
+JOBS := $(shell (getconf _NPROCESSORS_ONLN || grep -Ec '^processor|^CPU[0-9]' /proc/cpuinfo) 2>/dev/null)
+ifeq ($(JOBS),0)
+  override JOBS := 1
+endif
+
+# OL/UEK: disable module signing for external modules -- we don't have any private key
+$(MODULE):
+	$(MAKE) V=$(LINUX_VERBOSE) CONFIG_MODULE_SIG= -C $(KERN_DIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) $(if $(JOBS),-j$(JOBS),) modules
+
+install: $(MODULE)
+	$(MAKE) V=$(LINUX_VERBOSE) CONFIG_MODULE_SIG= -C $(KERN_DIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) INSTALL_MOD_PATH=$(INSTALL_MOD_PATH) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) modules_install
+
+modules_install: install
+
+clean:
+	$(MAKE) V=$(LINUX_VERBOSE) CONFIG_MODULE_SIG= -C $(KERN_DIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) clean
+
+.PHONY: $(MODULE) install modules_install clean
+endif
Index: trunk/src/VBox/Installer/linux/Makefile-header.gmk
===================================================================
--- trunk/src/VBox/Installer/linux/Makefile-header.gmk	(revision 77390)
+++ trunk/src/VBox/Installer/linux/Makefile-header.gmk	(revision 77390)
@@ -0,0 +1,180 @@
+# $Id$
+## @file
+# VirtualBox Guest Additions kernel module Makefile, common parts.
+#
+# (For 2.6.x, the main file must be called 'Makefile'!)
+#
+
+#
+# Copyright (C) 2006-2019 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# Testing:
+# * Building with KERN_DIR set uses the value specified and
+#   the default value for the unspecified one if any.
+
+#
+# These file should be included by the Makefiles for any kernel modules we
+# build as part of the Guest Additions.  The intended way of doing this is as
+# follows:
+#
+# # Linux kbuild sets this to our source directory if we are called from
+# # there
+# obj ?= $(CURDIR)
+# include $(obj)/Makefile-header.gmk
+# MOD_NAME = <name of the module to be built, without extension>
+# MOD_OBJS = <list of object files which should be included>
+# MOD_DEFS = <any additional defines which this module needs>
+# MOD_INCL = <any additional include paths which this module needs>
+# MOD_CFLAGS = <any additional CFLAGS which this module needs>
+# include $(obj)/Makefile-footer.gmk
+#
+# The kmk kBuild define KBUILD_TARGET_ARCH is available.
+#
+
+
+#
+# First, figure out which architecture we're targeting and the build type.
+# (We have to support basic cross building (ARCH=i386|x86_64).)
+# While at it, warn about BUILD_* vars found to help with user problems.
+#
+ifeq ($(filter-out x86_64 amd64 AMD64,$(shell uname -m)),)
+ BUILD_TARGET_ARCH_DEF := amd64
+else
+ BUILD_TARGET_ARCH_DEF := x86
+endif
+ifneq ($(filter-out amd64 x86,$(BUILD_TARGET_ARCH)),)
+ $(warning Ignoring unknown BUILD_TARGET_ARCH value '$(BUILD_TARGET_ARCH)'.)
+ BUILD_TARGET_ARCH :=
+endif
+ifeq ($(BUILD_TARGET_ARCH),)
+ ifeq ($(ARCH),x86_64)
+  BUILD_TARGET_ARCH := amd64
+ else
+  ifeq ($(ARCH),i386)
+   BUILD_TARGET_ARCH := x86
+  else
+   BUILD_TARGET_ARCH := $(BUILD_TARGET_ARCH_DEF)
+  endif
+ endif
+else
+ ifneq ($(BUILD_TARGET_ARCH),$(BUILD_TARGET_ARCH_DEF))
+  $(warning Using BUILD_TARGET_ARCH='$(BUILD_TARGET_ARCH)' from the $(origin BUILD_TARGET_ARCH).)
+ endif
+endif
+
+ifneq ($(filter-out release profile debug strict,$(BUILD_TYPE)),)
+ $(warning Ignoring unknown BUILD_TYPE value '$(BUILD_TYPE)'.)
+ BUILD_TYPE :=
+endif
+ifeq ($(BUILD_TYPE),)
+ BUILD_TYPE := release
+else
+ ifneq ($(BUILD_TYPE),release)
+  ifndef VBOX_KERN_QUIET
+   $(warning Using BUILD_TYPE='$(BUILD_TYPE)' from the $(origin BUILD_TYPE).)
+  endif
+ endif
+endif
+ifeq ($(USERNAME),)
+ USERNAME := noname
+endif
+
+ifeq ($(KERNELRELEASE),)
+
+ #
+ # building from this directory
+ #
+
+ # kernel base directory
+ ifdef KERN_DIR
+  ifndef KERN_VER
+   ifeq ($(filter %/build,$(KERN_DIR)),)
+    $(error The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set)
+   endif
+  endif
+ endif
+
+ ifndef KERN_VER
+  ifdef KERN_DIR
+   KERN_VER = $(notdir $(patsubst %/build,%,$(KERN_DIR)))
+   ifeq ($(shell expr $(KERN_VER) : '[0-9]*\.[0-9]*.[0-9]*'),0)
+    $(error The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set)
+   endif
+  endif
+ KERN_VER ?= $(shell uname -r)
+ endif
+
+ # guess kernel major version (24 or later)
+ ifeq ($(shell if grep '"2\.4\.' /lib/modules/$(KERN_VER)/build/include/linux/version.h > /dev/null 2>&1; then echo yes; fi),yes)
+  KERN_VERSION := 24
+ else
+  KERN_VERSION := 26
+ endif
+
+else # neq($(KERNELRELEASE),)
+
+ #
+ # building from kbuild (make -C <kernel_directory> M=`pwd`)
+ #
+
+ # guess kernel version (24 or 26)
+ ifeq ($(shell if echo "$(VERSION).$(PATCHLEVEL)." | grep '2\.4\.' > /dev/null; then echo yes; fi),yes)
+  KERN_VERSION := 24
+ else
+  KERN_VERSION := 26
+ endif
+
+ KERN_VER := $(KERNELRELEASE)
+
+endif # neq($(KERNELRELEASE),)
+
+# Kernel build folder
+ifeq ($(KERN_DIR),)
+ KERN_DIR := /lib/modules/$(KERN_VER)/build
+endif
+ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+ $(error Error: unable to find the headers of the Linux kernel to build against. \
+          Specify KERN_VER=<version> (currently $(KERN_VER)) and run Make again)
+endif
+# Kernel include folder
+KERN_INCL := $(KERN_DIR)/include
+# module install folder
+INSTALL_MOD_DIR ?= misc
+MODULE_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KERN_VER)/$(INSTALL_MOD_DIR)
+
+#
+# The KBUILD_EXTMOD variable is used by 2.6.6 and later when build external
+# modules (see https://lwn.net/Articles/79984/).  It will be set to SUBDIRS
+# or M by the linux kernel makefile.  We fake it here for older kernels.
+#
+## @todo Drop this KBUILD_EXTMOD glue once it has been removed from all our makefiles (see sharedfolders).
+ifndef KBUILD_EXTMOD
+ ifndef CURDIR # for make < v3.79
+  CURDIR := $(shell pwd)
+ endif
+ KBUILD_EXTMOD := $(CURDIR)
+endif
+
+# debug - show guesses.
+ifdef DEBUG
+ ifndef VBOX_KERN_QUIET
+$(warning dbg: INSTALL_MOD_PATH = $(INSTALL_MOD_PATH))
+$(warning dbg: INSTALL_MOD_DIR  = $(INSTALL_MOD_DIR))
+$(warning dbg: KERN_DIR         = $(KERN_DIR))
+$(warning dbg: KERN_INCL        = $(KERN_INCL))
+$(warning dbg: KERN_VERSION     = $(KERN_VERSION))
+$(warning dbg: MODULE_DIR       = $(MODULE_DIR))
+$(warning dbg: KBUILD_EXTMOD    = $(KBUILD_EXTMOD))
+$(warning dbg: VBOX_ROOT_DIR    = $(VBOX_ROOT_DIR))
+ endif
+endif
+
Index: trunk/src/VBox/Installer/linux/Makefile.include.footer
===================================================================
--- trunk/src/VBox/Installer/linux/Makefile.include.footer	(revision 77389)
+++ 	(revision )
@@ -1,118 +1,0 @@
-# $Id$
-## @file
-# VirtualBox Guest Additions kernel module Makefile, common parts.
-#
-# See Makefile.include.header for details of how to use this.
-#
-
-#
-# Copyright (C) 2006-2019 Oracle Corporation
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-
-#
-# Note! The MOD_XXX variables are ours and does not directly influence the
-#       kernel build system.  When adding more variables, please prefix them
-#       with VBOX_ so we can tell more easily who's variable it is.
-#
-
-# override is required by the Debian guys
-override MODULE = $(MOD_NAME)
-OBJS   = $(MOD_OBJS)
-
-KBUILD_VERBOSE ?= 1
-LINUX_VERBOSE = $(if $(KBUILD_VERBOSE),1,)
-
-#
-# Compiler options
-#
-VBOX_INCL := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL)) $(MOD_INCL)
-
-KFLAGS   := -D__KERNEL__ -DMODULE -DRT_WITHOUT_PRAGMA_ONCE $(MOD_DEFS)
-ifeq ($(BUILD_TYPE),debug)
-# The -Wno-array-bounds is because of a bug in gcc 4.something, see
-# https://sourceware.org/bugzilla/show_bug.cgi?id=10001
- KFLAGS  += -DDEBUG -DDEBUG_$(subst $(subst _, ,_),_,$(USERNAME)) -DDEBUG_USERNAME=$(subst $(subst _, ,_),_,$(USERNAME))
- ifeq ($(shell expr $(KERN_VER) : '[23]\.'),0)
-  KFLAGS  += -Werror -Wall -Wno-array-bounds
- endif
-endif
-
-ifeq ($(KERN_VERSION),24)
-#
-# 2.4
-#
-
-# Note: while 2.4 kernels could also do "proper" builds from kbuild, the make
-# script needed to support it was somewhat different from 2.6.  Since this
-# script works and 2.4 is not a moving target we will not try do do things the
-# "proper" way.
-
-ifeq ($(BUILD_TARGET_ARCH),amd64)
- KFLAGS += -mcmodel=kernel
-endif
-
-CFLAGS := -O2 -DVBOX_LINUX_2_4 $(MOD_CFLAGS) $(VBOX_INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
-MODULE_EXT := o
-
-# 2.4 Module linking
-$(MODULE).$(MODULE_EXT): $(OBJS)
-	$(LD) -o $@ -r $(OBJS)
-
-.PHONY: $(MODULE)
-all: $(MODULE)
-$(MODULE): $(MODULE).$(MODULE_EXT)
-
-install: $(MODULE)
-	@mkdir -p $(MODULE_DIR); \
-	install -m 0644 -o root -g root $(MODULE).$(MODULE_EXT) $(MODULE_DIR); \
-	PATH="$(PATH):/bin:/sbin" depmod -a; sync
-
-clean:
-	for f in $(sort $(dir $(OBJS))); do rm -f $$f/*.o $$f/.*.cmd $$f/.*.flags; done
-	rm -rf .$(MOD_NAME)* .tmp_ver* $(MOD_NAME).* Modules.symvers modules.order
-
-else  # ! $(KERN_VERSION), 24
-#
-# 2.6 and later
-## @todo XXX does not work for 2.6.5 and earlier (see KBUILD_EXTMOD in header).
-#
-
-MODULE_EXT := ko
-
-$(MODULE)-y  := $(OBJS)
-
-# build defs
-EXTRA_CFLAGS += $(MOD_CFLAGS) $(VBOX_INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
-
-.PHONY: $(MODULE)
-all: $(MODULE)
-
-obj-m += $(MODULE).o
-
-JOBS := $(shell (getconf _NPROCESSORS_ONLN || grep -Ec '^processor|^CPU[0-9]' /proc/cpuinfo) 2>/dev/null)
-ifeq ($(JOBS),0)
-  override JOBS := 1
-endif
-
-# OL/UEK: disable module signing for external modules -- we don't have any private key
-$(MODULE):
-	$(MAKE) V=$(LINUX_VERBOSE) CONFIG_MODULE_SIG= -C $(KERN_DIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) $(if $(JOBS),-j$(JOBS),) modules
-
-install: $(MODULE)
-	$(MAKE) V=$(LINUX_VERBOSE) CONFIG_MODULE_SIG= -C $(KERN_DIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) INSTALL_MOD_PATH=$(INSTALL_MOD_PATH) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) modules_install
-
-modules_install: install
-
-clean:
-	$(MAKE) V=$(LINUX_VERBOSE) CONFIG_MODULE_SIG= -C $(KERN_DIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) clean
-
-.PHONY: $(MODULE) install modules_install clean
-endif
Index: trunk/src/VBox/Installer/linux/Makefile.include.header
===================================================================
--- trunk/src/VBox/Installer/linux/Makefile.include.header	(revision 77389)
+++ 	(revision )
@@ -1,180 +1,0 @@
-# $Id$
-## @file
-# VirtualBox Guest Additions kernel module Makefile, common parts.
-#
-# (For 2.6.x, the main file must be called 'Makefile'!)
-#
-
-#
-# Copyright (C) 2006-2019 Oracle Corporation
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-
-# Testing:
-# * Building with KERN_DIR set uses the value specified and
-#   the default value for the unspecified one if any.
-
-#
-# These file should be included by the Makefiles for any kernel modules we
-# build as part of the Guest Additions.  The intended way of doing this is as
-# follows:
-#
-# # Linux kbuild sets this to our source directory if we are called from
-# # there
-# obj ?= $(CURDIR)
-# include $(obj)/Makefile.include.header
-# MOD_NAME = <name of the module to be built, without extension>
-# MOD_OBJS = <list of object files which should be included>
-# MOD_DEFS = <any additional defines which this module needs>
-# MOD_INCL = <any additional include paths which this module needs>
-# MOD_CFLAGS = <any additional CFLAGS which this module needs>
-# include $(obj)/Makefile.include.footer
-#
-# The kmk kBuild define KBUILD_TARGET_ARCH is available.
-#
-
-
-#
-# First, figure out which architecture we're targeting and the build type.
-# (We have to support basic cross building (ARCH=i386|x86_64).)
-# While at it, warn about BUILD_* vars found to help with user problems.
-#
-ifeq ($(filter-out x86_64 amd64 AMD64,$(shell uname -m)),)
- BUILD_TARGET_ARCH_DEF := amd64
-else
- BUILD_TARGET_ARCH_DEF := x86
-endif
-ifneq ($(filter-out amd64 x86,$(BUILD_TARGET_ARCH)),)
- $(warning Ignoring unknown BUILD_TARGET_ARCH value '$(BUILD_TARGET_ARCH)'.)
- BUILD_TARGET_ARCH :=
-endif
-ifeq ($(BUILD_TARGET_ARCH),)
- ifeq ($(ARCH),x86_64)
-  BUILD_TARGET_ARCH := amd64
- else
-  ifeq ($(ARCH),i386)
-   BUILD_TARGET_ARCH := x86
-  else
-   BUILD_TARGET_ARCH := $(BUILD_TARGET_ARCH_DEF)
-  endif
- endif
-else
- ifneq ($(BUILD_TARGET_ARCH),$(BUILD_TARGET_ARCH_DEF))
-  $(warning Using BUILD_TARGET_ARCH='$(BUILD_TARGET_ARCH)' from the $(origin BUILD_TARGET_ARCH).)
- endif
-endif
-
-ifneq ($(filter-out release profile debug strict,$(BUILD_TYPE)),)
- $(warning Ignoring unknown BUILD_TYPE value '$(BUILD_TYPE)'.)
- BUILD_TYPE :=
-endif
-ifeq ($(BUILD_TYPE),)
- BUILD_TYPE := release
-else
- ifneq ($(BUILD_TYPE),release)
-  ifndef VBOX_KERN_QUIET
-   $(warning Using BUILD_TYPE='$(BUILD_TYPE)' from the $(origin BUILD_TYPE).)
-  endif
- endif
-endif
-ifeq ($(USERNAME),)
- USERNAME := noname
-endif
-
-ifeq ($(KERNELRELEASE),)
-
- #
- # building from this directory
- #
-
- # kernel base directory
- ifdef KERN_DIR
-  ifndef KERN_VER
-   ifeq ($(filter %/build,$(KERN_DIR)),)
-    $(error The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set)
-   endif
-  endif
- endif
-
- ifndef KERN_VER
-  ifdef KERN_DIR
-   KERN_VER = $(notdir $(patsubst %/build,%,$(KERN_DIR)))
-   ifeq ($(shell expr $(KERN_VER) : '[0-9]*\.[0-9]*.[0-9]*'),0)
-    $(error The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set)
-   endif
-  endif
- KERN_VER ?= $(shell uname -r)
- endif
-
- # guess kernel major version (24 or later)
- ifeq ($(shell if grep '"2\.4\.' /lib/modules/$(KERN_VER)/build/include/linux/version.h > /dev/null 2>&1; then echo yes; fi),yes)
-  KERN_VERSION := 24
- else
-  KERN_VERSION := 26
- endif
-
-else # neq($(KERNELRELEASE),)
-
- #
- # building from kbuild (make -C <kernel_directory> M=`pwd`)
- #
-
- # guess kernel version (24 or 26)
- ifeq ($(shell if echo "$(VERSION).$(PATCHLEVEL)." | grep '2\.4\.' > /dev/null; then echo yes; fi),yes)
-  KERN_VERSION := 24
- else
-  KERN_VERSION := 26
- endif
-
- KERN_VER := $(KERNELRELEASE)
-
-endif # neq($(KERNELRELEASE),)
-
-# Kernel build folder
-ifeq ($(KERN_DIR),)
- KERN_DIR := /lib/modules/$(KERN_VER)/build
-endif
-ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
- $(error Error: unable to find the headers of the Linux kernel to build against. \
-          Specify KERN_VER=<version> (currently $(KERN_VER)) and run Make again)
-endif
-# Kernel include folder
-KERN_INCL := $(KERN_DIR)/include
-# module install folder
-INSTALL_MOD_DIR ?= misc
-MODULE_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KERN_VER)/$(INSTALL_MOD_DIR)
-
-#
-# The KBUILD_EXTMOD variable is used by 2.6.6 and later when build external
-# modules (see https://lwn.net/Articles/79984/).  It will be set to SUBDIRS
-# or M by the linux kernel makefile.  We fake it here for older kernels.
-#
-## @todo Drop this KBUILD_EXTMOD glue once it has been removed from all our makefiles (see sharedfolders).
-ifndef KBUILD_EXTMOD
- ifndef CURDIR # for make < v3.79
-  CURDIR := $(shell pwd)
- endif
- KBUILD_EXTMOD := $(CURDIR)
-endif
-
-# debug - show guesses.
-ifdef DEBUG
- ifndef VBOX_KERN_QUIET
-$(warning dbg: INSTALL_MOD_PATH = $(INSTALL_MOD_PATH))
-$(warning dbg: INSTALL_MOD_DIR  = $(INSTALL_MOD_DIR))
-$(warning dbg: KERN_DIR         = $(KERN_DIR))
-$(warning dbg: KERN_INCL        = $(KERN_INCL))
-$(warning dbg: KERN_VERSION     = $(KERN_VERSION))
-$(warning dbg: MODULE_DIR       = $(MODULE_DIR))
-$(warning dbg: KBUILD_EXTMOD    = $(KBUILD_EXTMOD))
-$(warning dbg: VBOX_ROOT_DIR    = $(VBOX_ROOT_DIR))
- endif
-endif
-
