[PATCH 1/3] Makefile: clean auto-generated *.c files properly

Ivan Orlov ivan.orlov0322 at gmail.com
Tue Apr 23 07:58:26 PDT 2024


On 4/22/24 16:19, Andrew Jones wrote:
> On Mon, Apr 01, 2024 at 10:34:36PM +0100, Ivan Orlov wrote:
>> Currently, `make clean` doesn't remove auto-generated .c files in the
>> `build/` directory. It means that we don't have a reliable way of
>> regenerating these files except from removing the `build/` directory
>> manually.
>>
>> Update the `clean` target in order to remove these files as well.
>>
>> In the discussion of the "[PATCH v2 3/5] Makefile: clean '.c' files
>> generated by carray", Andrew Jones <ajones at ventanamicro.com> suggested
>> placing the auto-generated .c files into the `build/generated/` folder.
>> However, I believe it may not be necessary as in fact all of the files
>> in `build/` are auto-generated.
> 
> Since the Makefile enforces that the build dir is not the same as the
> source dir and the only C files we currently generate are carray files,
> then OK. I still think it would be nice to be more specific about what
> we clean, though.
> 

Hi Andrew,

Thank you very much for the review!

I see a few approaches how we could make the CArray-generated files 
cleaning more clear. I believe we could either put all of the 
CArray-generated files into a subdirectory of `build/` (as you 
suggested) or add a suffix to a filename of an auto-generated .c file 
(for instance, sbi_unit_tests.carray -> sbi_unit_tests_carray.c, and the 
pattern for `make clean` would be like "rm -rf build/*_carray.c").

The former would probably need significant update of the Makefile. The 
latter, on the other hand, seems more flaky... What do you think of that?

-- 
Kind regards,
Ivan Orlov




More information about the opensbi mailing list