From 3c3cbd9214e19c88631f9ea11c00777ff77ea893 Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Fri, 15 Oct 2021 10:30:05 -0300 Subject: [PATCH] build: kernel: avoid unnecessary package rebuilds The $(LINUX_DIR)/.config timesptamp changes between runs of make target/compile and make target/install (which builds the image). Kernel-dependent packages and out of tree modules are built in between those runs, and they check the .config timestamp to decide if they need to be rebuilt. Save the target/compile .config to use its timestamp if the file does not change between runs. That way the subsequent kernel packages are not unnecessarily rebuilt when you run 'make' back to back. Signed-off-by: Eneas U de Queiroz --- include/kernel-defaults.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index 9a01cf5c2b..84cd30dc7f 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -112,6 +112,10 @@ endef define Kernel/CompileModules/Default rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map +$(KERNEL_MAKE) modules + # If .config did not change, use the previous timestamp to avoid package rebuilds + cmp -s $(LINUX_DIR)/.config $(LINUX_DIR)/.config.modules.save && \ + mv $(LINUX_DIR)/.config.modules.save $(LINUX_DIR)/.config; \ + $(CP) $(LINUX_DIR)/.config $(LINUX_DIR)/.config.modules.save endef OBJCOPY_STRIP = -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id