On Wed, 14 Jun 2023 at 12:40, Tobias Deiminger <tobias.deimin...@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.deimin...@linutronix.de> > --- > tools/Makefile | 64 ++++++++++++++++++++++---------------------- > tools/env/.gitignore | 1 - > 2 files changed, 32 insertions(+), 33 deletions(-)
Reviewed-by: Simon Glass <s...@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.