kbuild: use $(src) instead of $(srctree)/$(src) for source directory
authorMasahiro Yamada <masahiroy@kernel.org>
Sat, 27 Apr 2024 14:55:02 +0000 (23:55 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Thu, 9 May 2024 19:34:52 +0000 (04:34 +0900)
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>
102 files changed:
Documentation/Makefile
Documentation/devicetree/bindings/Makefile
Documentation/kbuild/makefiles.rst
Makefile
arch/arc/boot/dts/Makefile
arch/arm/Kbuild
arch/arm/boot/Makefile
arch/arm/mach-s3c/Makefile
arch/arm/plat-orion/Makefile
arch/arm/tools/Makefile
arch/arm64/kernel/vdso/Makefile
arch/arm64/kvm/Makefile
arch/arm64/kvm/hyp/Makefile
arch/csky/boot/dts/Makefile
arch/csky/kernel/vdso/Makefile
arch/loongarch/kvm/Makefile
arch/loongarch/vdso/Makefile
arch/mips/kernel/syscalls/Makefile
arch/mips/vdso/Makefile
arch/nios2/boot/dts/Makefile
arch/parisc/kernel/vdso32/Makefile
arch/parisc/kernel/vdso64/Makefile
arch/powerpc/boot/Makefile
arch/powerpc/boot/dts/Makefile
arch/powerpc/boot/dts/fsl/Makefile
arch/powerpc/kernel/vdso/Makefile
arch/riscv/kernel/compat_vdso/Makefile
arch/riscv/kernel/vdso/Makefile
arch/riscv/kvm/Makefile
arch/s390/kernel/syscalls/Makefile
arch/s390/kernel/vdso32/Makefile
arch/s390/kernel/vdso64/Makefile
arch/sparc/vdso/Makefile
arch/um/kernel/Makefile
arch/x86/boot/Makefile
arch/x86/entry/vdso/Makefile
arch/x86/kernel/Makefile
arch/x86/kernel/cpu/Makefile
arch/x86/mm/Makefile
arch/x86/um/vdso/Makefile
arch/xtensa/boot/dts/Makefile
certs/Makefile
drivers/Makefile
drivers/crypto/intel/qat/qat_420xx/Makefile
drivers/crypto/intel/qat/qat_4xxx/Makefile
drivers/crypto/intel/qat/qat_c3xxx/Makefile
drivers/crypto/intel/qat/qat_c3xxxvf/Makefile
drivers/crypto/intel/qat/qat_c62x/Makefile
drivers/crypto/intel/qat/qat_c62xvf/Makefile
drivers/crypto/intel/qat/qat_dh895xcc/Makefile
drivers/crypto/intel/qat/qat_dh895xccvf/Makefile
drivers/gpu/drm/amd/amdgpu/Makefile
drivers/gpu/drm/arm/display/komeda/Makefile
drivers/gpu/drm/i915/Makefile
drivers/gpu/drm/imagination/Makefile
drivers/gpu/drm/msm/Makefile
drivers/gpu/drm/nouveau/Kbuild
drivers/gpu/drm/xe/Makefile
drivers/hid/amd-sfh-hid/Makefile
drivers/hid/intel-ish-hid/Makefile
drivers/md/dm-vdo/Makefile
drivers/net/ethernet/aquantia/atlantic/Makefile
drivers/net/ethernet/chelsio/libcxgb/Makefile
drivers/net/ethernet/fungible/funeth/Makefile
drivers/net/ethernet/hisilicon/hns3/Makefile
drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/Makefile
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/Makefile
drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/Makefile
drivers/net/wireless/broadcom/brcm80211/brcmsmac/Makefile
drivers/net/wireless/broadcom/brcm80211/brcmutil/Makefile
drivers/net/wireless/intel/iwlwifi/dvm/Makefile
drivers/net/wireless/intel/iwlwifi/mei/Makefile
drivers/net/wireless/intel/iwlwifi/mvm/Makefile
drivers/net/wireless/intel/iwlwifi/tests/Makefile
drivers/net/wireless/realtek/rtl818x/rtl8180/Makefile
drivers/net/wireless/realtek/rtl818x/rtl8187/Makefile
drivers/scsi/aic7xxx/Makefile
drivers/staging/rtl8723bs/Makefile
fs/iomap/Makefile
fs/unicode/Makefile
fs/xfs/Makefile
init/Makefile
lib/Makefile
lib/raid6/Makefile
net/wireless/Makefile
rust/Makefile
samples/bpf/Makefile
samples/hid/Makefile
scripts/Kbuild.include
scripts/Makefile.asm-generic
scripts/Makefile.build
scripts/Makefile.clean
scripts/Makefile.lib
scripts/Makefile.modpost
scripts/dtc/Makefile
scripts/gdb/linux/Makefile
scripts/genksyms/Makefile
scripts/kconfig/Makefile
security/tomoyo/Makefile
usr/Makefile
usr/include/Makefile

index b68f8c816897b460b3c99191f0736b3160e22bfd..66d15fff20893aa03f4318da29fe6487cab2a580 100644 (file)
@@ -76,22 +76,22 @@ loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit;
 #    * dest folder relative to $(BUILDDIR) and
 #    * cache folder relative to $(BUILDDIR)/.doctrees
 # $4 dest subfolder e.g. "man" for man pages at userspace-api/media/man
-# $5 reST source folder relative to $(srctree)/$(src),
+# $5 reST source folder relative to $(src),
 #    e.g. "userspace-api/media" for the linux-tv book-set at ./Documentation/userspace-api/media
 
 quiet_cmd_sphinx = SPHINX  $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
       cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media $2 && \
        PYTHONDONTWRITEBYTECODE=1 \
-       BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
+       BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(src)/$5/$(SPHINX_CONF)) \
        $(PYTHON3) $(srctree)/scripts/jobserver-exec \
        $(CONFIG_SHELL) $(srctree)/Documentation/sphinx/parallel-wrapper.sh \
        $(SPHINXBUILD) \
        -b $2 \
-       -c $(abspath $(srctree)/$(src)) \
+       -c $(abspath $(src)) \
        -d $(abspath $(BUILDDIR)/.doctrees/$3) \
        -D version=$(KERNELVERSION) -D release=$(KERNELRELEASE) \
        $(ALLSPHINXOPTS) \
-       $(abspath $(srctree)/$(src)/$5) \
+       $(abspath $(src)/$5) \
        $(abspath $(BUILDDIR)/$3/$4) && \
        if [ "x$(DOCS_CSS)" != "x" ]; then \
                cp $(if $(patsubst /%,,$(DOCS_CSS)),$(abspath $(srctree)/$(DOCS_CSS)),$(DOCS_CSS)) $(BUILDDIR)/$3/_static/; \
index 8cdda477987fd66490c29b377b53610d99266e8c..bf7d64632e20afb1ac98baf8563481d4e4481e96 100644 (file)
@@ -25,7 +25,7 @@ quiet_cmd_extract_ex = DTEX    $@
 $(obj)/%.example.dts: $(src)/%.yaml check_dtschema_version FORCE
        $(call if_changed,extract_ex)
 
-find_all_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \
+find_all_cmd = find $(src) \( -name '*.yaml' ! \
                -name 'processed-schema*' \)
 
 find_cmd = $(find_all_cmd) | \
@@ -37,12 +37,12 @@ CHK_DT_EXAMPLES := $(patsubst $(srctree)/%.yaml,%.example.dtb, $(shell $(find_cm
 quiet_cmd_yamllint = LINT    $(src)
       cmd_yamllint = ($(find_cmd) | \
                      xargs -n200 -P$$(nproc) \
-                    $(DT_SCHEMA_LINT) -f parsable -c $(srctree)/$(src)/.yamllint >&2) \
+                    $(DT_SCHEMA_LINT) -f parsable -c $(src)/.yamllint >&2) \
                     && touch $@ || true
 
 quiet_cmd_chk_bindings = CHKDT   $(src)
       cmd_chk_bindings = ($(find_cmd) | \
-                         xargs -n200 -P$$(nproc) $(DT_DOC_CHECKER) -u $(srctree)/$(src)) \
+                         xargs -n200 -P$$(nproc) $(DT_DOC_CHECKER) -u $(src)) \
                          && touch $@ || true
 
 quiet_cmd_mk_schema = SCHEMA  $@
index ad118b7a180634f04a29d62d0e8afab43f661c70..991ce6081e357e7b047c02e1812dbb087cafde39 100644 (file)
@@ -346,7 +346,7 @@ ccflags-y, asflags-y and ldflags-y
   Example::
 
     #arch/cris/boot/compressed/Makefile
-    ldflags-y += -T $(srctree)/$(src)/decompress_$(arch-y).lds
+    ldflags-y += -T $(src)/decompress_$(arch-y).lds
 
 subdir-ccflags-y, subdir-asflags-y
   The two flags listed above are similar to ccflags-y and asflags-y.
@@ -426,14 +426,14 @@ path to prerequisite files and target files.
 Two variables are used when defining custom rules:
 
 $(src)
-  $(src) is a relative path which points to the directory
-  where the Makefile is located. Always use $(src) when
+  $(src) is the directory where the Makefile is located. Always use $(src) when
   referring to files located in the src tree.
 
 $(obj)
-  $(obj) is a relative path which points to the directory
-  where the target is saved. Always use $(obj) when
-  referring to generated files.
+  $(obj) is the directory where the target is saved. Always use $(obj) when
+  referring to generated files. Use $(obj) for pattern rules that need to work
+  for both generated files and real sources (VPATH will help to find the
+  prerequisites not only in the object tree but also in the source tree).
 
   Example::
 
index 12e1a792b8de4b0a7224f7953f05284664d64bcc..c97c8d96061c57961dc57d3c8709b56c6b27bbd8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -263,7 +263,14 @@ srctree := $(abs_srctree)
 endif
 
 objtree                := .
+
+VPATH          :=
+
+ifeq ($(KBUILD_EXTMOD),)
+ifdef building_out_of_srctree
 VPATH          := $(srctree)
+endif
+endif
 
 export building_out_of_srctree srctree objtree VPATH
 
index 4237aa5de3a37b45cdaf103468401b39073e32ab..48704dfdf75cb4e747f433fdd3a6e001fef82325 100644 (file)
@@ -10,8 +10,7 @@ obj-y   += $(builtindtb-y).dtb.o
 dtb-y := $(builtindtb-y).dtb
 
 # for CONFIG_OF_ALL_DTBS test
-dtstree        := $(srctree)/$(src)
-dtb-   := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+dtb-   := $(patsubst $(src)/%.dts,%.dtb, $(wildcard $(src)/*.dts))
 
 # board-specific dtc flags
 DTC_FLAGS_hsdk += --pad 20
index b506622e7e23a50311fe3a41dc01861025163236..69de6b6243c70ae7e59b866ceb58f3b11c2337ac 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-$(CONFIG_FPE_NWFPE)                += nwfpe/
 # Put arch/arm/fastfpe/ to use this.
-obj-$(CONFIG_FPE_FASTFPE)      += $(patsubst $(srctree)/$(src)/%,%,$(wildcard $(srctree)/$(src)/fastfpe/))
+obj-$(CONFIG_FPE_FASTFPE)      += $(patsubst $(src)/%,%,$(wildcard $(src)/fastfpe/))
 obj-$(CONFIG_VFP)              += vfp/
 obj-$(CONFIG_XEN)              += xen/
 obj-$(CONFIG_VDSO)             += vdso/
index abd6a2889fd0e580d8cfcb801b0cc31dd11cb2b0..ba9b9a802469fed8e88d7739a00a341a27d68d04 100644 (file)
@@ -25,8 +25,7 @@ targets := Image zImage xipImage bootpImage uImage
 
 ifeq ($(CONFIG_XIP_KERNEL),y)
 
-cmd_deflate_xip_data = $(CONFIG_SHELL) -c \
-       '$(srctree)/$(src)/deflate_xip_data.sh $< $@'
+cmd_deflate_xip_data = $(CONFIG_SHELL) -c '$(src)/deflate_xip_data.sh $< $@'
 
 ifeq ($(CONFIG_XIP_DEFLATED_DATA),y)
 quiet_cmd_mkxip = XIPZ    $@
index 713827bef83118a02149edb11fc5d50ed02e5f87..988c496727158228f3d1fa1211c1e1d6e5bb3332 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Copyright 2009 Simtec Electronics
 
-include $(srctree)/$(src)/Makefile.s3c64xx
+include $(src)/Makefile.s3c64xx
 
 # Objects we always build independent of SoC choice
 
index 830b0be038c6bab30f1f6f84e335c037c67cc6e5..e8c7580df8caf305a5a2d56809d6f3c75db6230a 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Makefile for the linux kernel.
 #
-ccflags-y := -I$(srctree)/$(src)/include
+ccflags-y := -I$(src)/include
 
 orion-gpio-$(CONFIG_GPIOLIB)      += gpio.o
 obj-$(CONFIG_PLAT_ORION_LEGACY)   += irq.o pcie.o time.o common.o mpp.o
index 81f13bdf32f2b98ad64e5aeb8bcb489c2a43d7fa..28b6da8ac5f64c25387baff0568ed7791ac7810b 100644 (file)
@@ -9,7 +9,7 @@ gen := arch/$(ARCH)/include/generated
 kapi := $(gen)/asm
 uapi := $(gen)/uapi/asm
 syshdr := $(srctree)/scripts/syscallhdr.sh
-sysnr := $(srctree)/$(src)/syscallnr.sh
+sysnr := $(src)/syscallnr.sh
 systbl := $(srctree)/scripts/syscalltbl.sh
 syscall := $(src)/syscall.tbl
 
index 8818287f10955ca44fd3cf04d87db1649c0dafc6..53e86d3bc159a6d13790e27c7ade0efcd8c5c796 100644 (file)
@@ -68,7 +68,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
        $(call if_changed,objcopy)
 
 # Generate VDSO offsets using helper script
-gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
+gen-vdsosym := $(src)/gen_vdso_offsets.sh
 quiet_cmd_vdsosym = VDSOSYM $@
       cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
 
index c0c050e53157d9908c91fd781aa1b5d3271e4092..ab474d444cef839ec8004de0539f1c69da1c57e8 100644 (file)
@@ -3,7 +3,7 @@
 # Makefile for Kernel-based Virtual Machine module
 #
 
-ccflags-y += -I $(srctree)/$(src)
+ccflags-y += -I $(src)
 
 include $(srctree)/virt/kvm/Makefile.kvm
 
@@ -30,7 +30,7 @@ define rule_gen_hyp_constants
        $(call filechk,offsets,__HYP_CONSTANTS_H__)
 endef
 
-CFLAGS_hyp-constants.o = -I $(srctree)/$(src)/hyp/include
+CFLAGS_hyp-constants.o = -I $(src)/hyp/include
 $(obj)/hyp-constants.s: $(src)/hyp/hyp-constants.c FORCE
        $(call if_changed_dep,cc_s_c)
 
index a38dea6186c90a037d70b67b13276dd2ca3cb2d2..d61e44642f980a7418274912d30b7bac34b50350 100644 (file)
@@ -3,7 +3,7 @@
 # Makefile for Kernel-based Virtual Machine module, HYP part
 #
 
-incdir := $(srctree)/$(src)/include
+incdir := $(src)/include
 subdir-asflags-y := -I$(incdir)
 subdir-ccflags-y := -I$(incdir)
 
index 5f1f55e911adf543ab5c113b06f81488ee984e59..aabffc1912e8cd502c5f9cde3ba2ec8c8d3336b3 100644 (file)
@@ -1,4 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
-dtstree        := $(srctree)/$(src)
-
-dtb-y := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+dtb-y := $(patsubst $(src)/%.dts,%.dtb, $(wildcard $(src)/*.dts))
index 24a01c22293ecc24ba46c67185f79a3e7bf3321b..e79a725f50758265950808f8467d3244742a37a0 100644 (file)
@@ -57,4 +57,4 @@ quiet_cmd_vdsold = VDSOLD  $@
 # Extracts symbol offsets from the VDSO, converting them into an assembly file
 # that contains the same symbols at the same offsets.
 quiet_cmd_so2s = SO2S    $@
-      cmd_so2s = $(NM) -D $< | $(srctree)/$(src)/so2s.sh > $@
+      cmd_so2s = $(NM) -D $< | $(src)/so2s.sh > $@
index 244467d7792a97c80c6558c39b2b7bf8a898fafd..b2f4cbe01ae804419e3c572041608b7fea4b0990 100644 (file)
@@ -3,7 +3,7 @@
 # Makefile for LoongArch KVM support
 #
 
-ccflags-y += -I $(srctree)/$(src)
+ccflags-y += -I $(src)
 
 include $(srctree)/virt/kvm/Makefile.kvm
 
index 75c6726382c34f8a0a99a90d51e12276213df407..cdfc4c793e2c32b031424f67375697e8e4632b77 100644 (file)
@@ -52,7 +52,7 @@ quiet_cmd_vdsoas_o_S = AS       $@
       cmd_vdsoas_o_S = $(CC) $(a_flags) -c -o $@ $<
 
 # Generate VDSO offsets using helper script
-gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
+gen-vdsosym := $(src)/gen_vdso_offsets.sh
 quiet_cmd_vdsosym = VDSOSYM $@
       cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
 
index e6b21de65cca428308eb08cca193714388f7598e..56f6f093bb88e6c9a3f9668528831e88914e911a 100644 (file)
@@ -5,7 +5,7 @@ uapi := arch/$(SRCARCH)/include/generated/uapi/asm
 $(shell mkdir -p $(uapi) $(kapi))
 
 syshdr := $(srctree)/scripts/syscallhdr.sh
-sysnr := $(srctree)/$(src)/syscallnr.sh
+sysnr := $(src)/syscallnr.sh
 systbl := $(srctree)/scripts/syscalltbl.sh
 
 quiet_cmd_syshdr = SYSHDR  $@
index eb56581f6d734fa8fbfab419a954ba12b685eff0..40b839e9180606c6502021bd63eb389b47beebb6 100644 (file)
@@ -43,8 +43,8 @@ CFLAGS_vgettimeofday.o = -include $(c-gettimeofday-y)
 # config-n32-o32-env.c prepares the environment to build a 32bit vDSO
 # library on a 64bit kernel.
 # Note: Needs to be included before than the generic library.
-CFLAGS_vgettimeofday-o32.o = -include $(srctree)/$(src)/config-n32-o32-env.c -include $(c-gettimeofday-y)
-CFLAGS_vgettimeofday-n32.o = -include $(srctree)/$(src)/config-n32-o32-env.c -include $(c-gettimeofday-y)
+CFLAGS_vgettimeofday-o32.o = -include $(src)/config-n32-o32-env.c -include $(c-gettimeofday-y)
+CFLAGS_vgettimeofday-n32.o = -include $(src)/config-n32-o32-env.c -include $(c-gettimeofday-y)
 endif
 
 CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE)
index e9e31bb40df8510bf89eb26c95bae0463245aa1e..1a2e8996bec77854f976bed32aaefdb9096eb870 100644 (file)
@@ -2,5 +2,4 @@
 
 obj-y := $(patsubst %.dts,%.dtb.o,$(CONFIG_NIOS2_DTB_SOURCE))
 
-dtstree                := $(srctree)/$(src)
-dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(src)/%.dts,%.dtb, $(wildcard $(src)/*.dts))
index 60dc708a0f80740ecaa060dc3d54aede16eeb3cd..1350d50c63068413b15e5e06ef27ef5afb49d8cd 100644 (file)
@@ -40,7 +40,7 @@ quiet_cmd_vdso32as = VDSO32A $@
       cmd_vdso32as = $(CROSS32CC) $(a_flags) -c -o $@ $<
 
 # Generate VDSO offsets using helper script
-gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
+gen-vdsosym := $(src)/gen_vdso_offsets.sh
 quiet_cmd_vdsosym = VDSOSYM $@
        cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
 
index 0982f3099ae25c1ff82710a7a45310e4195df6f6..0b1c1cc4c2c7cfefa0cf07e893246502e277242e 100644 (file)
@@ -40,7 +40,7 @@ quiet_cmd_vdso64as = VDSO64A $@
       cmd_vdso64as = $(CC) $(a_flags) -c -o $@ $<
 
 # Generate VDSO offsets using helper script
-gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
+gen-vdsosym := $(src)/gen_vdso_offsets.sh
 quiet_cmd_vdsosym = VDSOSYM $@
        cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
 
index 968aee2025b8198976e740b74445818bc44a95e0..a0b3b5cc14cdc2d1045320acc5e876cffad9e21a 100644 (file)
@@ -218,7 +218,7 @@ $(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: $(srctree)/scripts/dtc
 $(obj)/empty.c:
        $(Q)touch $@
 
-$(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds : $(obj)/%: $(srctree)/$(src)/%.S
+$(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds : $(obj)/%: $(src)/%.S
        $(Q)cp $< $@
 
 clean-files := $(zlib-) $(zlibheader-) $(zliblinuxheader-) \
@@ -252,9 +252,9 @@ targets             += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) zImage.lds
 extra-y                := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
                   $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds
 
-dtstree                := $(srctree)/$(src)/dts
+dtstree                := $(src)/dts
 
-wrapper                :=$(srctree)/$(src)/wrapper
+wrapper                := $(src)/wrapper
 wrapperbits    := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree) \
                        $(wrapper) FORCE
 
index fb335d05aae8ff87655d56b99c42217650afacd7..0cd0d8558b475cfe342f36f4b78240ef88dd2e37 100644 (file)
@@ -2,5 +2,4 @@
 
 subdir-y += fsl
 
-dtstree                := $(srctree)/$(src)
-dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(src)/%.dts,%.dtb, $(wildcard $(src)/*.dts))
index 3bae982641e9263440a66b7940a28aa7772f56b8..d3ecdf14bc42e79db01f247bc2b71f13b4c778be 100644 (file)
@@ -1,4 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0
 
-dtstree                := $(srctree)/$(src)
-dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(src)/%.dts,%.dtb, $(wildcard $(src)/*.dts))
index a14eab3669939973374d50cd96574997494db23f..7d66b6e079938cd103dd058293f6b6f2d63fd176 100644 (file)
@@ -90,10 +90,10 @@ $(obj)/vgettimeofday-64.o: %-64.o: %.c FORCE
        $(call if_changed_dep,cc_o_c)
 
 # Generate VDSO offsets using helper script
-gen-vdso32sym := $(srctree)/$(src)/gen_vdso32_offsets.sh
+gen-vdso32sym := $(src)/gen_vdso32_offsets.sh
 quiet_cmd_vdso32sym = VDSO32SYM $@
       cmd_vdso32sym = $(NM) $< | $(gen-vdso32sym) | LC_ALL=C sort > $@
-gen-vdso64sym := $(srctree)/$(src)/gen_vdso64_offsets.sh
+gen-vdso64sym := $(src)/gen_vdso64_offsets.sh
 quiet_cmd_vdso64sym = VDSO64SYM $@
       cmd_vdso64sym = $(NM) $< | $(gen-vdso64sym) | LC_ALL=C sort > $@
 
index 3df4cb788c1fa459d629d629ef64f99c81891f6b..362208dfa7eec0c87e8dc89031f4aacb53fd506f 100644 (file)
@@ -58,7 +58,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
        $(call if_changed,objcopy)
 
 # Generate VDSO offsets using helper script
-gen-compat_vdsosym := $(srctree)/$(src)/gen_compat_vdso_offsets.sh
+gen-compat_vdsosym := $(src)/gen_compat_vdso_offsets.sh
 quiet_cmd_compat_vdsosym = VDSOSYM $@
        cmd_compat_vdsosym = $(NM) $< | $(gen-compat_vdsosym) | LC_ALL=C sort > $@
 
index 272c431ac5b9f82c8181b673afcf236d85641feb..25f0ee629971f708825d3ba11c93755b290371ef 100644 (file)
@@ -60,7 +60,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
        $(call if_changed,objcopy)
 
 # Generate VDSO offsets using helper script
-gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
+gen-vdsosym := $(src)/gen_vdso_offsets.sh
 quiet_cmd_vdsosym = VDSOSYM $@
        cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
 
index c9646521f1132e5a9ea8b1e1c327823224927bbc..c2cacfbc06a06c4592e18156d6c1dd4a75dc7747 100644 (file)
@@ -3,7 +3,7 @@
 # Makefile for RISC-V KVM support
 #
 
-ccflags-y += -I $(srctree)/$(src)
+ccflags-y += -I $(src)
 
 include $(srctree)/virt/kvm/Makefile.kvm
 
index fb85e797946db64e6f7403a4a1a41a5976269010..1bb78b9468e8a9fef736d6ef82fdce13c0b15ea6 100644 (file)
@@ -4,8 +4,8 @@ gen     := arch/$(ARCH)/include/generated
 kapi   := $(gen)/asm
 uapi   := $(gen)/uapi/asm
 
-syscall        := $(srctree)/$(src)/syscall.tbl
-systbl := $(srctree)/$(src)/syscalltbl
+syscall        := $(src)/syscall.tbl
+systbl := $(src)/syscalltbl
 
 gen-y := $(kapi)/syscall_table.h
 kapi-hdrs-y := $(kapi)/unistd_nr.h
index 70e9949c2612809e8c1c47e9ce7af0841fac8166..c263b91adfb1535d12e816f0f4d790417969e430 100644 (file)
@@ -62,7 +62,7 @@ quiet_cmd_vdso32cc = VDSO32C $@
       cmd_vdso32cc = $(CC) $(c_flags) -c -o $@ $<
 
 # Generate VDSO offsets using helper script
-gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
+gen-vdsosym := $(src)/gen_vdso_offsets.sh
 quiet_cmd_vdsosym = VDSOSYM $@
        cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
 
index 2b3617b6d1624a0cc471d3d77a4d801f9b2d1b94..9566bed7d5b28ab6f290862ce8b6ced66f582892 100644 (file)
@@ -72,7 +72,7 @@ quiet_cmd_vdso64cc = VDSO64C $@
       cmd_vdso64cc = $(CC) $(c_flags) -c -o $@ $<
 
 # Generate VDSO offsets using helper script
-gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
+gen-vdsosym := $(src)/gen_vdso_offsets.sh
 quiet_cmd_vdsosym = VDSOSYM $@
        cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
 
index e8aef2c8ae99b4ed7045de43dd8b9f9748a29d53..0fe134abbcf175cec94f1161c2c7cb3d65062808 100644 (file)
@@ -103,7 +103,7 @@ quiet_cmd_vdso = VDSO    $@
       cmd_vdso = $(LD) -nostdlib -o $@ \
                       $(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \
                       -T $(filter %.lds,$^) $(filter %.o,$^) && \
-               sh $(srctree)/$(src)/checkundef.sh '$(OBJDUMP)' '$@'
+               sh $(src)/checkundef.sh '$(OBJDUMP)' '$@'
 
 VDSO_LDFLAGS = -shared --hash-style=both --build-id=sha1 -Bsymbolic
 GCOV_PROFILE := n
index 811188be954cad1e2317df9fb21137f9dddfa95e..f8567b933ffaa902ee7e17f766cc289e5cd3cff2 100644 (file)
@@ -47,7 +47,7 @@ $(obj)/config.c: $(src)/config.c.in $(obj)/config.tmp FORCE
        $(call if_changed,quote2)
 
 quiet_cmd_mkcapflags = MKCAP   $@
-      cmd_mkcapflags = $(CONFIG_SHELL) $(srctree)/$(src)/../../x86/kernel/cpu/mkcapflags.sh $@ $^
+      cmd_mkcapflags = $(CONFIG_SHELL) $(src)/../../x86/kernel/cpu/mkcapflags.sh $@ $^
 
 cpufeature = $(src)/../../x86/include/asm/cpufeatures.h
 vmxfeature = $(src)/../../x86/include/asm/vmxfeatures.h
index 3cece19b74732f8565d670a6f133fba0eadc3fc9..29cda98c65f8ba1d44f075b5ed18b8c5b642f95e 100644 (file)
@@ -129,7 +129,7 @@ targets += mtools.conf
 # genimage.sh requires bash, but it also has a bunch of other
 # external dependencies.
 quiet_cmd_genimage = GENIMAGE $3
-cmd_genimage = $(BASH) $(srctree)/$(src)/genimage.sh $2 $3 $(obj)/bzImage \
+      cmd_genimage = $(BASH) $(src)/genimage.sh $2 $3 $(obj)/bzImage \
                $(obj)/mtools.conf '$(FDARGS)' $(FDINITRD)
 
 PHONY += bzdisk fdimage fdimage144 fdimage288 hdimage isoimage
index 3d64bcc403cfbe16645172e3e5d215bc8e48d6dd..c003452dba8c5509510dec5bd567ce1061ee966e 100644 (file)
@@ -176,7 +176,7 @@ quiet_cmd_vdso = VDSO    $@
       cmd_vdso = $(LD) -o $@ \
                       $(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \
                       -T $(filter %.lds,$^) $(filter %.o,$^) && \
-                sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
+                sh $(src)/checkundef.sh '$(NM)' '$@'
 
 VDSO_LDFLAGS = -shared --hash-style=both --build-id=sha1 \
        $(call ld-option, --eh-frame-hdr) -Bsymbolic -z noexecstack
index 74077694da7d9f3aa2fe68cc6bf4f348687ca45f..8a9fc9ec69d3d46f07e85567089bc5e913e769f6 100644 (file)
@@ -40,7 +40,7 @@ KMSAN_SANITIZE_sev.o                                  := n
 KCOV_INSTRUMENT_head$(BITS).o                          := n
 KCOV_INSTRUMENT_sev.o                                  := n
 
-CFLAGS_irq.o := -I $(srctree)/$(src)/../include/asm/trace
+CFLAGS_irq.o := -I $(src)/../include/asm/trace
 
 obj-y                  += head_$(BITS).o
 obj-y                  += head$(BITS).o
index eb4dbcdf41f1d4c7b278815c5c47f30cd5532070..a02bba0ed6b95aee9f6f58874574fca124b070ea 100644 (file)
@@ -60,7 +60,7 @@ obj-$(CONFIG_ACRN_GUEST)              += acrn.o
 obj-$(CONFIG_DEBUG_FS)                 += debugfs.o
 
 quiet_cmd_mkcapflags = MKCAP   $@
-      cmd_mkcapflags = $(CONFIG_SHELL) $(srctree)/$(src)/mkcapflags.sh $@ $^
+      cmd_mkcapflags = $(CONFIG_SHELL) $(src)/mkcapflags.sh $@ $^
 
 cpufeature = $(src)/../../include/asm/cpufeatures.h
 vmxfeature = $(src)/../../include/asm/vmxfeatures.h
index 428048e73bd2e2326964f2565bc40df18d628ff5..8d3a00e5c528e51578ee07663c315c0fcebe941b 100644 (file)
@@ -34,7 +34,7 @@ obj-y                         += pat/
 CFLAGS_physaddr.o              := -fno-stack-protector
 CFLAGS_mem_encrypt_identity.o  := -fno-stack-protector
 
-CFLAGS_fault.o := -I $(srctree)/$(src)/../include/asm/trace
+CFLAGS_fault.o := -I $(src)/../include/asm/trace
 
 obj-$(CONFIG_X86_32)           += pgtable_32.o iomap_32.o
 
index b86d634730b2db86677d63bb0828867320523f0f..2303fa59971ceb773bb22a7063d865e36464b884 100644 (file)
@@ -63,7 +63,7 @@ quiet_cmd_vdso = VDSO    $@
       cmd_vdso = $(CC) -nostdlib -o $@ \
                       $(CC_FLAGS_LTO) $(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \
                       -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \
-                sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
+                sh $(src)/checkundef.sh '$(NM)' '$@'
 
 VDSO_LDFLAGS = -fPIC -shared -Wl,--hash-style=sysv -z noexecstack
 GCOV_PROFILE := n
index 720628c0d8b94b3161aee8abf839c87018cd318a..d6408c16d74e4e4ab66348f5402489ddd8946347 100644 (file)
@@ -10,5 +10,4 @@
 obj-$(CONFIG_OF) += $(addsuffix .dtb.o, $(CONFIG_BUILTIN_DTB_SOURCE))
 
 # for CONFIG_OF_ALL_DTBS test
-dtstree        := $(srctree)/$(src)
-dtb-   := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+dtb-   := $(patsubst $(src)/%.dts,%.dtb, $(wildcard $(src)/*.dts))
index 799ad7b9e68a0f684794a472c77ffdd706eef292..1094e3860c2a74a7e60df0d0aa866bcab51762b4 100644 (file)
@@ -13,7 +13,7 @@ CFLAGS_blacklist_hashes.o := -I $(obj)
 quiet_cmd_check_and_copy_blacklist_hash_list = GEN     $@
       cmd_check_and_copy_blacklist_hash_list = \
        $(if $(CONFIG_SYSTEM_BLACKLIST_HASH_LIST), \
-       $(AWK) -f $(srctree)/$(src)/check-blacklist-hashes.awk $(CONFIG_SYSTEM_BLACKLIST_HASH_LIST) >&2; \
+       $(AWK) -f $(src)/check-blacklist-hashes.awk $(CONFIG_SYSTEM_BLACKLIST_HASH_LIST) >&2; \
        { cat $(CONFIG_SYSTEM_BLACKLIST_HASH_LIST); echo $(comma) NULL; } > $@, \
        echo NULL > $@)
 
@@ -55,7 +55,7 @@ $(obj)/signing_key.pem: $(obj)/x509.genkey FORCE
 targets += signing_key.pem
 
 quiet_cmd_copy_x509_config = COPY    $@
-      cmd_copy_x509_config = cat $(srctree)/$(src)/default_x509.genkey > $@
+      cmd_copy_x509_config = cat $(src)/default_x509.genkey > $@
 
 # You can provide your own config file. If not present, copy the default one.
 $(obj)/x509.genkey:
index 3bf5cab4b45191e4ff9bb657a186e958b306e348..fe9ceb0d2288aded0cfe54c122bf3c8971f41a39 100644 (file)
@@ -6,11 +6,6 @@
 # Rewritten to use lists instead of if-statements.
 #
 
-# Some driver Makefiles miss $(srctree)/ for include directive.
-ifdef building_out_of_srctree
-MAKEFLAGS += --include-dir=$(srctree)
-endif
-
 obj-y                          += cache/
 obj-y                          += irqchip/
 obj-y                          += bus/
index a90fbe00b3c88fd47548f0a0a9a57e95bd79a09e..45728659fbc44f94720077677a5d402fde030b47 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-ccflags-y := -I $(srctree)/$(src)/../qat_common
+ccflags-y := -I $(src)/../qat_common
 obj-$(CONFIG_CRYPTO_DEV_QAT_420XX) += qat_420xx.o
 qat_420xx-objs := adf_drv.o adf_420xx_hw_data.o
index ff9c8b5897ea7af004c653fb2ba5bcdb05f55a27..9ba202079a22f3b390c52e32af007f942ffc8542 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only)
-ccflags-y := -I $(srctree)/$(src)/../qat_common
+ccflags-y := -I $(src)/../qat_common
 obj-$(CONFIG_CRYPTO_DEV_QAT_4XXX) += qat_4xxx.o
 qat_4xxx-objs := adf_drv.o adf_4xxx_hw_data.o
index 92ef416ccc78b28ac8b7e58f36a1cb6f947175eb..7a06ad519bfc859654d93b6a367f9e826f340a77 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-ccflags-y := -I $(srctree)/$(src)/../qat_common
+ccflags-y := -I $(src)/../qat_common
 obj-$(CONFIG_CRYPTO_DEV_QAT_C3XXX) += qat_c3xxx.o
 qat_c3xxx-objs := adf_drv.o adf_c3xxx_hw_data.o
index b6d76825a92c3a4dbc6963eba79a8162dc427e12..7ef633058c4f42bdf67d3a335df36f626627d3d5 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-ccflags-y := -I $(srctree)/$(src)/../qat_common
+ccflags-y := -I $(src)/../qat_common
 obj-$(CONFIG_CRYPTO_DEV_QAT_C3XXXVF) += qat_c3xxxvf.o
 qat_c3xxxvf-objs := adf_drv.o adf_c3xxxvf_hw_data.o
index d581f7c87d6cf4404c87fb7f39fb7efd4af29a28..cc9255b3b198dcbebc5bdcb4b0677c51e86adf8d 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-ccflags-y := -I $(srctree)/$(src)/../qat_common
+ccflags-y := -I $(src)/../qat_common
 obj-$(CONFIG_CRYPTO_DEV_QAT_C62X) += qat_c62x.o
 qat_c62x-objs := adf_drv.o adf_c62x_hw_data.o
index 446c3d638605906f2019832aa57b02f19d4a1679..256786662d60e93e1532d0faa11f8c0e2a33da1a 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-ccflags-y := -I $(srctree)/$(src)/../qat_common
+ccflags-y := -I $(src)/../qat_common
 obj-$(CONFIG_CRYPTO_DEV_QAT_C62XVF) += qat_c62xvf.o
 qat_c62xvf-objs := adf_drv.o adf_c62xvf_hw_data.o
index 38d6f8e1624a3603ee0d9f8402c8045d10f924e4..cfd3bd757715816cf61ce8ad000113a1f638aa7c 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-ccflags-y := -I $(srctree)/$(src)/../qat_common
+ccflags-y := -I $(src)/../qat_common
 obj-$(CONFIG_CRYPTO_DEV_QAT_DH895xCC) += qat_dh895xcc.o
 qat_dh895xcc-objs := adf_drv.o adf_dh895xcc_hw_data.o
index 0153c85ce7435b7066e027a6989d849dd3282eff..64b54e92b2b4fc470932cd28cb72060b5dc4576c 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-ccflags-y := -I $(srctree)/$(src)/../qat_common
+ccflags-y := -I $(src)/../qat_common
 obj-$(CONFIG_CRYPTO_DEV_QAT_DH895xCCVF) += qat_dh895xccvf.o
 qat_dh895xccvf-objs := adf_drv.o adf_dh895xccvf_hw_data.o
index 4536c8ad0e11760aed5f74bc7f9ddf69c142319c..e568e89283c0131b2bfb383357b6218714911ba7 100644 (file)
@@ -23,7 +23,7 @@
 # Makefile for the drm device driver.  This driver provides support for the
 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 
-FULL_AMD_PATH=$(srctree)/$(src)/..
+FULL_AMD_PATH=$(src)/..
 DISPLAY_FOLDER_NAME=display
 FULL_AMD_DISPLAY_PATH = $(FULL_AMD_PATH)/$(DISPLAY_FOLDER_NAME)
 
index 1931a7fa1a1448ec49019178b3bedbe26e53128c..cf5287fcbbc2ca872e69aad8ab33c885870694b3 100644 (file)
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
 
 ccflags-y := \
-       -I $(srctree)/$(src)/../include \
-       -I $(srctree)/$(src)
+       -I $(src)/../include \
+       -I $(src)
 
 komeda-y := \
        komeda_drv.o \
index fba73c38e23569fa521e387484b96eadfb988d80..2220448ed07f1fff34b92026bb884342af005f2d 100644 (file)
@@ -41,7 +41,7 @@ CFLAGS_display/intel_fbdev.o = -Wno-override-init
 # drivers. Define I915 when building i915.
 subdir-ccflags-y += -DI915
 
-subdir-ccflags-y += -I$(srctree)/$(src)
+subdir-ccflags-y += -I$(src)
 
 # Please keep these build lists sorted!
 
@@ -434,7 +434,7 @@ no-header-test := \
 
 always-$(CONFIG_DRM_I915_WERROR) += \
        $(patsubst %.h,%.hdrtest, $(filter-out $(no-header-test), \
-               $(shell cd $(srctree)/$(src) && find * -name '*.h')))
+               $(shell cd $(src) && find * -name '*.h')))
 
 quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
       cmd_hdrtest = $(CC) $(filter-out $(CFLAGS_GCOV), $(c_flags)) -S -o /dev/null -x c /dev/null -include $<; \
index ec6db8e9b403751b5477ae4a781c9e4b8164232e..9bc6a3884c2239e44265f3cdebee149841b270de 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only OR MIT
 # Copyright (c) 2023 Imagination Technologies Ltd.
 
-subdir-ccflags-y := -I$(srctree)/$(src)
+subdir-ccflags-y := -I$(src)
 
 powervr-y := \
        pvr_ccb.o \
index b21ae2880c7159fc1b6e39ff003f07db4496095e..b8cc007fc1b97330537b589444252b23d4fe210d 100644 (file)
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
-ccflags-y := -I $(srctree)/$(src)
-ccflags-y += -I $(srctree)/$(src)/disp/dpu1
-ccflags-$(CONFIG_DRM_MSM_DSI) += -I $(srctree)/$(src)/dsi
-ccflags-$(CONFIG_DRM_MSM_DP) += -I $(srctree)/$(src)/dp
+ccflags-y := -I $(src)
+ccflags-y += -I $(src)/disp/dpu1
+ccflags-$(CONFIG_DRM_MSM_DSI) += -I $(src)/dsi
+ccflags-$(CONFIG_DRM_MSM_DP) += -I $(src)/dp
 
 msm-y := \
        adreno/adreno_device.o \
index cf6b3a80c0c8ae4968b69e600e89639bfd63db2f..c32c01827c1d222355fd62df91064ab8d3331e01 100644 (file)
@@ -1,10 +1,8 @@
-NOUVEAU_PATH ?= $(srctree)
-
 # SPDX-License-Identifier: MIT
-ccflags-y += -I $(NOUVEAU_PATH)/$(src)/include
-ccflags-y += -I $(NOUVEAU_PATH)/$(src)/include/nvkm
-ccflags-y += -I $(NOUVEAU_PATH)/$(src)/nvkm
-ccflags-y += -I $(NOUVEAU_PATH)/$(src)
+ccflags-y += -I $(src)/include
+ccflags-y += -I $(src)/include/nvkm
+ccflags-y += -I $(src)/nvkm
+ccflags-y += -I $(src)
 
 # NVKM - HW resource manager
 #- code also used by various userspace tools/tests
index c29a850859ad5a6af449d0e05d4ce8c6d3c2173e..8162a522222b615716c20c3f76bb499d70342ba4 100644 (file)
@@ -32,7 +32,7 @@ endif
 # Enable -Werror in CI and development
 subdir-ccflags-$(CONFIG_DRM_XE_WERROR) += -Werror
 
-subdir-ccflags-y += -I$(obj) -I$(srctree)/$(src)
+subdir-ccflags-y += -I$(obj) -I$(src)
 
 # generated sources
 hostprogs := xe_gen_wa_oob
@@ -43,7 +43,7 @@ quiet_cmd_wa_oob = GEN     $(notdir $(generated_oob))
       cmd_wa_oob = mkdir -p $(@D); $^ $(generated_oob)
 
 $(obj)/generated/%_wa_oob.c $(obj)/generated/%_wa_oob.h: $(obj)/xe_gen_wa_oob \
-                $(srctree)/$(src)/xe_wa_oob.rules
+                $(src)/xe_wa_oob.rules
        $(call cmd,wa_oob)
 
 uses_generated_oob := \
@@ -166,8 +166,8 @@ endif
 
 # i915 Display compat #defines and #includes
 subdir-ccflags-$(CONFIG_DRM_XE_DISPLAY) += \
-       -I$(srctree)/$(src)/display/ext \
-       -I$(srctree)/$(src)/compat-i915-headers \
+       -I$(src)/display/ext \
+       -I$(src)/compat-i915-headers \
        -I$(srctree)/drivers/gpu/drm/i915/display/ \
        -Ddrm_i915_gem_object=xe_bo \
        -Ddrm_i915_private=xe_device
@@ -310,7 +310,7 @@ ifneq ($(CONFIG_DRM_XE_DISPLAY),y)
 endif
 
 always-$(CONFIG_DRM_XE_WERROR) += \
-       $(patsubst %.h,%.hdrtest, $(shell cd $(srctree)/$(src) && find * -name '*.h' $(hdrtest_find_args)))
+       $(patsubst %.h,%.hdrtest, $(shell cd $(src) && find * -name '*.h' $(hdrtest_find_args)))
 
 quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
       cmd_hdrtest = $(CC) -DHDRTEST $(filter-out $(CFLAGS_GCOV), $(c_flags)) -S -o /dev/null -x c /dev/null -include $<; touch $@
index 0222170ab7ad730ae3fbf4cfcb3bd30acebeee27..106514b54d16c40569c59eaf73b92178863a05d6 100644 (file)
@@ -13,4 +13,4 @@ amd_sfh-objs += sfh1_1/amd_sfh_init.o
 amd_sfh-objs += sfh1_1/amd_sfh_interface.o
 amd_sfh-objs += sfh1_1/amd_sfh_desc.o
 
-ccflags-y += -I $(srctree)/$(src)/
+ccflags-y += -I $(src)/
index f0a82b1c7cb932e14e0c76151099d0619266bfca..db4974c43431c7dd39c07cc372d48d0438ca3bde 100644 (file)
@@ -23,4 +23,4 @@ intel-ishtp-hid-objs += ishtp-hid-client.o
 obj-$(CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ishtp-loader.o
 intel-ishtp-loader-objs += ishtp-fw-loader.o
 
-ccflags-y += -I $(srctree)/$(src)/ishtp
+ccflags-y += -I $(src)/ishtp
index 33e09abc6acd0d879c1d5de244512590be454f5b..9476957bfbf4edaac7c6338cad216ccb38e6007f 100644 (file)
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-ccflags-y := -I$(srctree)/$(src) -I$(srctree)/$(src)/indexer
+ccflags-y := -I$(src) -I$(src)/indexer
 
 obj-$(CONFIG_DM_VDO) += dm-vdo.o
 
index 8ebcc68e807fc6d4115d515152031d7582cd0ad7..f6a96931c89a5e3166cb597b739b25f5e49ee528 100644 (file)
@@ -8,7 +8,7 @@
 
 obj-$(CONFIG_AQTION) += atlantic.o
 
-ccflags-y += -I$(srctree)/$(src)
+ccflags-y += -I$(src)
 
 atlantic-objs := aq_main.o \
        aq_nic.o \
index aa79264e72ba1c9603ba54d2a4232b7cfdb100d2..fbedc31674b3e8cc2fa6e401dee377d4b87bc5c5 100644 (file)
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
-ccflags-y := -I $(srctree)/$(src)/../cxgb4
+ccflags-y := -I $(src)/../cxgb4
 
 obj-$(CONFIG_CHELSIO_LIB) += libcxgb.o
 
index 646d69595b4f088127e77a3101e6d68d643b8a36..d51e4c2b4a1a4b9b5c0161fee3b99cb9b2b71e05 100644 (file)
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
 
-ccflags-y += -I$(srctree)/$(src)/../funcore -I$(srctree)/$(src)
+ccflags-y += -I$(src)/../funcore -I$(src)
 
 obj-$(CONFIG_FUN_ETH) += funeth.o
 
index e214bfaece1f3aca3d0603400f9d779af1f1edf4..8e9293e57bfd58f9c3afc43c23cfa9f973df8582 100644 (file)
@@ -3,7 +3,7 @@
 # Makefile for the HISILICON network device drivers.
 #
 
-ccflags-y += -I$(srctree)/$(src)
+ccflags-y += -I$(src)
 ccflags-y += -I$(srctree)/drivers/net/ethernet/hisilicon/hns3/hns3pf
 ccflags-y += -I$(srctree)/drivers/net/ethernet/hisilicon/hns3/hns3vf
 ccflags-y += -I$(srctree)/drivers/net/ethernet/hisilicon/hns3/hns3_common
index dc6d27a36faa970e1ddc495eef8e41a674a46da5..e5ca0f511822719f94e0aab528d07c96d7eed428 100644 (file)
@@ -6,8 +6,8 @@
 #
 
 ccflags-y += \
-       -I $(srctree)/$(src) \
-       -I $(srctree)/$(src)/../include
+       -I $(src) \
+       -I $(src)/../include
 
 obj-$(CONFIG_BRCMFMAC) += brcmfmac.o
 brcmfmac-objs += \
index 46098705e23678b09f5cc57948eb4b3a0402d65a..5e37c638f966183d8c2e9061e18d2e69d9ce4fc0 100644 (file)
@@ -3,9 +3,9 @@
 # Copyright (c) 2022 Broadcom Corporation
 
 ccflags-y += \
-       -I $(srctree)/$(src) \
-       -I $(srctree)/$(src)/.. \
-       -I $(srctree)/$(src)/../../include
+       -I $(src) \
+       -I $(src)/.. \
+       -I $(src)/../../include
 
 obj-m += brcmfmac-bca.o
 brcmfmac-bca-objs += \
index 5e1fddaff79e20c7d2f6e10810cb3db18a384750..33e86724ba14e89997dbe79e8107a741e281eeb4 100644 (file)
@@ -3,9 +3,9 @@
 # Copyright (c) 2022 Broadcom Corporation
 
 ccflags-y += \
-       -I $(srctree)/$(src) \
-       -I $(srctree)/$(src)/.. \
-       -I $(srctree)/$(src)/../../include
+       -I $(src) \
+       -I $(src)/.. \
+       -I $(src)/../../include
 
 obj-m += brcmfmac-cyw.o
 brcmfmac-cyw-objs += \
index 7f455a19a2b12647c645408748e8650de74cbc21..3db4cce44f4207d89a8f136e9a5c63cb84e5f4d0 100644 (file)
@@ -3,9 +3,9 @@
 # Copyright (c) 2022 Broadcom Corporation
 
 ccflags-y += \
-       -I $(srctree)/$(src) \
-       -I $(srctree)/$(src)/.. \
-       -I $(srctree)/$(src)/../../include
+       -I $(src) \
+       -I $(src)/.. \
+       -I $(src)/../../include
 
 obj-m += brcmfmac-wcc.o
 brcmfmac-wcc-objs += \
index 090757730ba60db0708afb5093ddb4cc90ce8e00..ffdd17eabe1dfc44cdbebc4e95975204a148b7ef 100644 (file)
@@ -16,9 +16,9 @@
 # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 ccflags-y := \
-       -I $(srctree)/$(src) \
-       -I $(srctree)/$(src)/phy \
-       -I $(srctree)/$(src)/../include
+       -I $(src) \
+       -I $(src)/phy \
+       -I $(src)/../include
 
 brcmsmac-y := \
        mac80211_if.o \
index 7a82d615ba2ae44c07ea462b3cf44f49123262d6..f9b40cab766c6a11b4c33cd08ecbfb94e7ad40b8 100644 (file)
@@ -4,7 +4,7 @@
 #
 # Copyright (c) 2011 Broadcom Corporation
 #
-ccflags-y := -I $(srctree)/$(src)/../include
+ccflags-y := -I $(src)/../include
 
 obj-$(CONFIG_BRCMUTIL) += brcmutil.o
 brcmutil-objs  = utils.o d11.o
index 0486b17d7c41f4f41ce15e5693a4846838156908..6109d64006dbc0fd26a5dd1dccf38bec1090488e 100644 (file)
@@ -11,4 +11,4 @@ iwldvm-objs           += rxon.o devices.o
 iwldvm-$(CONFIG_IWLWIFI_LEDS) += led.o
 iwldvm-$(CONFIG_IWLWIFI_DEBUGFS) += debugfs.o
 
-ccflags-y += -I $(srctree)/$(src)/../
+ccflags-y += -I $(src)/../
index 8e3ef0347db7e90f9b7c53b5f4f5a177f94d9fe5..e05f9421be4ad5b090918269db54f7c8baf21b4c 100644 (file)
@@ -5,4 +5,4 @@ iwlmei-y += net.o
 iwlmei-$(CONFIG_IWLWIFI_DEVICE_TRACING) += trace.o
 CFLAGS_trace.o := -I$(src)
 
-ccflags-y += -I $(srctree)/$(src)/../
+ccflags-y += -I $(src)/../
index 593fe28d89cf76fb3795a0ca2cc3c159b4047212..764ba73cde1ee2374cfc8ce2ff491437c3ab4c35 100644 (file)
@@ -15,4 +15,4 @@ iwlmvm-$(CONFIG_IWLWIFI_LEDS) += led.o
 iwlmvm-$(CONFIG_PM) += d3.o
 iwlmvm-$(CONFIG_IWLMEI) += vendor-cmd.o
 
-ccflags-y += -I $(srctree)/$(src)/../
+ccflags-y += -I $(src)/../
index 5658471bdf0a30e776e6ffa6aa77c64ba4ef9d11..84491488f5892669939514957f40d07b506f6c92 100644 (file)
@@ -2,6 +2,6 @@
 
 iwlwifi-tests-y += module.o devinfo.o
 
-ccflags-y += -I$(srctree)/$(src)/../
+ccflags-y += -I$(src)/../
 
 obj-$(CONFIG_IWLWIFI_KUNIT_TESTS) += iwlwifi-tests.o
index 565a9a11413447ad406e93ce3024c4b33eac5c85..1044105c2557db9532f00742b5e97438b97d9498 100644 (file)
@@ -3,4 +3,4 @@ rtl818x_pci-objs        := dev.o rtl8225.o sa2400.o max2820.o grf5101.o rtl8225se.o
 
 obj-$(CONFIG_RTL8180)  += rtl818x_pci.o
 
-ccflags-y += -I $(srctree)/$(src)/..
+ccflags-y += -I $(src)/..
index 0bf64dfb233ae40a5f856c8d1990df12c536ee40..3deded2c05b6bc3a6b99af1de1343eb0e1f9437c 100644 (file)
@@ -3,4 +3,4 @@ rtl8187-objs            := dev.o rtl8225.o leds.o rfkill.o
 
 obj-$(CONFIG_RTL8187)  += rtl8187.o
 
-ccflags-y += -I $(srctree)/$(src)/..
+ccflags-y += -I $(src)/..
index e0188ecd85b229950c8a8234ec410ef589fa9c45..853c72a81ae01148c9cf52e19126430b9b517722 100644 (file)
@@ -55,9 +55,9 @@ aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \
 
 ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
 $(obj)/aic7xxx_seq.h: $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
-       $(obj)/aicasm/aicasm -I$(srctree)/$(src) -r $(obj)/aic7xxx_reg.h \
+       $(obj)/aicasm/aicasm -I $(src) -r $(obj)/aic7xxx_reg.h \
                              $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
-                             $(srctree)/$(src)/aic7xxx.seq
+                             $(src)/aic7xxx.seq
 
 $(aic7xxx-gen-y): $(objtree)/$(obj)/aic7xxx_seq.h
        @true
@@ -73,9 +73,9 @@ aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \
 
 ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
 $(obj)/aic79xx_seq.h: $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
-       $(obj)/aicasm/aicasm -I$(srctree)/$(src) -r $(obj)/aic79xx_reg.h \
+       $(obj)/aicasm/aicasm -I $(src) -r $(obj)/aic79xx_reg.h \
                              $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
-                             $(srctree)/$(src)/aic79xx.seq
+                             $(src)/aic79xx.seq
 
 $(aic79xx-gen-y): $(objtree)/$(obj)/aic79xx_seq.h
        @true
@@ -83,5 +83,5 @@ else
 $(obj)/aic79xx_reg_print.c: $(src)/aic79xx_reg_print.c_shipped
 endif
 
-$(obj)/aicasm/aicasm: $(srctree)/$(src)/aicasm/*.[chyl]
-       $(MAKE) -C $(srctree)/$(src)/aicasm OUTDIR=$(shell pwd)/$(obj)/aicasm/
+$(obj)/aicasm/aicasm: $(src)/aicasm/*.[chyl]
+       $(MAKE) -C $(src)/aicasm OUTDIR=$(shell pwd)/$(obj)/aicasm/
index 590bde02058c7a6608c7c7374f211c3481d6053d..7f5067e89295e4d2044dc43d770455eb04e4ab77 100644 (file)
@@ -62,4 +62,4 @@ r8723bs-y = \
 
 obj-$(CONFIG_RTL8723BS) := r8723bs.o
 
-ccflags-y += -I$(srctree)/$(src)/include -I$(srctree)/$(src)/hal
+ccflags-y += -I$(src)/include -I$(src)/hal
index fc070184b7faa7439cabb0b4ae64db84ac608109..381d76c5c2325887f39683b197407b5fdcad08cc 100644 (file)
@@ -4,7 +4,7 @@
 # All Rights Reserved.
 #
 
-ccflags-y += -I $(srctree)/$(src)              # needed for trace events
+ccflags-y += -I $(src)         # needed for trace events
 
 obj-$(CONFIG_FS_IOMAP)         += iomap.o
 
index 0e51c0025a16fd753ba7a65c8131b928e9a8ee39..e309afe2b2bb7d4e5ef0654fbc550b52587ca147 100644 (file)
@@ -18,13 +18,13 @@ ifdef REGENERATE_UTF8DATA
 
 quiet_cmd_utf8data = GEN     $@
       cmd_utf8data = $< \
-               -a $(srctree)/$(src)/DerivedAge.txt \
-               -c $(srctree)/$(src)/DerivedCombiningClass.txt \
-               -p $(srctree)/$(src)/DerivedCoreProperties.txt \
-               -d $(srctree)/$(src)/UnicodeData.txt \
-               -f $(srctree)/$(src)/CaseFolding.txt \
-               -n $(srctree)/$(src)/NormalizationCorrections.txt \
-               -t $(srctree)/$(src)/NormalizationTest.txt \
+               -a $(src)/DerivedAge.txt \
+               -c $(src)/DerivedCombiningClass.txt \
+               -p $(src)/DerivedCoreProperties.txt \
+               -d $(src)/UnicodeData.txt \
+               -f $(src)/CaseFolding.txt \
+               -n $(src)/NormalizationCorrections.txt \
+               -t $(src)/NormalizationTest.txt \
                -o $@
 
 $(obj)/utf8data.c: $(obj)/mkutf8data $(filter %.txt, $(cmd_utf8data)) FORCE
index 76674ad5833e3f50e6cd4f217f62b0f4980c9047..c5a35e32adf002a5ef977e3028e651a361020bdb 100644 (file)
@@ -4,8 +4,8 @@
 # All Rights Reserved.
 #
 
-ccflags-y += -I $(srctree)/$(src)              # needed for trace events
-ccflags-y += -I $(srctree)/$(src)/libxfs
+ccflags-y += -I $(src)         # needed for trace events
+ccflags-y += -I $(src)/libxfs
 
 obj-$(CONFIG_XFS_FS)           += xfs.o
 
index cbac576c57d63f20fda8720762f80225e0bcb542..3c48d97538c10e8d8d493d0d6cac63ccc4dba8c5 100644 (file)
@@ -52,7 +52,7 @@ CFLAGS_version.o := -include $(obj)/utsversion-tmp.h
 # Build version-timestamp.c with final UTS_VERSION
 #
 
-include/generated/utsversion.h: build-version-auto = $(shell $(srctree)/$(src)/build-version)
+include/generated/utsversion.h: build-version-auto = $(shell $(src)/build-version)
 include/generated/utsversion.h: build-timestamp-auto = $(shell LC_ALL=C date)
 include/generated/utsversion.h: FORCE
        $(call filechk,uts_version)
index ffc6b2341b45a52a8ba1820d5ff9718cfe05a4a1..27baa6e6daa804d28bf9807ad0382a1d66559981 100644 (file)
@@ -352,7 +352,7 @@ $(obj)/oid_registry_data.c: $(srctree)/include/linux/oid_registry.h \
        $(call cmd,build_OID_registry)
 
 quiet_cmd_build_OID_registry = GEN     $@
-      cmd_build_OID_registry = perl $(srctree)/$(src)/build_OID_registry $< $@
+      cmd_build_OID_registry = perl $(src)/build_OID_registry $< $@
 
 clean-files    += oid_registry_data.c
 
@@ -412,8 +412,8 @@ obj-$(CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED) += devmem_is_allowed.o
 obj-$(CONFIG_FIRMWARE_TABLE) += fw_table.o
 
 # FORTIFY_SOURCE compile-time behavior tests
-TEST_FORTIFY_SRCS = $(wildcard $(srctree)/$(src)/test_fortify/*-*.c)
-TEST_FORTIFY_LOGS = $(patsubst $(srctree)/$(src)/%.c, %.log, $(TEST_FORTIFY_SRCS))
+TEST_FORTIFY_SRCS = $(wildcard $(src)/test_fortify/*-*.c)
+TEST_FORTIFY_LOGS = $(patsubst $(src)/%.c, %.log, $(TEST_FORTIFY_SRCS))
 TEST_FORTIFY_LOG = test_fortify.log
 
 quiet_cmd_test_fortify = TEST    $@
index 385a94aa0b999b434e07287658363d0c518b734a..8785353c6140b00254c5c416734c8b4cb2aac1ed 100644 (file)
@@ -53,7 +53,7 @@ endif
 endif
 
 quiet_cmd_unroll = UNROLL  $@
-      cmd_unroll = $(AWK) -v N=$* -f $(srctree)/$(src)/unroll.awk < $< > $@
+      cmd_unroll = $(AWK) -v N=$* -f $(src)/unroll.awk < $< > $@
 
 targets += int1.c int2.c int4.c int8.c
 $(obj)/int%.c: $(src)/int.uc $(src)/unroll.awk FORCE
index 72074fd36df4c8fec2e9e379f50e09816ea6ec8f..1d49cc8b6da1562f0d3ed5e807a7c2fd940fe392 100644 (file)
@@ -25,7 +25,7 @@ ifneq ($(CONFIG_CFG80211_EXTRA_REGDB_KEYDIR),)
 cfg80211-y += extra-certs.o
 endif
 
-$(obj)/shipped-certs.c: $(sort $(wildcard $(srctree)/$(src)/certs/*.hex))
+$(obj)/shipped-certs.c: $(sort $(wildcard $(src)/certs/*.hex))
        @$(kecho) "  GEN     $@"
        $(Q)(echo '#include "reg.h"'; \
          echo 'const u8 shipped_regdb_certs[] = {'; \
index 846e6ab9d5a9b660fd871a13c8f984260a1b105a..85e46dde2a5bd153bc2f7dee0737639bb76968c7 100644 (file)
@@ -239,7 +239,7 @@ quiet_cmd_rustsysroot = RUSTSYSROOT
        rm -rf $(objtree)/$(obj)/test; \
        mkdir -p $(objtree)/$(obj)/test; \
        cp -a $(rustc_sysroot) $(objtree)/$(obj)/test/sysroot; \
-       cp -r $(srctree)/$(src)/alloc/* \
+       cp -r $(src)/alloc/* \
                $(objtree)/$(obj)/test/sysroot/lib/rustlib/src/rust/library/alloc/src; \
        echo '\#!/bin/sh' > $(objtree)/$(obj)/test/rustc_sysroot; \
        echo "$(RUSTC) --sysroot=$(abspath $(objtree)/$(obj)/test/sysroot) \"\$$@\"" \
@@ -340,7 +340,7 @@ quiet_cmd_bindgen = BINDGEN $@
                $(bindgen_target_cflags) $(bindgen_target_extra)
 
 $(obj)/bindings/bindings_generated.rs: private bindgen_target_flags = \
-    $(shell grep -Ev '^#|^$$' $(srctree)/$(src)/bindgen_parameters)
+    $(shell grep -Ev '^#|^$$' $(src)/bindgen_parameters)
 $(obj)/bindings/bindings_generated.rs: private bindgen_target_extra = ; \
     sed -Ei 's/pub const RUST_CONST_HELPER_([a-zA-Z0-9_]*)/pub const \1/g' $@
 $(obj)/bindings/bindings_generated.rs: $(src)/bindings/bindings_helper.h \
@@ -348,7 +348,7 @@ $(obj)/bindings/bindings_generated.rs: $(src)/bindings/bindings_helper.h \
        $(call if_changed_dep,bindgen)
 
 $(obj)/uapi/uapi_generated.rs: private bindgen_target_flags = \
-    $(shell grep -Ev '^#|^$$' $(srctree)/$(src)/bindgen_parameters)
+    $(shell grep -Ev '^#|^$$' $(src)/bindgen_parameters)
 $(obj)/uapi/uapi_generated.rs: $(src)/uapi/uapi_helper.h \
     $(src)/bindgen_parameters FORCE
        $(call if_changed_dep,bindgen)
index 933f6c3fe6b04345d6b7df7945b4df66cd6e4f86..f054e0828f1379013a911083bbb5f944b994507d 100644 (file)
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 
-BPF_SAMPLES_PATH ?= $(abspath $(srctree)/$(src))
+BPF_SAMPLES_PATH ?= $(abspath $(src))
 TOOLS_PATH := $(BPF_SAMPLES_PATH)/../../tools
 
 pound := \#
index 9f7fe29dd7497c05cf94f5d3a683f029d83d10f6..c128ccd499745f6b7f5daf1c87fccad57770b042 100644 (file)
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 
-HID_SAMPLES_PATH ?= $(abspath $(srctree)/$(src))
+HID_SAMPLES_PATH ?= $(abspath $(src))
 TOOLS_PATH := $(HID_SAMPLES_PATH)/../../tools
 
 pound := \#
index 2f331879816b8e2bf6c07f98572cb7c4ac1fec36..faf37bafa3f811de039a5b9d8491c233368a78ec 100644 (file)
@@ -62,8 +62,7 @@ stringify = $(squote)$(quote)$1$(quote)$(squote)
 
 ###
 # The path to Kbuild or Makefile. Kbuild has precedence over Makefile.
-kbuild-dir = $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
-kbuild-file = $(or $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Makefile)
+kbuild-file = $(or $(wildcard $(src)/Kbuild),$(src)/Makefile)
 
 ###
 # Read a file, replacing newlines with spaces
index 8d01b37b76775af08e6aedfbaa6eef68f028a517..1486abf34c7c9063fa9ffc0a417ddb64f5b346a1 100644 (file)
@@ -9,7 +9,7 @@
 PHONY := all
 all:
 
-src := $(subst /generated,,$(obj))
+src := $(srctree)/$(subst /generated,,$(obj))
 
 include $(srctree)/scripts/Kbuild.include
 -include $(kbuild-file)
@@ -20,14 +20,14 @@ include $(srctree)/$(generic)/Kbuild
 endif
 
 redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
-redundant += $(foreach f, $(generic-y), $(if $(wildcard $(srctree)/$(src)/$(f)),$(f)))
+redundant += $(foreach f, $(generic-y), $(if $(wildcard $(src)/$(f)),$(f)))
 redundant := $(sort $(redundant))
 $(if $(redundant),\
        $(warning redundant generic-y found in $(src)/Kbuild: $(redundant)))
 
 # If arch does not implement mandatory headers, fallback to asm-generic ones.
 mandatory-y := $(filter-out $(generated-y), $(mandatory-y))
-generic-y   += $(foreach f, $(mandatory-y), $(if $(wildcard $(srctree)/$(src)/$(f)),,$(f)))
+generic-y   += $(foreach f, $(mandatory-y), $(if $(wildcard $(src)/$(f)),,$(f)))
 
 generic-y   := $(addprefix $(obj)/, $(generic-y))
 generated-y := $(addprefix $(obj)/, $(generated-y))
index 41138346afb01fe79290ec21a4aa771d073d5404..43b71c3d0ff62c6f6e42071882c61548a933e6c4 100644 (file)
@@ -3,7 +3,7 @@
 # Building
 # ==========================================================================
 
-src := $(obj)
+src := $(if $(VPATH),$(VPATH)/)$(obj)
 
 PHONY := $(obj)/
 $(obj)/:
index f2cb4d7ffd962dba8944a4709c786a9421dd6c09..4fcfab40ed61a8fa148601272c8bb3ab24122907 100644 (file)
@@ -3,7 +3,7 @@
 # Cleaning up
 # ==========================================================================
 
-src := $(obj)
+src := $(if $(VPATH),$(VPATH)/)$(obj)
 
 PHONY := __clean
 __clean:
index 42d3c772c8e066cb36b2b4de4987154f1f190b91..08d42e93bea02f87282db20ad414e6722c4bc377 100644 (file)
@@ -209,13 +209,13 @@ _c_flags += $(if $(patsubst n%,, \
        -D__KCSAN_INSTRUMENT_BARRIERS__)
 endif
 
-# $(srctree)/$(src) for including checkin headers from generated source files
-# $(objtree)/$(obj) for including generated headers from checkin source files
+# $(src) for including checkin headers from generated source files
+# $(obj) for including generated headers from checkin source files
 ifeq ($(KBUILD_EXTMOD),)
 ifdef building_out_of_srctree
-_c_flags   += $(addprefix -I $(srctree)/,$(src)) $(addprefix -I $(objtree)/,$(obj))
-_a_flags   += $(addprefix -I $(srctree)/,$(src)) $(addprefix -I $(objtree)/,$(obj))
-_cpp_flags += $(addprefix -I $(srctree)/,$(src)) $(addprefix -I $(objtree)/,$(obj))
+_c_flags   += $(addprefix -I, $(src) $(obj))
+_a_flags   += $(addprefix -I, $(src) $(obj))
+_cpp_flags += $(addprefix -I, $(src) $(obj))
 endif
 endif
 
index 739402f4550979850d71dcdc31649f4daac9d44d..68c4f9ee0c909b97fe24bccf9150c8383c2849d3 100644 (file)
@@ -112,7 +112,7 @@ else
 
 # set src + obj - they may be used in the modules's Makefile
 obj := $(KBUILD_EXTMOD)
-src := $(obj)
+src := $(if $(VPATH),$(VPATH)/)$(obj)
 
 # Include the module's Makefile to find KBUILD_EXTRA_SYMBOLS
 include $(kbuild-file)
index 4d32b9497da94d7ce403bc9155882b58016c7d56..a186570725412f80f4d89df7ebd190ee5e8c01ab 100644 (file)
@@ -16,12 +16,12 @@ libfdt              = $(addprefix libfdt/,$(libfdt-objs))
 fdtoverlay-objs        := $(libfdt) fdtoverlay.o util.o
 
 # Source files need to get at the userspace version of libfdt_env.h to compile
-HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt
+HOST_EXTRACFLAGS += -I $(src)/libfdt
 HOST_EXTRACFLAGS += -DNO_YAML
 
 # Generated files need one more search path to include headers in source tree
-HOSTCFLAGS_dtc-lexer.lex.o := -I $(srctree)/$(src)
-HOSTCFLAGS_dtc-parser.tab.o := -I $(srctree)/$(src)
+HOSTCFLAGS_dtc-lexer.lex.o := -I $(src)
+HOSTCFLAGS_dtc-parser.tab.o := -I $(src)
 
 # dependencies on generated files need to be listed explicitly
 $(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h
index 48941faa6ea696a77fe2e54dfda43d9a8ac885cc..d77ad9079d0f92e2bb8065717e928fc40db5431a 100644 (file)
@@ -2,7 +2,7 @@
 
 ifdef building_out_of_srctree
 
-symlinks := $(patsubst $(srctree)/$(src)/%,%,$(wildcard $(srctree)/$(src)/*.py))
+symlinks := $(patsubst $(src)/%,%,$(wildcard $(src)/*.py))
 
 quiet_cmd_symlink = SYMLINK $@
       cmd_symlink = ln -fsn $(patsubst $(obj)/%,$(abspath $(srctree))/$(src)/%,$@) $@
index d6a422a63b6ad8535618b4735e9b5d6a5cacf3b7..312edccda73636347d01d0a58c525fe61888d18b 100644 (file)
@@ -23,8 +23,8 @@ $(obj)/pars%.tab.c $(obj)/pars%.tab.h: $(src)/pars%.y FORCE
 endif
 
 # -I needed for generated C source to include headers in source tree
-HOSTCFLAGS_parse.tab.o := -I $(srctree)/$(src)
-HOSTCFLAGS_lex.lex.o := -I $(srctree)/$(src)
+HOSTCFLAGS_parse.tab.o := -I $(src)
+HOSTCFLAGS_lex.lex.o := -I $(src)
 
 # dependencies on generated files need to be listed explicitly
 $(obj)/lex.lex.o: $(obj)/parse.tab.h
index ea1bf3b3dbde1bc463abbc8640537f873adc830f..a0a0be38cbdc14a4b617eff7e7719f844eca9224 100644 (file)
@@ -57,7 +57,7 @@ $(foreach c, config menuconfig nconfig gconfig xconfig, $(eval $(call config_rul
 
 PHONY += localmodconfig localyesconfig
 localyesconfig localmodconfig: $(obj)/conf
-       $(Q)$(PERL) $(srctree)/$(src)/streamline_config.pl --$@ $(srctree) $(Kconfig) > .tmp.config
+       $(Q)$(PERL) $(src)/streamline_config.pl --$@ $(srctree) $(Kconfig) > .tmp.config
        $(Q)if [ -f .config ]; then                             \
                cmp -s .tmp.config .config ||                   \
                (mv -f .config .config.old.1;                   \
@@ -118,7 +118,7 @@ tinyconfig:
 # CHECK: -o cache_dir=<path> working?
 PHONY += testconfig
 testconfig: $(obj)/conf
-       $(Q)$(PYTHON3) -B -m pytest $(srctree)/$(src)/tests \
+       $(Q)$(PYTHON3) -B -m pytest $(src)/tests \
        -o cache_dir=$(abspath $(obj)/tests/.cache) \
        $(if $(findstring 1,$(KBUILD_VERBOSE)),--capture=no)
 clean-files += tests/.cache
@@ -165,8 +165,8 @@ common-objs := confdata.o expr.o lexer.lex.o menu.o parser.tab.o \
                   preprocess.o symbol.o util.o
 
 $(obj)/lexer.lex.o: $(obj)/parser.tab.h
-HOSTCFLAGS_lexer.lex.o := -I $(srctree)/$(src)
-HOSTCFLAGS_parser.tab.o        := -I $(srctree)/$(src)
+HOSTCFLAGS_lexer.lex.o := -I $(src)
+HOSTCFLAGS_parser.tab.o        := -I $(src)
 
 # conf: Used for defconfig, oldconfig and related targets
 hostprogs      += conf
index 884ff155edc3929eff38bd084ba8893af86b6b17..55c67b9846a932d836ade6d6f0864820426bdbe7 100644 (file)
@@ -11,7 +11,7 @@ quiet_cmd_policy = POLICY  $@
        printf '\t"";\n';) \
        } > $@
 
-$(obj)/builtin-policy.h: $(wildcard $(obj)/policy/*.conf $(srctree)/$(src)/policy/*.conf.default) FORCE
+$(obj)/builtin-policy.h: $(wildcard $(obj)/policy/*.conf $(src)/policy/*.conf.default) FORCE
        $(call if_changed,policy)
 
 ifndef CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING
index f8e1ad19e05c4f3779c39960884ae1b776cceb5a..132ef7e96e6d5da8cbf4ebc3ddf24f5632f1ed5f 100644 (file)
@@ -22,7 +22,7 @@ cpio-data :=
 # If CONFIG_INITRAMFS_SOURCE is empty, generate a small initramfs with the
 # default contents.
 ifeq ($(ramfs-input),)
-ramfs-input := $(srctree)/$(src)/default_cpio_list
+ramfs-input := $(src)/default_cpio_list
 endif
 
 ifeq ($(words $(ramfs-input)),1)
index 338c81f1fcf310e0a031741167d24d73957bd7d2..771e32872b2ab12df289c8572e403c9d842c7237 100644 (file)
@@ -78,7 +78,7 @@ quiet_cmd_hdrtest = HDRTEST $<
       cmd_hdrtest = \
                $(CC) $(c_flags) -fsyntax-only -x c /dev/null \
                        $(if $(filter-out $(no-header-test), $*.h), -include $< -include $<); \
-               $(PERL) $(srctree)/$(src)/headers_check.pl $(obj) $(SRCARCH) $<; \
+               $(PERL) $(src)/headers_check.pl $(obj) $(SRCARCH) $<; \
                touch $@
 
 $(obj)/%.hdrtest: $(obj)/%.h FORCE