Commit 42abeef7e8df ("perf tools: Build syscall table .c header from
kernel's syscall_64.tbl") introduces archheaders dependency. It is
added to 'prepare', but not added directly to libperf-in.o, causes
following error:

 $ make -C ./tools/perf/ O=/tmp/xxxxx/ /tmp/xxxxx/libperf-in.o JOBS=1
 make: Entering directory `/xx/xx/tools/perf'
 BUILD:   Doing 'make -j1' parallel build

 Auto-detecting system features:
 ...                         dwarf: [ on  ]
 ...            dwarf_getlocations: [ on  ]
 <SNIP>
   CC       /tmp/xxxxx/util/map.o
   CC       /tmp/xxxxx/util/pstack.o
   CC       /tmp/xxxxx/util/session.o
   make[3]: *** No rule to make target 
`/tmp/xxxxx/arch/x86/include/generated/asm/syscalls_64.c', needed by 
`/tmp/xxxxx/util/syscalltbl.o'.  Stop.
   make[2]: *** [util] Error 2
   make[1]: *** [/tmp/xxxxx/libperf-in.o] Error 2
   make: *** [/tmp/xxxxx/libperf-in.o] Error 2
   make: Leaving directory `/home/w00229757/kernel-hydrogen/tools/perf'

In parallel building this missing dependency causes building error.

Add 'prepare' to libperf-in's dependency.

Signed-off-by: Wang Nan <wangn...@huawei.com>
Cc: Adrian Hunter <adrian.hun...@intel.com>
Cc: David Ahern <dsah...@gmail.com>
Cc: Jiri Olsa <jo...@kernel.org>
Cc: Namhyung Kim <namhy...@kernel.org>
---
 tools/perf/Makefile.perf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 1469aea..bde8cba 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -433,7 +433,7 @@ $(patsubst perf-%,%.o,$(PROGRAMS)): $(wildcard */*.h)
 
 LIBPERF_IN := $(OUTPUT)libperf-in.o
 
-$(LIBPERF_IN): fixdep FORCE
+$(LIBPERF_IN): prepare fixdep FORCE
        $(Q)$(MAKE) $(build)=libperf
 
 $(LIB_FILE): $(LIBPERF_IN)
-- 
1.8.3.4

Reply via email to