Re: build system: no module target ending with slash?

From: Christian Hesse
Date: Thu May 03 2007 - 03:18:43 EST


On Thursday 03 May 2007, Sam Ravnborg wrote:
> On Thu, May 03, 2007 at 06:25:11AM +0200, Sam Ravnborg wrote:
> > On Thu, May 03, 2007 at 12:43:43AM +0200, Christian Hesse wrote:
> > > Hi James, hi everybody,
> > >
> > > playing with iwlwifi I try to patch it into the kernel and to build it
> > > from there. But I have a problem with the build system.
> > >
> > > The file drivers/net/wireless/mac80211/Makefile contains one single
> > > line:
> > >
> > > obj-$(CONFIG_IWLWIFI) += iwlwifi/
> > >
> > > When CONFIG_IWLWIFI=m in scripts/Makefile.lib line 29 the target is
> > > filtered as it ends with a slash. That results in
> > > drivers/net/wireless/mac80211/built-in.o not being built and the build
> > > process breaks with an error. What is the correct way to handle this?
> > > Why are targets ending with a slash filtered?
> >
> > Looks buggy. I will take a look tonight.
>
> After some coffee...
>
> Line 29 in Kbuild.include find all modules and a directory is not a module.
> In line 26 in same file the directory iwlwifi is included in the list
> of directories to visit.
> So there is something else going on.

In scripts/Kbuild.include line 26 is empty and line 29 is a comment... Do I
look at the wrong place?

I still believe in my version: built-in.o is built if any of $(obj-y) $(obj-m)
$(obj-n) $(obj-) $(lib-target) contains anything in scripts/Makefile.build
line 77. As scripts/Makefile.lib line 29 filters the only target the object
file is not built.

> Anywhere I can get access to the combined source or could you try to post
> the full Makefile.

I just generated a patch [0] against vanilla 2.6.21 with latest mac80211 and
iwlwifi from git. Get my config [1] and you should get my error.

[0] http://www.eworm.de/tmp/iwlwifi.patch.bz2
[1] http://www.eworm.de/tmp/config-iwlwifi-2.6.21
--
Regards,
Chris

Attachment: signature.asc
Description: This is a digitally signed message part.