Subject: Re: [BUILD-FAILURE] linux-next: Tree for June 4 - firmware/keyspan/mpr.fw.gen.S

From: Sam Ravnborg <[email-masked]>
Date: Thu, 5 Jun 2008 12:44:34 +0200

On Thu, Jun 05, 2008 at 10:15:33AM +0100, David Woodhouse wrote:
> On Thu, 2008-06-05 at 11:13 +0200, Sam Ravnborg wrote:
> > On Wed, Jun 04, 2008 at 02:38:37PM +0100, David Woodhouse wrote:
> > > On Wed, 2008-06-04 at 17:16 +0530, Kamalesh Babulal wrote:
> > > > Hi Stephen,
> > > > 
> > > > The next-20080604 kernel build fails on the x86_64 machine
> > > > 
> > > > make[1]: *** No rule to make target `/usr/local/autobench/autotest/tmp/build/linux/$(dir)', needed by `firmware/keyspan/mpr.fw.gen.S'.  Stop.
> > > > make: *** [firmware] Error 2
> > > 
> > > Does this 'fix' it?
> > 
> > The correct fix is to get rid of make 3.81 features.
> > We do want the kernel buildable with make 3.79 and we have today only two
> > places where we do need a newer version of make:
> > 
> > 	scripts/Makefile.headerinst
> > and now
> > 	firmware/Makefile
> > 
> > Both places should be reworked to avoid this dependency.
> > I plan to take care of Makfile.headerinst soonish in an attempt
> > to speed up the checking process (has been on my TODO list for a long time),
> > 
> > And we should not introuduce the below make 3.81 specific feature.
> > I have not looked into alternative - sorry.
> 
> I've committed an alternative for firmware/Makefile.
> What's the problem in Makefile.headersinst?

It uses order-only in this line:
$(objhdr-y) $(subdir-y) $(header-y) $(unifdef-y): | $(INSTALL_HDR_PATH)/$(_dst) $(unwanted)

Not a big deal as this is only used during make headers_*

	Sam