[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20070504094740.GA23800@uranus.ravnborg.org>
Date: Fri, 4 May 2007 11:47:40 +0200
From: Sam Ravnborg <sam@...nborg.org>
To: Christian Hesse <mail@...thworm.de>
Cc: linux-kernel@...r.kernel.org,
James Ketrenos <jketreno@...ux.intel.com>
Subject: Re: build system: no module target ending with slash?
On Fri, May 04, 2007 at 10:56:14AM +0200, Christian Hesse wrote:
> Agreed that it is not really needed. But if you don't build it you should not
> try to link it later...
>
> > The quick-and-dirty workaround is to add a single
> > obj-n := xx
> > in mac80211/Makefile and kbuild is happy again.
> >
> > I could teach kbuild to create built-in.o also in the case
> > where we refer to a subdirectory only. But then we would end up with a
> > built-in.o in all directories where we have a kbuild MAkefile (almost) and
> > that is not desireable.
>
> I would prefer to teach it not to link object files that are not built.
But you already _told_ kbuild that mac80211/ would contain a built-in.o
using following statement in drivers/net/wireless/Makefile:
obj-y += mac80211/
Changing this to obj-$(CONFIG_IWLWIFI) += mac80211/ would
give kbuild the _correct_ info.
obj-m += dir/
tell kbuild this directory contains a module so it will descend and build
obj-y += dir/
tall kbuild that directory contains stuff to be built-in and _maybe_ a module so
it will descend and build.
Note that when kbuild has entered a subdirectory it has lost knowledge of _how_
it came there so if you have lied to kbuild it will not detect it.
So in your case you told kbuild that there is stuff to be build in
in the mac80211/ dir which was incorrect.
Sam
-
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