image.mk: force rebuild of kernel dependent parts - fixes auto-rebuild on DTS changes
[openwrt/openwrt.git] / include / kernel-build.mk
index 27c7aee17ad735feb1847f39471c9f2bd0cb0d78..9abfd542e8faa7d99ec371e686bffaa91ab1cff0 100644 (file)
@@ -62,6 +62,8 @@ define BuildKernel
   $(if $(QUILT),$(Build/Quilt))
   $(if $(LINUX_SITE),$(call Download,kernel))
 
+  .NOTPARALLEL:
+
   $(STAMP_PREPARED): $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE))
        -rm -rf $(KERNEL_BUILD_DIR)
        -mkdir -p $(KERNEL_BUILD_DIR)
@@ -76,9 +78,9 @@ define BuildKernel
                xargs $(TARGET_CROSS)nm | \
                awk '$$$$1 == "U" { print $$$$2 } ' | \
                sort -u > $(KERNEL_BUILD_DIR)/mod_symtab.txt
-       $(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | grep ' r __ksymtab' | sed -e 's,........ r __ksymtab_,,' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt
-       grep -f $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt
-       grep -vf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt
+       $(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | grep ' [rR] __ksymtab' | sed -e 's,........ [rR] __ksymtab_,,' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt
+       grep -Ff $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt
+       grep -Fvf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt
        ( \
                echo '#define SYMTAB_KEEP \'; \
                cat $(KERNEL_BUILD_DIR)/sym_include.txt | \
@@ -117,7 +119,7 @@ define BuildKernel
   define BuildKernel
   endef
 
-  download: $(DL_DIR)/$(LINUX_SOURCE)
+  download: $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE))
   prepare: $(STAMP_CONFIGURED)
   compile: $(LINUX_DIR)/.modules
        $(MAKE) -C image compile TARGET_BUILD=