mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-11-06 21:28:20 +00:00
- Allow building individual source files
- Allow direct specification of the kernel build tree.
This commit is contained in:
@@ -5,17 +5,51 @@ set -e
|
|||||||
# kmodbuild.sh kernel-packages module-directories platform-name
|
# kmodbuild.sh kernel-packages module-directories platform-name
|
||||||
#
|
#
|
||||||
|
|
||||||
function build_module
|
#
|
||||||
|
# build <kernel-package> <module-directory> <platform-install-subdir>
|
||||||
|
#
|
||||||
|
function build
|
||||||
{
|
{
|
||||||
KERNEL=`onlpm --find-dir $1 mbuilds`
|
if [ -d $1 ]; then
|
||||||
BUILD_DIR=`mktemp -d`
|
KERNEL=$1
|
||||||
cp -R $2/* "$BUILD_DIR"
|
else
|
||||||
|
KERNEL=`onlpm --find-dir $1 mbuilds`
|
||||||
|
fi
|
||||||
|
BUILD_DIR=$2
|
||||||
|
INSTALL_DIR=$3
|
||||||
make -C $KERNEL M=$BUILD_DIR modules
|
make -C $KERNEL M=$BUILD_DIR modules
|
||||||
make -C $KERNEL M=$BUILD_DIR INSTALL_MOD_PATH=`pwd` INSTALL_MOD_DIR="$3" modules_install
|
make -C $KERNEL M=$BUILD_DIR INSTALL_MOD_PATH=`pwd` INSTALL_MOD_DIR="$3" modules_install
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# build_directory <kernel-package> <module-directory> <install-subdir>
|
||||||
|
#
|
||||||
|
function build_directory
|
||||||
|
{
|
||||||
|
BUILD_DIR=`mktemp -d`
|
||||||
|
cp -R $2/* "$BUILD_DIR"
|
||||||
|
build $1 $BUILD_DIR $3
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# build_source <kernel-package> <source-file> <install-subdir>
|
||||||
|
#
|
||||||
|
function build_source
|
||||||
|
{
|
||||||
|
BUILD_DIR=`mktemp -d`
|
||||||
|
cp $2 $BUILD_DIR
|
||||||
|
src=$(basename $2)
|
||||||
|
obj=${src%.c}.o
|
||||||
|
echo "obj-m := $obj" >> $BUILD_DIR/Kbuild
|
||||||
|
build $1 $BUILD_DIR $3
|
||||||
|
}
|
||||||
|
|
||||||
for kernel in $1; do
|
for kernel in $1; do
|
||||||
for module in $2; do
|
for module in $2; do
|
||||||
build_module $kernel $module $3
|
if [ -d $module ]; then
|
||||||
|
build_directory $kernel $module $3
|
||||||
|
else
|
||||||
|
build_source $kernel $module $3
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user