summaryrefslogtreecommitdiffstats
path: root/tools/perf/Makefile
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@redhat.com>2016-02-04 12:30:36 +0100
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-02-04 19:53:16 +0100
commit3e2751d9169563486c2bfe7382726f1315cb156b (patch)
tree8554164c23d57ecd5590b79ecfd7797730e7f1f9 /tools/perf/Makefile
parentperf config: Document 'record.build-id' variable in man page (diff)
downloadlinux-3e2751d9169563486c2bfe7382726f1315cb156b.tar.xz
linux-3e2751d9169563486c2bfe7382726f1315cb156b.zip
perf tools: Fix parallel build including 'clean' target
Do not parallelize 'clean' with other targets, figure out if it is present and do it first, then the other targets. Noticed with: tools/perf> make -j24 clean all LD arch/libperf-in.o LD plugin_xen-in.o arch//libperf-in.o: file not recognized: File truncated make[3]: *** [arch/libperf-in.o] Error 1 make[2]: *** [arch] Error 2 make[2]: *** Waiting for unfinished jobs.... AR libapi.a Reported-and-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Jiri Olsa <jolsa@redhat.com> Acked-by: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/n/tip-kb0qs29zbz7hxn32mc5zbsoz@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/Makefile')
-rw-r--r--tools/perf/Makefile14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 4b68f465195c..67837c6cdbd8 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -68,6 +68,20 @@ all tags TAGS:
$(print_msg)
$(make)
+ifdef MAKECMDGOALS
+has_clean := 0
+ifneq ($(filter clean,$(MAKECMDGOALS)),)
+ has_clean := 1
+endif # clean
+
+ifeq ($(has_clean),1)
+ rest := $(filter-out clean,$(MAKECMDGOALS))
+ ifneq ($(rest),)
+$(rest): clean
+ endif # rest
+endif # has_clean
+endif # MAKECMDGOALS
+
#
# The clean target is not really parallel, don't print the jobs info:
#