Re: [PATCH 4/4] kbuild: use $(src) instead of $(srctree)/$(src) for source directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> ---
> 
>  Documentation/Makefile                             |  8 ++++----
>  Documentation/devicetree/bindings/Makefile         | 10 +++++-----

Acked-by: Rob Herring (Arm) <robh@xxxxxxxxxx>

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@xxxxxxxxxx/





[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux