From: Rob Herring <robh@kernel.org>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] kbuild: use $(src) instead of $(srctree)/$(src) for source directory
Date: Thu, 18 Apr 2024 08:43:37 -0500 [thread overview]
Message-ID: <20240418134337.GA1174228-robh@kernel.org> (raw)
In-Reply-To: <20240416121838.95427-5-masahiroy@kernel.org>
On Tue, Apr 16, 2024 at 09:18:38PM +0900, Masahiro Yamada wrote:
> 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 match the directory in the source tree. It still works because the
> top Makefile sets VPATH to $(srctree). However, VPATH does not cover
> all cases. There are many places where the exact path to the source
> directory is needed. For example, when adding a header search path for
> local headers, it is typical to pass -I$(srctree)/$(src) to the compiler.
>
> However, it introduces inconsistency between upstream Makefiles and
> downstream Makefiles; when the source directory path is needed,
> $(srctree)/$(src) is used in the upstream kernel, while $(src) is used
> in external modules.
>
> To resolve the distortion, 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 work as follows:
>
> $(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
>
> This is a tweewide Makefile conversion for replacing $(srctree)/$(src)
> with $(src).
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
>
> Documentation/Makefile | 8 ++++----
> Documentation/devicetree/bindings/Makefile | 10 +++++-----
Acked-by: Rob Herring (Arm) <robh@kernel.org>
However, this is going to conflict with my series here[1]. Can you pick
it up?
Rob
[1] https://lore.kernel.org/all/20240405-dt-kbuild-rework-v2-0-3a035caee357@kernel.org/
next prev parent reply other threads:[~2024-04-18 13:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-16 12:18 [PATCH 0/4] kbuild: replace $(srctree)/$(src) with $(src) in Makefiles Masahiro Yamada
2024-04-16 12:18 ` [PATCH 1/4] arch: use $(obj)/ instead of $(src)/ for preprocessed linker scripts Masahiro Yamada
2024-04-19 14:59 ` Nicolas Schier
2024-04-16 12:18 ` [PATCH 2/4] Makefile: remove some unnecessary header include paths Masahiro Yamada
2024-04-19 15:07 ` Nicolas Schier
2024-04-20 7:46 ` Masahiro Yamada
2024-04-16 12:18 ` [PATCH 3/4] kbuild: use $(obj)/ instead of $(src)/ for pattern rules for %.[cS] Masahiro Yamada
2024-04-19 15:09 ` Nicolas Schier
2024-04-16 12:18 ` [PATCH 4/4] kbuild: use $(src) instead of $(srctree)/$(src) for source directory Masahiro Yamada
2024-04-16 22:45 ` kernel test robot
2024-04-17 4:19 ` kernel test robot
2024-04-18 13:43 ` Rob Herring [this message]
2024-04-19 15:09 ` Nicolas Schier
2024-04-20 8:56 ` Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240418134337.GA1174228-robh@kernel.org \
--to=robh@kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox