linux-next/arch/loongarch
Masahiro Yamada b1992c3772 kbuild: use $(src) instead of $(srctree)/$(src) for source directory
Kbuild conventionally uses $(obj)/ for generated files, and $(src)/ for
checked-in source files. It is merely a convention without any functional
difference. In fact, $(obj) and $(src) are exactly the same, as defined
in scripts/Makefile.build:

    src := $(obj)

When the kernel is built in a separate output directory, $(src) does
not accurately reflect the source directory location. While Kbuild
resolves this discrepancy by specifying VPATH=$(srctree) to search for
source files, it does not cover all cases. For example, when adding a
header search path for local headers, -I$(srctree)/$(src) is typically
passed to the compiler.

This introduces inconsistency between upstream and downstream Makefiles
because $(src) is used instead of $(srctree)/$(src) for the latter.

To address this inconsistency, this commit changes the semantics of
$(src) so that it always points to the directory in the source tree.

Going forward, the variables used in Makefiles will have the following
meanings:

  $(obj)     - directory in the object tree
  $(src)     - directory in the source tree  (changed by this commit)
  $(objtree) - the top of the kernel object tree
  $(srctree) - the top of the kernel source tree

Consequently, $(srctree)/$(src) in upstream Makefiles need to be replaced
with $(src).

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
2024-05-10 04:34:52 +09:00
..
boot LoongArch: Update dts for Loongson-2K2000 to support GMAC/GNET 2024-04-10 21:08:51 +08:00
configs LoongArch changes for v6.8 2024-01-19 13:30:49 -08:00
crypto LoongArch/crypto: Clean up useless assignment operations 2024-03-19 15:50:34 +08:00
include LoongArch: Include linux/sizes.h in addrspace.h to prevent build errors 2024-04-10 21:08:51 +08:00
kernel LoongArch changes for v6.9 2024-03-22 10:22:45 -07:00
kvm kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
lib LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
mm LoongArch: Make virt_addr_valid()/__virt_addr_valid() work with KFENCE 2024-04-10 21:08:51 +08:00
net LoongArch: BPF: Prevent out-of-bounds memory access 2024-01-17 12:43:13 +08:00
pci LoongArch: Add FDT booting support from efi system table 2022-12-14 08:41:53 +08:00
power LoongArch: Export some arch-specific pm interfaces 2023-06-29 20:58:44 +08:00
vdso kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
Kbuild LoongArch: Allow device trees be built into the kernel 2024-01-17 12:43:00 +08:00
Kconfig LoongArch changes for v6.9 2024-03-22 10:22:45 -07:00
Kconfig.debug LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
Makefile LoongArch changes for v6.9 2024-03-22 10:22:45 -07:00