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 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html