This points uses of .config, .modules, and vmlinux at the correct
place.  This is one portion of the source/build split.

Signed-off-by: Elliott Mitchell <ehem+open...@m5p.com>
---
Note for reviewers.  It is easy to miss the `mkdir` added to
Kernel/Configure/Default.  That was needed since the directory might
not have been created (bugfix while testing).
---
 include/kernel-build.mk                 |  36 ++++-----
 include/kernel-defaults.mk              | 101 ++++++++++++------------
 include/kernel.mk                       |   8 +-
 package/devel/kselftests-bpf/Makefile   |   2 +-
 package/kernel/linux/Makefile           |   6 +-
 package/network/utils/iptables/Makefile |   4 +-
 6 files changed, 79 insertions(+), 78 deletions(-)

diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 19284caa94..eb770ad5f4 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -11,7 +11,7 @@ endif
 
 KERNEL_FILE_DEPENDS=$(GENERIC_BACKPORT_DIR) $(GENERIC_PATCH_DIR) 
$(GENERIC_HACK_DIR) $(PATCH_DIR) $(GENERIC_FILES_DIR) $(FILES_DIR)
 STAMP_PREPARED=$(LINUX_SRC_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call 
$(if 
$(CONFIG_AUTOREMOVE),find_md5_reproducible,find_md5),$(KERNEL_FILE_DEPENDS),)))
-STAMP_CONFIGURED:=$(LINUX_DIR)/.configured
+STAMP_CONFIGURED:=$(LINUX_OBJ_DIR)/.configured
 include $(INCLUDE_DIR)/download.mk
 include $(INCLUDE_DIR)/quilt.mk
 include $(INCLUDE_DIR)/kernel-defaults.mk
@@ -61,7 +61,7 @@ ifdef CONFIG_COLLECT_KERNEL_DEBUG
   define Kernel/CollectDebug
        rm -rf $(KERNEL_BUILD_DIR)/debug
        mkdir -p $(KERNEL_BUILD_DIR)/debug/modules
-       $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/debug/
+       $(CP) $(LINUX_OBJ_DIR)/vmlinux $(KERNEL_BUILD_DIR)/debug/
        -$(CP) \
                $(STAGING_DIR_ROOT)/lib/modules/$(LINUX_VERSION)/* \
                $(KERNEL_BUILD_DIR)/debug/modules/
@@ -99,11 +99,11 @@ define BuildKernel
        rm -f $(KERNEL_BUILD_DIR)/symtab.h
        touch $(KERNEL_BUILD_DIR)/symtab.h
        +$(KERNEL_MAKE) vmlinux
-       find $(LINUX_DIR) $(STAGING_DIR_ROOT)/lib/modules -name \*.ko | \
+       find $(LINUX_OBJ_DIR) $(STAGING_DIR_ROOT)/lib/modules -name \*.ko | \
                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 | awk '/^[0-9a-f]+ [rR] 
__ksymtab_/ {print substr($$$$3,11)}' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt
+       $(TARGET_CROSS)nm -n $(LINUX_OBJ_DIR)/vmlinux.o | awk '/^[0-9a-f]+ [rR] 
__ksymtab_/ {print substr($$$$3,11)}' > $(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
        ( \
@@ -129,18 +129,18 @@ define BuildKernel
        $(Kernel/Configure)
        touch $$@
 
-  $(LINUX_DIR)/.modules: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
-  $(LINUX_DIR)/.modules: export 
PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig
-  $(LINUX_DIR)/.modules: export 
PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
-  $(LINUX_DIR)/.modules: export FAIL_ON_UNCONFIGURED=1
-  $(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
+  $(LINUX_OBJ_DIR)/.modules: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
+  $(LINUX_OBJ_DIR)/.modules: export 
PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig
+  $(LINUX_OBJ_DIR)/.modules: export 
PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
+  $(LINUX_OBJ_DIR)/.modules: export FAIL_ON_UNCONFIGURED=1
+  $(LINUX_OBJ_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_OBJ_DIR)/.config FORCE
        $(Kernel/CompileModules)
        touch $$@
 
-  $(LINUX_DIR)/.image: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
-  $(LINUX_DIR)/.image: export 
PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig
-  $(LINUX_DIR)/.image: export 
PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
-  $(LINUX_DIR)/.image: $(STAMP_CONFIGURED) $(if 
$(CONFIG_STRIP_KERNEL_EXPORTS),$(KERNEL_BUILD_DIR)/symtab.h) FORCE
+  $(LINUX_OBJ_DIR)/.image: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
+  $(LINUX_OBJ_DIR)/.image: export 
PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig
+  $(LINUX_OBJ_DIR)/.image: export 
PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
+  $(LINUX_OBJ_DIR)/.image: $(STAMP_CONFIGURED) $(if 
$(CONFIG_STRIP_KERNEL_EXPORTS),$(KERNEL_BUILD_DIR)/symtab.h) FORCE
        $(Kernel/CompileImage)
        $(Kernel/CollectDebug)
        touch $$@
@@ -153,13 +153,13 @@ define BuildKernel
 
   download: $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE))
   prepare: $(STAMP_PREPARED)
-  compile: $(LINUX_DIR)/.modules
+  compile: $(LINUX_OBJ_DIR)/.modules
        $(MAKE) -C image compile TARGET_BUILD=
 
   oldconfig menuconfig nconfig xconfig: $(STAMP_PREPARED) $(STAMP_CHECKED) 
FORCE
-       rm -f $(LINUX_DIR)/.config.prev
+       rm -f $(LINUX_OBJ_DIR)/.config.prev
        rm -f $(STAMP_CONFIGURED)
-       $(LINUX_RECONF_CMD) > $(LINUX_DIR)/.config
+       $(LINUX_RECONF_CMD) > $(LINUX_OBJ_DIR)/.config
        $(_SINGLE)$(KERNEL_MAKE) \
                $(if $(findstring Darwin,$(HOST_OS)), \
                        HOSTLDLIBS_mconf="-L$(STAGING_DIR_HOST)/lib -lncurses" \
@@ -167,9 +167,9 @@ define BuildKernel
                ) \
                YACC=$(STAGING_DIR_HOST)/bin/bison \
                $$@
-       $(call LINUX_RECONF_DIFF,$(LINUX_DIR)/.config) > 
$(LINUX_RECONFIG_TARGET)
+       $(call LINUX_RECONF_DIFF,$(LINUX_OBJ_DIR)/.config) > 
$(LINUX_RECONFIG_TARGET)
 
-  install: $(LINUX_DIR)/.image
+  install: $(LINUX_OBJ_DIR)/.image
        +$(MAKE) -C image compile install TARGET_BUILD=
 
   clean: FORCE
diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk
index b7a3f484e1..178d4c0a5d 100644
--- a/include/kernel-defaults.mk
+++ b/include/kernel-defaults.mk
@@ -44,75 +44,76 @@ endif
 ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
   ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE),y)
     define Kernel/SetInitramfs/PreConfigure
-       grep -v -e CONFIG_BLK_DEV_INITRD $(LINUX_DIR)/.config.old > 
$(LINUX_DIR)/.config
-       echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config
-       echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config
+       grep -v -e CONFIG_BLK_DEV_INITRD $(LINUX_OBJ_DIR)/.config.old > 
$(LINUX_OBJ_DIR)/.config
+       echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_OBJ_DIR)/.config
+       echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_OBJ_DIR)/.config
     endef
   else
   ifeq ($(strip $(CONFIG_EXTERNAL_CPIO)),"")
     define Kernel/SetInitramfs/PreConfigure
-       grep -v -e INITRAMFS -e CONFIG_RD_ -e CONFIG_BLK_DEV_INITRD 
$(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
-       echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config
-       echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(TARGET_DIR) 
$(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_DIR)/.config
+       grep -v -e INITRAMFS -e CONFIG_RD_ -e CONFIG_BLK_DEV_INITRD 
$(LINUX_OBJ_DIR)/.config.old > $(LINUX_OBJ_DIR)/.config
+       echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_OBJ_DIR)/.config
+       echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(TARGET_DIR) 
$(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_OBJ_DIR)/.config
     endef
   else
     define Kernel/SetInitramfs/PreConfigure
-       grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
-       echo 'CONFIG_INITRAMFS_SOURCE="$(call qstrip,$(CONFIG_EXTERNAL_CPIO))"' 
>> $(LINUX_DIR)/.config
+       grep -v INITRAMFS $(LINUX_OBJ_DIR)/.config.old > 
$(LINUX_OBJ_DIR)/.config
+       echo 'CONFIG_INITRAMFS_SOURCE="$(call qstrip,$(CONFIG_EXTERNAL_CPIO))"' 
>> $(LINUX_OBJ_DIR)/.config
     endef
   endif
 endif
 
   define Kernel/SetInitramfs
-       rm -f $(LINUX_DIR)/.config.prev
-       mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
+       rm -f $(LINUX_OBJ_DIR)/.config.prev
+       mv $(LINUX_OBJ_DIR)/.config $(LINUX_OBJ_DIR)/.config.old
        $(call Kernel/SetInitramfs/PreConfigure)
-       echo "# CONFIG_INITRAMFS_PRESERVE_MTIME is not set" >> 
$(LINUX_DIR)/.config
+       echo "# CONFIG_INITRAMFS_PRESERVE_MTIME is not set" >> 
$(LINUX_OBJ_DIR)/.config
   ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE),y)
-       echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
-       echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
-       echo "$(if $(CONFIG_TARGET_INITRAMFS_FORCE),CONFIG_INITRAMFS_FORCE=y,# 
CONFIG_INITRAMFS_FORCE is not set)" >> $(LINUX_DIR)/.config
+       echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> 
$(LINUX_OBJ_DIR)/.config
+       echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> 
$(LINUX_OBJ_DIR)/.config
+       echo "$(if $(CONFIG_TARGET_INITRAMFS_FORCE),CONFIG_INITRAMFS_FORCE=y,# 
CONFIG_INITRAMFS_FORCE is not set)" >> $(LINUX_OBJ_DIR)/.config
   else
-       echo "# CONFIG_INITRAMFS_FORCE is not set" >> $(LINUX_DIR)/.config
+       echo "# CONFIG_INITRAMFS_FORCE is not set" >> $(LINUX_OBJ_DIR)/.config
   endif
-       echo "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,#
 CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config
-       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,#
 CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> 
$(LINUX_DIR)/.config
-       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,#
 CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" 
>> $(LINUX_DIR)/.config
-       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,#
 CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> 
$(LINUX_DIR)/.config
-       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),CONFIG_INITRAMFS_COMPRESSION_LZO=y\nCONFIG_RD_LZO=y,#
 CONFIG_INITRAMFS_COMPRESSION_LZO is not set\n# CONFIG_RD_LZO is not set)" >> 
$(LINUX_DIR)/.config
-       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),CONFIG_INITRAMFS_COMPRESSION_XZ=y\nCONFIG_RD_XZ=y,#
 CONFIG_INITRAMFS_COMPRESSION_XZ is not set\n# CONFIG_RD_XZ is not set)" >> 
$(LINUX_DIR)/.config
-       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZ4),CONFIG_INITRAMFS_COMPRESSION_LZ4=y\nCONFIG_RD_LZ4=y,#
 CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set\n# CONFIG_RD_LZ4 is not set)" >> 
$(LINUX_DIR)/.config
-       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD),CONFIG_INITRAMFS_COMPRESSION_ZSTD=y\nCONFIG_RD_ZSTD=y,#
 CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set\n# CONFIG_RD_ZSTD is not set)" >> 
$(LINUX_DIR)/.config
+       echo "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,#
 CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_OBJ_DIR)/.config
+       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,#
 CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> 
$(LINUX_OBJ_DIR)/.config
+       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,#
 CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" 
>> $(LINUX_OBJ_DIR)/.config
+       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,#
 CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> 
$(LINUX_OBJ_DIR)/.config
+       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),CONFIG_INITRAMFS_COMPRESSION_LZO=y\nCONFIG_RD_LZO=y,#
 CONFIG_INITRAMFS_COMPRESSION_LZO is not set\n# CONFIG_RD_LZO is not set)" >> 
$(LINUX_OBJ_DIR)/.config
+       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),CONFIG_INITRAMFS_COMPRESSION_XZ=y\nCONFIG_RD_XZ=y,#
 CONFIG_INITRAMFS_COMPRESSION_XZ is not set\n# CONFIG_RD_XZ is not set)" >> 
$(LINUX_OBJ_DIR)/.config
+       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZ4),CONFIG_INITRAMFS_COMPRESSION_LZ4=y\nCONFIG_RD_LZ4=y,#
 CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set\n# CONFIG_RD_LZ4 is not set)" >> 
$(LINUX_OBJ_DIR)/.config
+       echo -e "$(if 
$(CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD),CONFIG_INITRAMFS_COMPRESSION_ZSTD=y\nCONFIG_RD_ZSTD=y,#
 CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set\n# CONFIG_RD_ZSTD is not set)" >> 
$(LINUX_OBJ_DIR)/.config
   endef
 else
 endif
 
 define Kernel/SetNoInitramfs
-       mv $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.old
-       grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config.set
-       echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config.set
-       echo '# CONFIG_INITRAMFS_FORCE is not set' >> $(LINUX_DIR)/.config.set
-       echo "# CONFIG_INITRAMFS_PRESERVE_MTIME is not set" >> 
$(LINUX_DIR)/.config.set
+       mv $(LINUX_OBJ_DIR)/.config.set $(LINUX_OBJ_DIR)/.config.old
+       grep -v INITRAMFS $(LINUX_OBJ_DIR)/.config.old > 
$(LINUX_OBJ_DIR)/.config.set
+       echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_OBJ_DIR)/.config.set
+       echo '# CONFIG_INITRAMFS_FORCE is not set' >> 
$(LINUX_OBJ_DIR)/.config.set
+       echo "# CONFIG_INITRAMFS_PRESERVE_MTIME is not set" >> 
$(LINUX_OBJ_DIR)/.config.set
 endef
 
 define Kernel/Configure/Default
-       rm -f $(LINUX_DIR)/localversion
-       $(LINUX_CONF_CMD) > $(LINUX_DIR)/.config.target
+       rm -f $(LINUX_OBJ_DIR)/localversion
+       mkdir -p $(LINUX_OBJ_DIR)
+       $(LINUX_CONF_CMD) > $(LINUX_OBJ_DIR)/.config.target
 # copy CONFIG_KERNEL_* settings over to .config.target
-       awk 
'/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' 
$(TOPDIR)/.config >> $(LINUX_DIR)/.config.target
-       echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> 
$(LINUX_DIR)/.config.target
-       echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target
-       echo "CONFIG_KALLSYMS_UNCOMPRESSED=y" >> $(LINUX_DIR)/.config.target
-       $(SCRIPT_DIR)/package-metadata.pl kconfig $(TMP_DIR)/.packageinfo 
$(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override
-       $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null 
$(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config.set
+       awk 
'/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' 
$(TOPDIR)/.config >> $(LINUX_OBJ_DIR)/.config.target
+       echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> 
$(LINUX_OBJ_DIR)/.config.target
+       echo "# CONFIG_KALLSYMS_ALL is not set" >> 
$(LINUX_OBJ_DIR)/.config.target
+       echo "CONFIG_KALLSYMS_UNCOMPRESSED=y" >> $(LINUX_OBJ_DIR)/.config.target
+       $(SCRIPT_DIR)/package-metadata.pl kconfig $(TMP_DIR)/.packageinfo 
$(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_OBJ_DIR)/.config.override
+       $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_OBJ_DIR)/.config.target 
/dev/null $(LINUX_OBJ_DIR)/.config.override > $(LINUX_OBJ_DIR)/.config.set
        $(call Kernel/SetNoInitramfs)
        rm -rf $(KERNEL_BUILD_DIR)/modules
-       cmp -s $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev || { \
-               cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config; \
-               cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev; \
+       cmp -s $(LINUX_OBJ_DIR)/.config.set $(LINUX_OBJ_DIR)/.config.prev || { \
+               cp $(LINUX_OBJ_DIR)/.config.set $(LINUX_OBJ_DIR)/.config; \
+               cp $(LINUX_OBJ_DIR)/.config.set $(LINUX_OBJ_DIR)/.config.prev; \
        }
        $(_SINGLE) [ -d $(LINUX_OBJ_DIR)/user_headers ] || $(KERNEL_MAKE) $(if 
$(findstring uml,$(BOARD)),ARCH=$(ARCH)) 
INSTALL_HDR_PATH=$(LINUX_OBJ_DIR)/user_headers headers_install
-       grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | $(MKHASH) md5 > 
$(LINUX_DIR)/.vermagic
+       grep '=[ym]' $(LINUX_OBJ_DIR)/.config.set | LC_ALL=C sort | $(MKHASH) 
md5 > $(LINUX_OBJ_DIR)/.vermagic
 endef
 
 define Kernel/Configure/Initramfs
@@ -120,12 +121,12 @@ define Kernel/Configure/Initramfs
 endef
 
 define Kernel/CompileModules/Default
-       rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map
+       rm -f $(LINUX_OBJ_DIR)/vmlinux $(LINUX_OBJ_DIR)/System.map
        +$(KERNEL_MAKE) $(if $(KERNELNAME),$(KERNELNAME),all) 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
+       cmp -s $(LINUX_OBJ_DIR)/.config $(LINUX_OBJ_DIR)/.config.modules.save 
&& \
+               mv $(LINUX_OBJ_DIR)/.config.modules.save 
$(LINUX_OBJ_DIR)/.config; \
+       $(CP) $(LINUX_OBJ_DIR)/.config $(LINUX_OBJ_DIR)/.config.modules.save
 endef
 
 OBJCOPY_STRIP = -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R 
.note.gnu.build-id
@@ -136,13 +137,13 @@ IMAGES_DIR:=../../x86/boot
 endif
 
 define Kernel/CopyImage
-       cmp -s $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug || { \
-               $(KERNEL_CROSS)objcopy -O binary $(OBJCOPY_STRIP) -S 
$(LINUX_DIR)/vmlinux $(LINUX_KERNEL)$(1); \
-               $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux 
$(KERNEL_BUILD_DIR)/vmlinux$(1).elf; \
-               $(CP) $(LINUX_DIR)/vmlinux 
$(KERNEL_BUILD_DIR)/vmlinux$(1).debug; \
+       cmp -s $(LINUX_OBJ_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug 
|| { \
+               $(KERNEL_CROSS)objcopy -O binary $(OBJCOPY_STRIP) -S 
$(LINUX_OBJ_DIR)/vmlinux $(LINUX_KERNEL)$(1); \
+               $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) -S 
$(LINUX_OBJ_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).elf; \
+               $(CP) $(LINUX_OBJ_DIR)/vmlinux 
$(KERNEL_BUILD_DIR)/vmlinux$(1).debug; \
                $(foreach k, \
                        $(if $(KERNEL_IMAGES),$(KERNEL_IMAGES),$(filter-out 
vmlinux dtbs,$(KERNELNAME))), \
-                       $(CP) 
$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/$(IMAGES_DIR)/$(k) 
$(KERNEL_BUILD_DIR)/$(k)$(1); \
+                       $(CP) 
$(LINUX_OBJ_DIR)/arch/$(LINUX_KARCH)/boot/$(IMAGES_DIR)/$(k) 
$(KERNEL_BUILD_DIR)/$(k)$(1); \
                ) \
        }
 endef
@@ -152,7 +153,7 @@ define Kernel/CompileImage/Default
        +$(KERNEL_MAKE) $(KERNEL_MAKEOPTS_IMAGE) $(if 
$(KERNELNAME),$(KERNELNAME),all)
        $(call Kernel/CopyImage)
        +$(KERNEL_MAKE) $(KERNEL_MAKEOPTS_IMAGE) modules
-       find $(LINUX_DIR) -name \*.ko -a -links 1 -print0 | xargs -0 -r cp -lf 
-t $(TARGET_DIR)/lib/modules/$(LINUX_VERSION)
+       find $(LINUX_OBJ_DIR) -name \*.ko -a -links 1 -print0 | xargs -0 -r cp 
-lf -t $(TARGET_DIR)/lib/modules/$(LINUX_VERSION)
 endef
 
 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
diff --git a/include/kernel.mk b/include/kernel.mk
index 8362fa768b..7f236ece45 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -50,7 +50,7 @@ else
   # Location of kernel object files
   LINUX_OBJ_DIR ?= $(LINUX_DIR)
   LINUX_UAPI_DIR=uapi/
-  LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_DIR)/.vermagic 2>/dev/null))
+  LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_OBJ_DIR)/.vermagic 2>/dev/null))
   LINUX_VERMAGIC:=$(if $(LINUX_VERMAGIC),$(LINUX_VERMAGIC),unknown)
 
   LINUX_UNAME_VERSION:=$(KERNEL_BASE)
@@ -194,11 +194,11 @@ define ModuleAutoLoad
 endef
 
 ifeq ($(DUMP)$(TARGET_BUILD),)
-  -include $(LINUX_DIR)/.config
+  -include $(LINUX_OBJ_DIR)/.config
 endif
 
 define KernelPackage/depends
-  $(STAMP_BUILT): $(LINUX_DIR)/.config
+  $(STAMP_BUILT): $(LINUX_OBJ_DIR)/.config
   define KernelPackage/depends
   endef
 endef
@@ -248,7 +248,7 @@ $(call KernelPackage/$(1)/config)
   ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m y,$(foreach 
c,$(call version_filter,$(filter-out %=y %=n %=m,$(KCONFIG))),$($(c)))),.),)
     define Package/kmod-$(1)/install
                  @for mod in $$(call version_filter,$$(FILES)); do \
-                       if grep -q "$$$$$$$${mod##$(LINUX_DIR)/}" 
"$(LINUX_DIR)/modules.builtin"; then \
+                       if grep -q "$$$$$$$${mod##$(LINUX_OBJ_DIR)/}" 
"$(LINUX_OBJ_DIR)/modules.builtin"; then \
                                echo "NOTICE: module '$$$$$$$$mod' is 
built-in."; \
                        elif [ -e $$$$$$$$mod ]; then \
                                mkdir -p $$(1)/$(MODULES_SUBDIR) ; \
diff --git a/package/devel/kselftests-bpf/Makefile 
b/package/devel/kselftests-bpf/Makefile
index 0a5b874e04..bb34f0ff5f 100644
--- a/package/devel/kselftests-bpf/Makefile
+++ b/package/devel/kselftests-bpf/Makefile
@@ -43,7 +43,7 @@ MAKE_VARS = \
        SAN_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
        LDLIBS="$(TARGET_LDFLAGS)" \
        TOOLCHAIN_INCLUDE="$(TOOLCHAIN_INC_DIRS)" \
-       VMLINUX_BTF="$(LINUX_DIR)/vmlinux"
+       VMLINUX_BTF="$(LINUX_OBJ_DIR)/vmlinux"
 
 MAKE_FLAGS = \
        $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
diff --git a/package/kernel/linux/Makefile b/package/kernel/linux/Makefile
index c88b5c1b31..49587611f0 100644
--- a/package/kernel/linux/Makefile
+++ b/package/kernel/linux/Makefile
@@ -26,8 +26,8 @@ export SHELL:=/bin/sh
 include $(INCLUDE_DIR)/package.mk
 
 ifeq ($(DUMP),)
-  STAMP_BUILT:=$(STAMP_BUILT)_$(shell $(SCRIPT_DIR)/kconfig.pl 
$(LINUX_DIR)/.config | $(MKHASH) md5)
-  -include $(LINUX_DIR)/.config
+  STAMP_BUILT:=$(STAMP_BUILT)_$(shell $(SCRIPT_DIR)/kconfig.pl 
$(LINUX_OBJ_DIR)/.config | $(MKHASH) md5)
+  -include $(LINUX_OBJ_DIR)/.config
 endif
 
 define Build/Prepare
@@ -62,7 +62,7 @@ define Package/kernel/install
 endef
 
 define Package/kernel/extra_provides
-       sed -e 's,.*/,,' $(LINUX_DIR)/modules.builtin;
+       sed -e 's,.*/,,' $(LINUX_OBJ_DIR)/modules.builtin;
 endef
 
 $(eval $(if $(DUMP),,$(call BuildPackage,kernel)))
diff --git a/package/network/utils/iptables/Makefile 
b/package/network/utils/iptables/Makefile
index f9e8d619fa..f3477e8cac 100644
--- a/package/network/utils/iptables/Makefile
+++ b/package/network/utils/iptables/Makefile
@@ -27,9 +27,9 @@ PKG_CPE_ID:=cpe:/a:netfilter_core_team:iptables
 
 include $(INCLUDE_DIR)/package.mk
 ifeq ($(DUMP),)
-  -include $(LINUX_DIR)/.config
+  -include $(LINUX_OBJ_DIR)/.config
   include $(INCLUDE_DIR)/netfilter.mk
-  STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell grep 'NETFILTER' 
$(LINUX_DIR)/.config | $(MKHASH) md5)
+  STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell grep 'NETFILTER' 
$(LINUX_OBJ_DIR)/.config | $(MKHASH) md5)
 endif
 
 
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+open...@m5p.com     PGP 87145445       |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to