[PATCH 1/2] kernel: support setting extra CFLAGS for kernel compilation

Rafał Miłecki zajec5 at gmail.com
Wed Jun 15 03:36:36 PDT 2022


From: Rafał Miłecki <rafal at milecki.pl>

They may be used e.g. to optimize kernel size or performance.

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 config/Config-devel.in | 4 ++++
 include/kernel.mk      | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

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)" \
-- 
2.34.1




More information about the openwrt-devel mailing list