summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkbuild.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/kbuild.sh b/kbuild.sh
index a0086a8..7980463 100755
--- a/kbuild.sh
+++ b/kbuild.sh
@@ -6,6 +6,7 @@ set -e
kbuild_root=$(dirname $(readlink -f "$0"))
declare -A cross_compile
+declare -A extra_kcflags
declare -A target_root
if [[ -r $kbuild_root/config.sh ]] ; then
@@ -16,6 +17,15 @@ fi
#kbuild_options='C=1'
kbuild_options="KALLSYMS_EXTRA_PASS=0"
+get_kernel_version() {
+ local version=$(cat Makefile | grep '^VERSION = ' | sed 's/.* = //')
+ local patchlevel=$(cat Makefile | grep '^PATCHLEVEL = ' | sed 's/.* = //')
+ local sublevel=$(cat Makefile | grep '^SUBLEVEL = ' | sed 's/.* = //')
+ echo "$version.$patchlevel.$sublevel"
+}
+
+version=$(get_kernel_version)
+
#
# Options parsing
#
@@ -103,6 +113,10 @@ fi
source "${kbuild_root}/platforms/$platform.sh" || exit 1
+# Apply version-specific kcflags, useful to suppress warnings based on the
+# kernel version.
+[[ -z "${extra_kcflags[$version]+_}" ]] || kcflags="$kcflags ${extra_kcflags[$version]}"
+
#
# Architecture
#