diff --git a/make/kmodule.mk b/make/kmodule.mk new file mode 100644 index 00000000..84a7bfbb --- /dev/null +++ b/make/kmodule.mk @@ -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) diff --git a/tools/scripts/kmodbuild.sh b/tools/scripts/kmodbuild.sh new file mode 100755 index 00000000..36d801cd --- /dev/null +++ b/tools/scripts/kmodbuild.sh @@ -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