summaryrefslogtreecommitdiffstats
path: root/include/kernel-build.mk
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-08-05 14:08:47 +0200
committerFelix Fietkau <nbd@nbd.name>2016-08-05 14:17:08 +0200
commit22ef1c83b35cd5633b0c58c9c38a43494a906a6a (patch)
treee790cae0c3ca6ed67e48d184999c3e46ae96d483 /include/kernel-build.mk
parent51e70267bd7ba886314f87317f31342f8e39f602 (diff)
downloadmaster-31e0f0ae-22ef1c83b35cd5633b0c58c9c38a43494a906a6a.tar.gz
master-31e0f0ae-22ef1c83b35cd5633b0c58c9c38a43494a906a6a.tar.bz2
master-31e0f0ae-22ef1c83b35cd5633b0c58c9c38a43494a906a6a.zip
kernel: make the kernel build auto-clean the build dir like package builds
Previous behavior can be restored by using QUILT=1 on target/prepare Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'include/kernel-build.mk')
-rw-r--r--include/kernel-build.mk17
1 files changed, 14 insertions, 3 deletions
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index a52c90d9e7..0ba6db806d 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -6,13 +6,14 @@
#
include $(INCLUDE_DIR)/host.mk
include $(INCLUDE_DIR)/prereq.mk
+include $(INCLUDE_DIR)/depends.mk
ifneq ($(DUMP),1)
all: compile
endif
-export QUILT=1
-STAMP_PREPARED:=$(LINUX_DIR)/.prepared
+KERNEL_FILE_DEPENDS=$(GENERIC_PATCH_DIR) $(PATCH_DIR) $(GENERIC_FILES_DIR) $(FILES_DIR)
+STAMP_PREPARED=$(LINUX_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call find_md5,$(KERNEL_FILE_DEPENDS),)))
STAMP_CONFIGURED:=$(LINUX_DIR)/.configured
include $(INCLUDE_DIR)/download.mk
include $(INCLUDE_DIR)/quilt.mk
@@ -60,12 +61,22 @@ ifdef CONFIG_COLLECT_KERNEL_DEBUG
endef
endif
+ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),)
+ ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),)
+ define Kernel/Autoclean
+ $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED)
+ $(call rdep,${CURDIR} $(PKG_FILE_DEPENDS),$(STAMP_PREPARED),$(PKG_BUILD_DIR)/.dep_files,-x "*/.dep_*")
+ endef
+ endif
+endif
+
define BuildKernel
$(if $(QUILT),$(Build/Quilt))
$(if $(LINUX_SITE),$(call Download,kernel))
.NOTPARALLEL:
+ $(Kernel/Autoclean)
$(STAMP_PREPARED): $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE))
-rm -rf $(KERNEL_BUILD_DIR)
-mkdir -p $(KERNEL_BUILD_DIR)
@@ -102,7 +113,7 @@ define BuildKernel
echo; \
) > $$@
- $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST) $(TOPDIR)/.config
+ $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST) $(TOPDIR)/.config FORCE
$(Kernel/Configure)
touch $$@