Index: /trunk/src/VBox/HostDrivers/Makefile.kmk
===================================================================
--- /trunk/src/VBox/HostDrivers/Makefile.kmk	(revision 39473)
+++ /trunk/src/VBox/HostDrivers/Makefile.kmk	(revision 39474)
@@ -42,6 +42,6 @@
   endif
  endif
- ifeq ($(KBUILD_TARGET),darwin)
-  include $(PATH_SUB_CURRENT)/darwin/Makefile.kmk
+ if1of ($(KBUILD_TARGET), darwin freebsd linux)
+  include $(PATH_SUB_CURRENT)/$(KBUILD_TARGET)/Makefile.kmk
  endif
 
@@ -52,51 +52,4 @@
  endif
 
- if1of ($(KBUILD_TARGET),linux freebsd)
-  #
-  # Install the Makefile for module compilation on Linux and FreeBSD hosts
-  #
-  INSTALLS += HostDrivers-src
-  HostDrivers-src_INST            = bin/src/
-  HostDrivers-src_MODE            = a+r,u+w
-  HostDrivers-src_SOURCES.linux   = linux/Makefile
-  HostDrivers-src_SOURCES.freebsd = freebsd/Makefile
- endif
-
- if1of ($(KBUILD_TARGET),linux)
-  INSTALLS += HostDrivers-scripts
-  HostDrivers-scripts_INST    = bin/src/
-  HostDrivers-scripts_MODE    = a+rx,u+w
-  HostDrivers-scripts_SOURCES = linux/do_dkms \
-                                linux/build_in_tmp
-
-  INSTALLS += HostDrivers-dkms-src
-  HostDrivers-dkms-src_INST    = bin/src/
-  HostDrivers-dkms-src_MODE    = a+r,u+w
-  HostDrivers-dkms-src_SOURCES = $(HostDrivers-dkms-src_0_OUTDIR)/dkms.conf
-  HostDrivers-dkms-src_CLEAN   = $(HostDrivers-dkms-src_0_OUTDIR)/dkms.conf
-
-$$(HostDrivers-dkms-src_0_OUTDIR)/dkms.conf: \
-		$(PATH_SUB_CURRENT)/linux/dkms.conf \
-		$(VBOX_VERSION_STAMP) \
-		| $$(dir $$@)
-	$(call MSG_TOOL,Creating,,$@)
-	$(QUIET)$(SED) \
-		-e "s;_VERSION_;${VBOX_VERSION_STRING};g" \
-		-e "s;_OMIT_VBOXNETFLT_;$(if $(VBOX_WITH_NETFLT),,#);g" \
-		-e "s;_OMIT_VBOXNETADP_;$(if $(VBOX_WITH_NETADP),,#);g" \
-		-e "s;_OMIT_VBOXPCI_;$(if $(VBOX_WITH_PCI_PASSTHROUGH),,#);g" \
-		--output $@ $<
-
- endif
-
- if1of ($(KBUILD_TARGET),freebsd)
-  #
-  # Install the export_modules script for tar'ing the module sources on FreeBSD hosts
-  #
-  INSTALLS += HostDrivers-sh
-  HostDrivers-sh_INST    = bin/
-  HostDrivers-sh_MODE    = a+rx,u+w
-  HostDrivers-sh_SOURCES.freebsd = freebsd/export_modules
- endif
 endif # !defined(VBOX_ONLY_DOCS) && !defined(VBOX_ONLY_TESTSUITE)
 
Index: /trunk/src/VBox/HostDrivers/freebsd/Makefile.kmk
===================================================================
--- /trunk/src/VBox/HostDrivers/freebsd/Makefile.kmk	(revision 39474)
+++ /trunk/src/VBox/HostDrivers/freebsd/Makefile.kmk	(revision 39474)
@@ -0,0 +1,27 @@
+# $Id$
+## @file
+# Sub-makefile for the FreeBSD host driver helper scripts.
+#
+
+#
+# Copyright (C) 2006-2011 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.
+#
+
+SUB_DEPTH = ../../../..
+include $(KBUILD_PATH)/subheader.kmk
+
+INSTALLS += HostDrivers-scripts
+HostDrivers-scripts_INST    = bin/src/
+HostDrivers-scripts_SOURCES = Makefile
+HostDrivers-scripts_EXEC_SOURCES = export_modules
+
+include $(KBUILD_PATH)/subfooter.kmk
+
Index: /trunk/src/VBox/HostDrivers/linux/Makefile.kmk
===================================================================
--- /trunk/src/VBox/HostDrivers/linux/Makefile.kmk	(revision 39474)
+++ /trunk/src/VBox/HostDrivers/linux/Makefile.kmk	(revision 39474)
@@ -0,0 +1,46 @@
+# $Id$
+## @file
+# Sub-makefile for the Linux host driver helper scripts.
+#
+
+#
+# Copyright (C) 2006-2011 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.
+#
+
+SUB_DEPTH = ../../../..
+include $(KBUILD_PATH)/subheader.kmk
+
+INSTALLS += HostDrivers-scripts
+HostDrivers-scripts_INST        = $(INST_DIST)
+HostDrivers-scripts_SOURCES     = \
+	Makefile=>src/Makefile \
+	$(HostDrivers-scripts_0_OUTDIR)/dkms.conf=>src/dkms.conf
+HostDrivers-scripts_EXEC_SOURCES = \
+	loadall.sh \
+	do_dkms=>src/do_dkms \
+	build_in_tmp=>src/build_in_tmp 
+HostDrivers-scripts_CLEAN       = \
+	$(HostDrivers-scripts_0_OUTDIR)/dkms.conf
+
+$$(HostDrivers-scripts_0_OUTDIR)/dkms.conf: \
+		$(PATH_SUB_CURRENT)/dkms.conf \
+		$(VBOX_VERSION_STAMP) \
+		| $$(dir $$@)
+	$(call MSG_TOOL,Creating,,$@)
+	$(QUIET)$(SED) \
+		-e "s;_VERSION_;${VBOX_VERSION_STRING};g" \
+		-e "s;_OMIT_VBOXNETFLT_;$(if $(VBOX_WITH_NETFLT),,#);g" \
+		-e "s;_OMIT_VBOXNETADP_;$(if $(VBOX_WITH_NETADP),,#);g" \
+		-e "s;_OMIT_VBOXPCI_;$(if $(VBOX_WITH_PCI_PASSTHROUGH),,#);g" \
+		--output $@ $<
+
+include $(KBUILD_PATH)/subfooter.kmk
+
Index: /trunk/src/VBox/HostDrivers/linux/loadall.sh
===================================================================
--- /trunk/src/VBox/HostDrivers/linux/loadall.sh	(revision 39474)
+++ /trunk/src/VBox/HostDrivers/linux/loadall.sh	(revision 39474)
@@ -0,0 +1,28 @@
+#!/bin/bash
+## @file
+# For development, builds and loads all the host drivers.
+#
+
+#
+# Copyright (C) 2010-2011 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.
+#
+
+MY_DIR=`dirname "$0"`
+MY_DIR=`cd "${MY_DIR}" && pwd`
+if [ ! -d "${MY_DIR}" ]; then
+    echo "Cannot find ${MY_DIR} or it's not a directory..."
+    exit 1;
+fi
+
+set -e
+kmk -C "${MY_DIR}/src/"
+sudo make -C "${MY_DIR}/src/" load
+
