Re: [RFC PATCH] media: consolidation of -I flags

Sam Ravnborg
2010-10-05T14:29:06Z

On Sun, Sep 26, 2010 at 02:00:47PM -0700, matt mooney wrote:
> I have been doing cleanup of makefiles, namely replacing the older style
> compilation flag variables with the newer style. While doing this, I
> noticed that the majority of drivers in the media subsystem seem to rely
> on a few core header files:
>
> -Idrivers/media/video
> -Idrivers/media/common/tuners
> -Idrivers/media/dvb/dvb-core
> -Idrivers/media/dvb/frontends
>
> This patch removes them from the individual makefiles and puts them in
> the main makefile under media.
Using subdir-ccflags-y has one drawback you need to be aware of.
The variable is _not_ picked up if you build individual drivers like
this:

make drivers/media/dvb/b2c2/

So with this patch applied it is no longer possible to do so.
It is better to accept the duplication rather than breaking
the build of individual drivers.

>
> If neither idea is considered beneficial, I will go ahead and replace
> the older variables with the newer ones as is.

This is the right approach.

You could consider to do a more general cleanup:
1) replace EXTRA_CFLAGS with ccflags-y (the one you suggest)
2) replace use of <module>-objs with <module>-y
3) break continued lines into several assignments
People very often uses '\' to break long lines, where a
simple += would be much more readable.
But this topic may be personal - I never uses "\" in my .c code unless in macros,
and I have applied the same rule for Makefiles.
An ugly example is drivers/media/Makefile
4) In general use ":=" instead of "=".
Add using "+=" as first assignment is OK - but it just looks plain wrong
5) some files has a mixture of spaces/tabs (are red in my vim)
dvb-core/Makefile is one such example
6) remove useless stuff
siano/Makefile has some strange assignments to EXTRA_CFLAGS
7) Likely a few more items to look after...

This is more work - but then you finish a Makefile rather than doing a simple
conversion.

Sam