Re: [patch, rfc] kbuild: implement checksrc without buildingCources (was Re: CHECK without C compile?)

From: Randy Dunlap
Date: Tue Oct 24 2006 - 16:43:46 EST


On Tue, 24 Oct 2006 19:43:40 +0000 (UTC) Oleg Verych wrote:

> On 2006-10-24, Oleg Verych wrote:
> > On 2006-10-23, Randy Dunlap wrote:
> >> Hi Sam,
> >
> * It seems*
> >
> > + $(call if_changed_rule,cc_o_c) || \
> > + { echo $(@:.o=.ko); echo $@; } > $(MODVERDIR)/$(@F:.o=.mod)
>
> This doesn't work, use ifs instead. Updated.
> I have no idea what to do with generated sources and headers.
> One may be: check target `if_changed' to be %.c or %.h and let it be
> built.

Hi Oleg,

Yes, it works for me, with the exception of host-generated
files, as you mentioned. I ran into those with:
IKCONFIG (the one that you mentioned), ATM_FORE200E firmware,
IEEE 1394 OUI database (which I sent a patch for -- it should
not be generated when the config option is not enabled),
RAID456 tables, VIDEO_LOGO files, and CRC32 table.

Thanks for your time and effort. Maybe Sam will have some ideas.

> ____
> From: Oleg Verych <olecom@xxxxxxxxxxxxxx>
> Subject: [patch, rfc] kbuild: implement checksrc without building Cources
>
> Implementation of configured source chacking without actual building.
>
> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Signed-off-by: Oleg Verych <olecom@xxxxxxxxxxxxxx>
> ---
>
> Configured sources means, some config target must be run already.
> After that
> ,-<shell>
> | make prepare
> | make C=something_not_0,1,2 _target_
> `--
> should run _target_ with checking and without building.
>
> -o--=O`C /. .\
> #oo'L O o
> <___=E M ^--
>
> scripts/Kbuild.include | 6 +++---
> scripts/Makefile.build | 25 ++++++++++++++++---------
> 2 files changed, 19 insertions(+), 12 deletions(-)


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