kbuild: use $(obj)/ instead of $(src)/ for common pattern rules
authorMasahiro Yamada <masahiroy@kernel.org>
Sat, 27 Apr 2024 14:55:01 +0000 (23:55 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Thu, 9 May 2024 19:33:45 +0000 (04:33 +0900)
commit9a0ebe5011f49e932bb0a2cea2034fd65e6e567e
treec7c8b711a61233a0d918adb4a1182ecb8c501171
parent9dcb47a616d552306a01c2032b81c0c920b06847
kbuild: use $(obj)/ instead of $(src)/ for common pattern rules

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)

Before changing the semantics of $(src) in the next commit, this commit
replaces $(obj)/ with $(src)/ in pattern rules where the prerequisite
might be a generated file.

C, assembly, Rust, and DTS files are sometimes generated by tools, so
they could be either generated files or real sources. The $(obj)/ prefix
works for both cases with the help of VPATH.

As mentioned above, $(obj) and $(src) are the same at this point, hence
this commit has no functional change.

I did not modify scripts/Makefile.userprogs because there is no use
case where userspace C files are generated.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
scripts/Makefile.build
scripts/Makefile.host
scripts/Makefile.lib