summaryrefslogtreecommitdiffstats
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-06-20 22:17:38 +0200
commit907d7d747243044f86588f0d82993e8c106cb02c (patch)
tree414abac4fa8923390beda544c7d86139e0a26b11
parenta1354accc081259d880c6a1ba8db7f2af2db1eec (diff)
downloadopenwrt-907d7d747243044f86588f0d82993e8c106cb02c.tar.gz
openwrt-907d7d747243044f86588f0d82993e8c106cb02c.tar.bz2
openwrt-907d7d747243044f86588f0d82993e8c106cb02c.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>
-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 ffc9ea5260..d99dd0a534 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))) $(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION))" \
+ KCFLAGS="$(call iremap,$(BUILD_DIR),$(notdir $(BUILD_DIR))) $(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)" \