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