From: 张忠山 <zzs213@xxxxxxx> Whan add some obj in a subdir to lwl-y or pbl-y, like this: lwl-y += subdir/test.o other.o the make process failed: make[2]: *** No rule to make target 'arch/arm/boards/boardname/test.o', \ needed by 'arch/arm/boards/boardname/built-in-pbl.o'. Stop. Note, there are not the part "subdir" in the path of the test.o. this patch fix this Signed-off-by: 张忠山 <zzs213@xxxxxxx> --- scripts/Makefile.lib | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 27365d8..73b9c57 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -39,10 +39,9 @@ endif obj-y += $(obj-pbl-y) pbl-y += $(obj-pbl-y) -# for non dirs add pbl- prefix to the target -# so we recompile the source with custom flags and custom quiet -__pbl-y := $(notdir $(pbl-y)) -pbl-y := $(patsubst %.o,pbl-%.o,$(__pbl-y)) +# add pbl- prefix to the target +pbl-y := $(shell echo $(pbl-y) | sed -e 's%\(\([^ \t]\+/\)*\)\([^ \t]*.o\)%\2pbl-\3%g') + # add subdir from $(obj-y) too so we do not need to have the dir define in # both $(obj-y) and $(pbl-y) __pbl-y := $(filter-out $(pbl-y), $(filter %/, $(obj-y))) -- 1.9.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox