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

Ben Dooks ben.dooks at codethink.co.uk
Tue Apr 23 08:15:11 PDT 2024


On 23/04/2024 15:58, Ivan Orlov wrote:
> 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?

How about using find to look for any .carray files and then work out
what the build filename to clean is from them?

-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

https://www.codethink.co.uk/privacy.html




More information about the opensbi mailing list