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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.