On Mon, Dec 03, 2012 at 05:51:50PM +0800, 张忠山 wrote: > kbuild in barebox can't built when > > obj-y += foo/xxx.o > > But in kernel, It's OK > > Maybe it should: > > ---------------------------------------------------------- > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index cb46db2..14e471d 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -55,10 +55,10 @@ multi-objs-y := $(foreach m, $(multi-used-y), $($(m:.o=-objs)) $($(m:.o=-y))) > multi-objs-m := $(foreach m, $(multi-used-m), $($(m:.o=-objs)) $($(m:.o=-y))) > multi-objs := $(multi-objs-y) $(multi-objs-m) > > -# $(subdir-obj-y) is the list of objects in $(obj-y) which do not live > -# in the local directory > -__subdir-obj-y := $(foreach o,$(pbl-y),$(if $(filter-out $(o),$(notdir $(o))),$(o))) > -subdir-obj-y := $(foreach o,$(obj-y),$(if $(filter-out $(o),$(notdir $(o))),$(o))) > +# $(subdir-obj-y) is the list of objects in $(obj-y) which uses dir/ to > +# tell kbuild to descend > +__subdir-obj-y := $(filter %/built-in-pbl.o, $(pbl-y)) > +subdir-obj-y := $(filter %/built-in.o, $(obj-y)) > subdir-obj-y += $(__subdir-obj-y) > > # $(obj-dirs) is a list of directories that contain object files Seems you have that from the Kernel. Looks fine. Can you send a formal patch with you Signed-off and also an explanation on which original Kernel commit this is based on? Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox