[PATCH] Makefile: add comment to discourage tools/* addition for kernel builds

Masahiro Yamada
2024-06-19T06:21:50Z

Kbuild provides scripts/Makefile.host to build host programs used for
building the kernel. Unfortunately, there are two exceptions that opt
out of Kbuild. The build system under tools/ is a cheesy replica, and
is always a disaster. I was recently poked about a problem in the tools
build issue, which I do not maintain (and nobody maintains). [1]

Without a comment, somebody might believe this is the right location
because that is where objtool lives, even when a more robust Kbuild
syntax satisfies their needs. [2]

[1]: https://lore.kernel.org/linux-kbuild/ZnIYWBgrJ-IJtqK8@google.com/T/#m8ece130dd0e23c6f2395ed89070161948dee8457
[2]: https://lore.kernel.org/all/20240618200501.GA1611012@google.com/

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

Makefile | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/Makefile b/Makefile
index 471f2df86422..ba070596ad4e 100644
--- a/Makefile
+++ b/Makefile
@@ -1331,6 +1331,11 @@ prepare: tools/bpf/resolve_btfids
endif
endif

+# README
+# The tools build system is not a part of Kbuild. Before adding yet another
+# tools/* here, please consider if the standard "hostprogs" syntax satisfies
+# your needs.
+
PHONY += resolve_btfids_clean

resolve_btfids_O = $(abspath $(objtree))/tools/bpf/resolve_btfids
--
2.43.0