[U-Boot] [PATCH] punt unused clean/distclean targets
Graeme Russ
graeme.russ at gmail.com
Sun Sep 18 15:08:35 CEST 2011
On 18/09/11 18:22, Mike Frysinger wrote:
> On Sunday, September 18, 2011 03:26:38 Wolfgang Denk wrote:
>> Mike Frysinger wrote:
>>> The top level Makefile does not do any recursion into subdirs when
>>> cleaning, so these clean/distclean targets in random arch/board dirs
>>> never get used. Punt them all.
>>
>> I think this is the wrong approach. Would it not be better to get rid
>> of the 60 lines of clean/clobber target in the top level Makefile,
>> including it's brute force methods of "find ... | xargs rm -f" and
>> actually remove the files from the Makefiles in the respective
>> directories instead?
>>
>> This would for example allow that a board maintainer can fix the clean
>> / clobber rules for his code without having to edit the top level
>> Makefile.
>
> yes & no. i think we should have 1 clean/distclean target, but also have a
> way for board maintainers to inject their own custom clean files. preferably
> via a .mk file in their board subdir. this is moving in the direction of non-
> recursive make like the kernel does -- the top level would source all the
> subfiles to figure out the master clean list.
>
> however, the current build system has one advantage which i think we should
> retain in the short term: `make distclean` always cleans out the targets
> regardless of the current config. for example, if you do `make bf537-stamp`
> followed by `make harmony` followed by `make distclean`, Blackfin-specific
> objects will still get cleaned out.
Can we not have make distclean/mrproper traverse ALL arch/SoC/board
directories and call their distclean/mrproper? Or have distclean/mrproper
read the .mk file for all arch/SoC/board directories?
Sure, it would be a little slower, but IMHO one would expect a speed
penalty from distclean/mrproper
I think that over the course of the next few releases, we will see more and
more granulation of the code - more distinct boundaries put in place around
'arches', 'SoCs', 'boards', etc - making each less dependent on each other.
My nirvana is for the ability to create an entirely new
arch/SoC/board/driver/lib/whatever and have bare minimal (ideally zero)
impact on anyone else.
I mean, it irks me to no end that /common/serial.c, /drivers/serial.c and
/include/serial.h are such an ugly mess of #ifdef's - I'm working on a new
SoC at the moment, and it just plain weird that I have to touch these :(
Regards,
Graeme
More information about the U-Boot
mailing list