diff options
Diffstat (limited to 'scripts/Kbuild.include')
-rw-r--r-- | scripts/Kbuild.include | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index 92ce94b58bd6..3e7e0b278b96 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include | |||
@@ -88,8 +88,7 @@ cc-ifversion = $(shell if [ $(call cc-version, $(CC)) $(1) $(2) ]; then \ | |||
88 | build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj | 88 | build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj |
89 | 89 | ||
90 | # If quiet is set, only print short version of command | 90 | # If quiet is set, only print short version of command |
91 | cmd = @$(if $($(quiet)cmd_$(1)),\ | 91 | cmd = @$(echo-cmd) $(cmd_$(1)) |
92 | echo ' $(call escsq,$($(quiet)cmd_$(1)))' &&) $(cmd_$(1)) | ||
93 | 92 | ||
94 | # Add $(obj)/ for paths that is not absolute | 93 | # Add $(obj)/ for paths that is not absolute |
95 | objectify = $(foreach o,$(1),$(if $(filter /%,$(o)),$(o),$(obj)/$(o))) | 94 | objectify = $(foreach o,$(1),$(if $(filter /%,$(o)),$(o),$(obj)/$(o))) |
@@ -112,24 +111,24 @@ endif | |||
112 | echo-cmd = $(if $($(quiet)cmd_$(1)), \ | 111 | echo-cmd = $(if $($(quiet)cmd_$(1)), \ |
113 | echo ' $(call escsq,$($(quiet)cmd_$(1)))';) | 112 | echo ' $(call escsq,$($(quiet)cmd_$(1)))';) |
114 | 113 | ||
114 | make-cmd = $(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))) | ||
115 | |||
115 | # function to only execute the passed command if necessary | 116 | # function to only execute the passed command if necessary |
116 | # >'< substitution is for echo to work, >$< substitution to preserve $ when reloading .cmd file | 117 | # >'< substitution is for echo to work, >$< substitution to preserve $ when reloading .cmd file |
117 | # note: when using inline perl scripts [perl -e '...$$t=1;...'] in $(cmd_xxx) double $$ your perl vars | 118 | # note: when using inline perl scripts [perl -e '...$$t=1;...'] in $(cmd_xxx) double $$ your perl vars |
118 | # | 119 | # |
119 | if_changed = $(if $(strip $? $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \ | 120 | if_changed = $(if $(strip $? $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \ |
120 | @set -e; \ | 121 | @set -e; \ |
121 | $(echo-cmd) \ | 122 | $(echo-cmd) $(cmd_$(1)); \ |
122 | $(cmd_$(1)); \ | 123 | echo 'cmd_$@ := $(make-cmd)' > $(@D)/.$(@F).cmd) |
123 | echo 'cmd_$@ := $(subst $$,$$$$,$(call escsq,$(cmd_$(1))))' > $(@D)/.$(@F).cmd) | ||
124 | 124 | ||
125 | # execute the command and also postprocess generated .d dependencies | 125 | # execute the command and also postprocess generated .d dependencies |
126 | # file | 126 | # file |
127 | if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\ | 127 | if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\ |
128 | $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \ | 128 | $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \ |
129 | @set -e; \ | 129 | @set -e; \ |
130 | $(echo-cmd) \ | 130 | $(echo-cmd) $(cmd_$(1)); \ |
131 | $(cmd_$(1)); \ | 131 | scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(@D)/.$(@F).tmp; \ |
132 | scripts/basic/fixdep $(depfile) $@ '$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))' > $(@D)/.$(@F).tmp; \ | ||
133 | rm -f $(depfile); \ | 132 | rm -f $(depfile); \ |
134 | mv -f $(@D)/.$(@F).tmp $(@D)/.$(@F).cmd) | 133 | mv -f $(@D)/.$(@F).tmp $(@D)/.$(@F).cmd) |
135 | 134 | ||