[PATCH 1/1] Kbuild: Fix cleanup of generated sources in tools

Simon Glass sjg at chromium.org
Thu Jun 15 11:14:30 CEST 2023


On Wed, 14 Jun 2023 at 12:40, Tobias Deiminger
<tobias.deiminger at linutronix.de> wrote:
>
> On 'make clean', generated C files in tools/env/ and tools/boot/ are
> currently not removed, but they should.
>
> Auto-generation for shared sources was first introduced with
> ad80c4a3220b ("kbuild, tools: generate wrapper C sources automatically
> by Makefile"). Cleanup later regressed (see Fixes:), because shared
> files were moved out of lib/ and common/, but 'clean-dirs := lib common'
> was not adjusted accordingly. Further, the generated
> tools/env/embedded.c became a sibling to project files, which prevents
> directory-wise cleanup at all.
>
> To solve it, we established tools/generated/ as the sole place for
> generated sources. Wrappers are now generated as
> tools/generated/<orig_dirname>/<orig_filename>, and 'make clean' can
> remove tools/generated/ as a whole (Linux Makefile.asm-generic headers
> are cleaned similarly). This way we don't have to maintain separate
> clean-files or clean-dirs entries for each single added or moved wrapper
> file.
>
> Fixes: 0649cd0d4908 ("Move environment files from common/ to env/")
> Fixes: 19a91f2464a8 ("Create a new boot/ directory")
> Signed-off-by: Tobias Deiminger <tobias.deiminger at linutronix.de>
> ---
>  tools/Makefile       | 64 ++++++++++++++++++++++----------------------
>  tools/env/.gitignore |  1 -
>  2 files changed, 32 insertions(+), 33 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>

If you like, it would be possible to create a test that all files are
removed, by doing a build and then looking for stray files. See for
example test_of_migrate.


More information about the U-Boot mailing list