Platform Kernel Module Support

Per-platform kernel modules can now be built out of tree against multiple kernel mbuild packages.
This commit is contained in:
Jeffrey Townsend
2016-12-31 20:59:27 +00:00
parent d3a1f1546d
commit 216e4f0eed
2 changed files with 35 additions and 0 deletions

14
make/kmodule.mk Normal file
View File

@@ -0,0 +1,14 @@
ifndef KERNELS
$(error $$KERNELS must be set)
endif
ifndef KMODULES
$(error $$KMODULES must be set)
endif
ifndef PLATFORM
$(error $$PLATFORM must be set)
endif
modules:
$(ONL)/tools/scripts/kmodbuild.sh "$(KERNELS)" "$(KMODULES)" $(PLATFORM)

21
tools/scripts/kmodbuild.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
set -e
#
# kmodbuild.sh kernel-packages module-directories platform-name
#
function build_module
{
KERNEL=`onlpm --find-dir $1 mbuilds`
BUILD_DIR=`mktemp -d`
cp -R $2/* "$BUILD_DIR"
make -C $KERNEL M=$BUILD_DIR modules
make -C $KERNEL M=$BUILD_DIR INSTALL_MOD_PATH=`pwd` INSTALL_MOD_DIR="$3" modules_install
}
for kernel in $1; do
for module in $2; do
build_module $kernel $module $3
done
done