aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2022-06-15 12:36:36 +0200
committerRafał Miłecki <rafal@milecki.pl>2022-07-08 11:28:01 +0200
commitda7c57b086d893aab2ce446b99d2d22b538d67d8 (patch)
tree928339cdce28f6a85c8ec6984a2fdcd1a66f7d28
parent614a4200841ed2cbd101cdce0966bc291d01642f (diff)
downloadupstream-da7c57b086d893aab2ce446b99d2d22b538d67d8.tar.gz
upstream-da7c57b086d893aab2ce446b99d2d22b538d67d8.tar.bz2
upstream-da7c57b086d893aab2ce446b99d2d22b538d67d8.zip
kernel: support setting extra CFLAGS for kernel compilation
They may be used e.g. to optimize kernel size or performance. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 907d7d747243044f86588f0d82993e8c106cb02c)
-rw-r--r--config/Config-devel.in4
-rw-r--r--include/kernel.mk2
2 files changed, 5 insertions, 1 deletions
diff --git a/config/Config-devel.in b/config/Config-devel.in
index 126462bfc3..a068f694e5 100644
--- a/config/Config-devel.in
+++ b/config/Config-devel.in
@@ -74,6 +74,10 @@ menuconfig DEVEL
Store ccache in this directory.
If not set, uses './.ccache'
+ config KERNEL_CFLAGS
+ string "Kernel extra CFLAGS" if DEVEL
+ default ""
+
config EXTERNAL_KERNEL_TREE
string "Use external kernel tree" if DEVEL
default ""
diff --git a/include/kernel.mk b/include/kernel.mk
index 5057d8bf6f..070d1bca75 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -101,7 +101,7 @@ endif
KERNEL_MAKE = $(MAKE) $(KERNEL_MAKEOPTS)
KERNEL_MAKE_FLAGS = \
- KCFLAGS="$(call iremap,$(BUILD_DIR),$(notdir $(BUILD_DIR))) $(filter-out -fno-plt,$(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION)))" \
+ KCFLAGS="$(call iremap,$(BUILD_DIR),$(notdir $(BUILD_DIR))) $(filter-out -fno-plt,$(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION))) $(call qstrip,$(CONFIG_KERNEL_CFLAGS))" \
HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \
CROSS_COMPILE="$(KERNEL_CROSS)" \
ARCH="$(LINUX_KARCH)" \