summaryrefslogtreecommitdiff
path: root/tools/build
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2015-09-23 12:33:59 +0200
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-09-28 15:50:55 -0300
commit275e2d95591e2714d6b541d4e26959381d6b2705 (patch)
tree5f2aea548b93575f93175d07ea69c184c9f52a94 /tools/build
parent9f7ef9854e800bc3bab3d9a527e8f8f960eec1a6 (diff)
downloadlinux-sh-275e2d95591e2714d6b541d4e26959381d6b2705.tar.gz
tools build: Move dependency copy into function
So it's easier to add more functionality in the following commit. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1443004442-32660-5-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/build')
-rw-r--r--tools/build/Build.include11
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/build/Build.include b/tools/build/Build.include
index 4c8daaccb82a..851c420098e7 100644
--- a/tools/build/Build.include
+++ b/tools/build/Build.include
@@ -55,14 +55,19 @@ make-cmd = $(call escsq,$(subst \#,\\\#,$(subst $$,$$$$,$(cmd_$(1)))))
any-prereq = $(filter-out $(PHONY),$?) $(filter-out $(PHONY) $(wildcard $^),$^)
###
+# Copy dependency data into .cmd file
+# - gcc -M dependency info
+# - command line to create object 'cmd_object :='
+dep-cmd = cat $(depfile) > $(dot-target).cmd; \
+ printf '%s\n' 'cmd_$@ := $(make-cmd)' >> $(dot-target).cmd
+
+###
# if_changed_dep - execute command if any prerequisite is newer than
# target, or command line has changed and update
# dependencies in the cmd file
if_changed_dep = $(if $(strip $(any-prereq) $(arg-check)), \
@set -e; \
- $(echo-cmd) $(cmd_$(1)); \
- cat $(depfile) > $(dot-target).cmd; \
- printf '%s\n' 'cmd_$@ := $(make-cmd)' >> $(dot-target).cmd)
+ $(echo-cmd) $(cmd_$(1)) && $(dep-cmd))
# if_changed - execute command if any prerequisite is newer than
# target, or command line has changed