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