lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20101005192435.GA17798@haskell.muteddisk.com>
Date:	Tue, 5 Oct 2010 12:24:35 -0700
From:	matt mooney <mfm@...eddisk.com>
To:	Sam Ravnborg <sam@...nborg.org>
Cc:	Mauro Carvalho Chehab <mchehab@...radead.org>,
	Michal Marek <mmarek@...e.cz>, linux-media@...r.kernel.org,
	linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
	kernel-janitors@...r.kernel.org
Subject: Re: [RFC PATCH] media: consolidation of -I flags

On 16:29 Tue 05 Oct     , Sam Ravnborg wrote:
> 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.

Ah, I was not aware of that, and I forgot to test for that case.

> > 
> > 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.

I agree with all your points above; however, I was unsure of whether a wholesale
cleanup would be welcomed because I would then end up touching numerous lines
(and in some cases, possibly all lines). I did notice, though, the need for
quite a bit of cleanup like you have mentioned, and I have a few patches queued
up that make a second pass on some files changing <module>-objs to
<module>-y. You know better than I do, so if you feel I should cleanup the whole
file in one patch, then that is what I will do although this will take some
time.

Is the use of <module>-objs deprecated? Some people might wonder why I am
changing that when they are not building a multisource object.

Thanks,
mfm
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ