diff mbox series

[RFC,1/3] build: add trailing slash to $(srctree)

Message ID b3207b3dc5df34b43e1aa40a91e255ab9ae069a4.1708478592.git.ehem+linux@m5p.com (mailing list archive)
State New, archived
Headers show
Series Adding trailing slash to $(srctree) | expand

Commit Message

Elliott Mitchell Feb. 20, 2024, 5:13 p.m. UTC
This better handles the case of $(srctree) being the current directory
and $(src) being an absolute path.  Instead of being ".", $(srctree)
ends up empty, and $(src) can be directly appended.

Signed-off-by: Elliott Mitchell <ehem+linux@m5p.com>
---
I suspect the Makefile sections besides the top-level are attempting to
solve the *exact* *same* issue.  Problem is that workaround requires
changes in every Makefile, whereas this looks closer to the root cause.

I'm less than 100% sure I've avoided all spacing changes.  I forget
where, but I seem to recall running into a space which was instead a tab.
---
 Makefile                                    | 8 ++++----
 tools/bootconfig/Makefile                   | 4 ++--
 tools/bpf/Makefile                          | 4 ++--
 tools/bpf/bpftool/Makefile                  | 6 +++---
 tools/build/Makefile                        | 4 ++--
 tools/counter/Makefile                      | 4 ++--
 tools/gpio/Makefile                         | 4 ++--
 tools/hv/Makefile                           | 4 ++--
 tools/iio/Makefile                          | 4 ++--
 tools/include/nolibc/Makefile               | 2 +-
 tools/lib/api/Makefile                      | 6 +++---
 tools/lib/bpf/Makefile                      | 6 +++---
 tools/lib/perf/Makefile                     | 6 +++---
 tools/lib/subcmd/Makefile                   | 6 +++---
 tools/lib/symbol/Makefile                   | 6 +++---
 tools/lib/thermal/Makefile                  | 6 +++---
 tools/objtool/Makefile                      | 4 ++--
 tools/pci/Makefile                          | 4 ++--
 tools/perf/Makefile.perf                    | 4 ++--
 tools/power/acpi/Makefile.config            | 4 ++--
 tools/power/x86/intel-speed-select/Makefile | 8 ++++----
 tools/spi/Makefile                          | 4 ++--
 tools/testing/selftests/nolibc/Makefile     | 2 +-
 tools/thermal/lib/Makefile                  | 6 +++---
 tools/thermal/thermal-engine/Makefile       | 6 +++---
 tools/thermal/thermometer/Makefile          | 6 +++---
 tools/usb/Makefile                          | 4 ++--
 27 files changed, 66 insertions(+), 66 deletions(-)
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 41fa8a2565f5..a957ffe04647 100644
--- a/Makefile
+++ b/Makefile
@@ -246,20 +246,20 @@  else # need-sub-make
 
 ifeq ($(abs_srctree),$(abs_objtree))
         # building in the source tree
-        srctree := .
+        srctree := ./
 	building_out_of_srctree :=
 else
         ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
                 # building in a subdirectory of the source tree
-                srctree := ..
+                srctree := ../
         else
-                srctree := $(abs_srctree)
+                srctree := $(abs_srctree)/
         endif
 	building_out_of_srctree := 1
 endif
 
 ifneq ($(KBUILD_ABS_SRCTREE),)
-srctree := $(abs_srctree)
+srctree := $(abs_srctree)/
 endif
 
 objtree		:= .
diff --git a/tools/bootconfig/Makefile b/tools/bootconfig/Makefile
index 566c3e0ee561..605c0798a83d 100644
--- a/tools/bootconfig/Makefile
+++ b/tools/bootconfig/Makefile
@@ -5,8 +5,8 @@  include ../scripts/Makefile.include
 bindir ?= /usr/bin
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 LIBSRC = $(srctree)/lib/bootconfig.c $(srctree)/include/linux/bootconfig.h
diff --git a/tools/bpf/Makefile b/tools/bpf/Makefile
index 243b79f2b451..b12ff0126cf6 100644
--- a/tools/bpf/Makefile
+++ b/tools/bpf/Makefile
@@ -23,8 +23,8 @@  ifndef building_out_of_srctree
 update_srctree := 1
 endif
 ifeq ($(update_srctree),1)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 ifeq ($(V),1)
diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
index e9154ace80ff..34b55ae53d0a 100644
--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -2,9 +2,9 @@ 
 include ../../scripts/Makefile.include
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 ifeq ($(V),1)
diff --git a/tools/build/Makefile b/tools/build/Makefile
index 17cdf01e29a0..cdebad6f1bfb 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -1,7 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 include $(srctree)/tools//scripts/Makefile.include
diff --git a/tools/counter/Makefile b/tools/counter/Makefile
index d82d35a520f6..3d23639fa8fc 100644
--- a/tools/counter/Makefile
+++ b/tools/counter/Makefile
@@ -4,8 +4,8 @@  include ../scripts/Makefile.include
 bindir ?= /usr/bin
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 # Do not use make's built-in rules
diff --git a/tools/gpio/Makefile b/tools/gpio/Makefile
index d29c9c49e251..0828ee9e8a16 100644
--- a/tools/gpio/Makefile
+++ b/tools/gpio/Makefile
@@ -8,8 +8,8 @@  bindir ?= /usr/bin
 # is set to ".". building_out_of_srctree is undefined for in srctree
 # builds
 ifndef building_out_of_srctree
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 # Do not use make's built-in rules
diff --git a/tools/hv/Makefile b/tools/hv/Makefile
index fe770e679ae8..6b9f42743c57 100644
--- a/tools/hv/Makefile
+++ b/tools/hv/Makefile
@@ -7,8 +7,8 @@  libexecdir ?= /usr/libexec
 sharedstatedir ?= /var/lib
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 # Do not use make's built-in rules
diff --git a/tools/iio/Makefile b/tools/iio/Makefile
index fa720f062229..f4f64a152457 100644
--- a/tools/iio/Makefile
+++ b/tools/iio/Makefile
@@ -4,8 +4,8 @@  include ../scripts/Makefile.include
 bindir ?= /usr/bin
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 # Do not use make's built-in rules
diff --git a/tools/include/nolibc/Makefile b/tools/include/nolibc/Makefile
index e69c26abe1ea..372a17bf7d36 100644
--- a/tools/include/nolibc/Makefile
+++ b/tools/include/nolibc/Makefile
@@ -4,7 +4,7 @@  include ../../scripts/Makefile.include
 
 # we're in ".../tools/include/nolibc"
 ifeq ($(srctree),)
-srctree := $(patsubst %/tools/include/,%,$(dir $(CURDIR)))
+srctree := $(patsubst %tools/include/,%,$(dir $(CURDIR)))
 endif
 
 # when run as make -C tools/ nolibc_<foo> the arch is not set
diff --git a/tools/lib/api/Makefile b/tools/lib/api/Makefile
index 044860ac1ed1..74e774984d83 100644
--- a/tools/lib/api/Makefile
+++ b/tools/lib/api/Makefile
@@ -3,9 +3,9 @@  include ../../scripts/Makefile.include
 include ../../scripts/utilities.mak		# QUIET_CLEAN
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 #$(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
index 4be7144e4803..66970cf138fc 100644
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
@@ -18,9 +18,9 @@  MAKEFLAGS += --no-print-directory
 # is a ".". building_out_of_srctree is undefined for in srctree
 # builds
 ifndef building_out_of_srctree
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 #$(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/lib/perf/Makefile b/tools/lib/perf/Makefile
index 3a9b2140aa04..3e998b2af153 100644
--- a/tools/lib/perf/Makefile
+++ b/tools/lib/perf/Makefile
@@ -8,9 +8,9 @@  LIBPERF_EXTRAVERSION = 1
 MAKEFLAGS += --no-print-directory
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 #$(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/lib/subcmd/Makefile b/tools/lib/subcmd/Makefile
index b87213263a5e..fdd0bf03fd6d 100644
--- a/tools/lib/subcmd/Makefile
+++ b/tools/lib/subcmd/Makefile
@@ -3,9 +3,9 @@  include ../../scripts/Makefile.include
 include ../../scripts/utilities.mak		# QUIET_CLEAN
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 #$(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/lib/symbol/Makefile b/tools/lib/symbol/Makefile
index 13d43c6f92b4..1f2390d1c0e0 100644
--- a/tools/lib/symbol/Makefile
+++ b/tools/lib/symbol/Makefile
@@ -3,9 +3,9 @@  include ../../scripts/Makefile.include
 include ../../scripts/utilities.mak		# QUIET_CLEAN
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 #$(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/lib/thermal/Makefile b/tools/lib/thermal/Makefile
index 2d0d255fd0e1..8c78b2540156 100644
--- a/tools/lib/thermal/Makefile
+++ b/tools/lib/thermal/Makefile
@@ -8,9 +8,9 @@  LIBTHERMAL_EXTRAVERSION = 1
 MAKEFLAGS += --no-print-directory
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 # $(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile
index 83b100c1e7f6..714bf362b59c 100644
--- a/tools/objtool/Makefile
+++ b/tools/objtool/Makefile
@@ -3,8 +3,8 @@  include ../scripts/Makefile.include
 include ../scripts/Makefile.arch
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 LIBSUBCMD_DIR = $(srctree)/tools/lib/subcmd/
diff --git a/tools/pci/Makefile b/tools/pci/Makefile
index 57744778b518..913c9d29bfb2 100644
--- a/tools/pci/Makefile
+++ b/tools/pci/Makefile
@@ -4,8 +4,8 @@  include ../scripts/Makefile.include
 bindir ?= /usr/bin
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 # Do not use make's built-in rules
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index f8774a9b1377..4ff08babcecc 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -144,8 +144,8 @@  LC_NUMERIC=C
 export LC_COLLATE LC_NUMERIC
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 #$(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/power/acpi/Makefile.config b/tools/power/acpi/Makefile.config
index cd7106876a5f..7df61e8ad7be 100644
--- a/tools/power/acpi/Makefile.config
+++ b/tools/power/acpi/Makefile.config
@@ -6,8 +6,8 @@ 
 #
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(shell pwd)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 #$(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/power/x86/intel-speed-select/Makefile b/tools/power/x86/intel-speed-select/Makefile
index 7221f2f55e8b..fcb13e08effe 100644
--- a/tools/power/x86/intel-speed-select/Makefile
+++ b/tools/power/x86/intel-speed-select/Makefile
@@ -4,10 +4,10 @@  include ../../../scripts/Makefile.include
 bindir ?= /usr/bin
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 # Do not use make's built-in rules
diff --git a/tools/spi/Makefile b/tools/spi/Makefile
index 7fccd245a535..c511864f270b 100644
--- a/tools/spi/Makefile
+++ b/tools/spi/Makefile
@@ -4,8 +4,8 @@  include ../scripts/Makefile.include
 bindir ?= /usr/bin
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
 endif
 
 # Do not use make's built-in rules
diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
index 40dd95228051..acfd59dcba56 100644
--- a/tools/testing/selftests/nolibc/Makefile
+++ b/tools/testing/selftests/nolibc/Makefile
@@ -13,7 +13,7 @@  endif
 
 # we're in ".../tools/testing/selftests/nolibc"
 ifeq ($(srctree),)
-srctree := $(patsubst %/tools/testing/selftests/,%,$(dir $(CURDIR)))
+srctree := $(patsubst %tools/testing/selftests/,%,$(dir $(CURDIR)))
 endif
 
 ifeq ($(ARCH),)
diff --git a/tools/thermal/lib/Makefile b/tools/thermal/lib/Makefile
index 82db451935c5..f5323c5a9ca0 100644
--- a/tools/thermal/lib/Makefile
+++ b/tools/thermal/lib/Makefile
@@ -8,9 +8,9 @@  LIBTHERMAL_TOOLS_EXTRAVERSION = 1
 MAKEFLAGS += --no-print-directory
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 # $(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/thermal/thermal-engine/Makefile b/tools/thermal/thermal-engine/Makefile
index 6bd05ff89485..5bc3bc70a418 100644
--- a/tools/thermal/thermal-engine/Makefile
+++ b/tools/thermal/thermal-engine/Makefile
@@ -2,9 +2,9 @@ 
 # Makefile for thermal tools
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 # $(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/thermal/thermometer/Makefile b/tools/thermal/thermometer/Makefile
index d8f8bc82fe3b..624359d3503c 100644
--- a/tools/thermal/thermometer/Makefile
+++ b/tools/thermal/thermometer/Makefile
@@ -2,9 +2,9 @@ 
 # Makefile for cgroup tools
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=%))
+srctree := $(dir $(srctree:%/=%))
 # $(info Determined 'srctree' to be $(srctree))
 endif
 
diff --git a/tools/usb/Makefile b/tools/usb/Makefile
index c6235667dd46..6f80415d04be 100644
--- a/tools/usb/Makefile
+++ b/tools/usb/Makefile
@@ -5,8 +5,8 @@  include ../scripts/Makefile.include
 bindir ?= /usr/bin
 
 ifeq ($(srctree),)
-srctree := $(patsubst %/,%,$(dir $(CURDIR)))
-srctree := $(patsubst %/,%,$(dir $(srctree)))
+srctree := $(dir $(CURDIR))
+srctree := $(dir $(srctree:%/=$))
 endif
 
 # Do not use make's built-in rules