[PATCH] Do not rm the path from pbl-y target

zzs213 at 126.com zzs213 at 126.com
Fri Jun 24 20:35:59 PDT 2016

From: 张忠山 <zzs213 at 126.com>

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 at 126.com>
 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)))

More information about the barebox mailing list