diff options
| author | Jan Beulich <jbeulich@novell.com> | 2006-01-30 10:04:27 +0100 | 
|---|---|---|
| committer | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-02-19 09:51:21 +0100 | 
| commit | 6176aa9ae4b83e1957d3031774f8a8e59ff97420 (patch) | |
| tree | 7b44789ab8d87f721c5d9fcd10a9a5cb0e5d65d1 /scripts/Kbuild.include | |
| parent | 20a468b51325b3636785a8ca0047ae514b39cbd5 (diff) | |
kbuild: consolidate command line escaping
While the recent change to also escape # symbols when storing C-file
compilation command lines was helpful, it should be in effect for all
command lines, as much as the dollar escaping should be in effect for
C-source compilation commands. Additionally, for better readability and
maintenance, consolidating all the escaping (single quotes, dollars,
and now sharps) was also desirable.
Signed-Off-By: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
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 \  build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj  # If quiet is set, only print short version of command -cmd = @$(if $($(quiet)cmd_$(1)),\ -      echo '  $(call escsq,$($(quiet)cmd_$(1)))' &&) $(cmd_$(1)) +cmd = @$(echo-cmd) $(cmd_$(1))  # Add $(obj)/ for paths that is not absolute  objectify = $(foreach o,$(1),$(if $(filter /%,$(o)),$(o),$(obj)/$(o))) @@ -112,24 +111,24 @@ endif  echo-cmd = $(if $($(quiet)cmd_$(1)), \  	echo '  $(call escsq,$($(quiet)cmd_$(1)))';) +make-cmd = $(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))) +  # function to only execute the passed command if necessary  # >'< substitution is for echo to work, >$< substitution to preserve $ when reloading .cmd file  # note: when using inline perl scripts [perl -e '...$$t=1;...'] in $(cmd_xxx) double $$ your perl vars  #   if_changed = $(if $(strip $? $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \  	@set -e; \ -	$(echo-cmd) \ -	$(cmd_$(1)); \ -	echo 'cmd_$@ := $(subst $$,$$$$,$(call escsq,$(cmd_$(1))))' > $(@D)/.$(@F).cmd) +	$(echo-cmd) $(cmd_$(1)); \ +	echo 'cmd_$@ := $(make-cmd)' > $(@D)/.$(@F).cmd)  # execute the command and also postprocess generated .d dependencies  # file  if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\  	$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),                  \  	@set -e; \ -	$(echo-cmd) \ -	$(cmd_$(1)); \ -	scripts/basic/fixdep $(depfile) $@ '$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))' > $(@D)/.$(@F).tmp; \ +	$(echo-cmd) $(cmd_$(1)); \ +	scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(@D)/.$(@F).tmp; \  	rm -f $(depfile); \  	mv -f $(@D)/.$(@F).tmp $(@D)/.$(@F).cmd) | 
