diff options
Diffstat (limited to 'makefile_escaping')
-rw-r--r-- | makefile_escaping/escaping_env_vars.mk | 11 | ||||
-rw-r--r-- | makefile_escaping/escaping_quotes.mk | 2 | ||||
-rw-r--r-- | makefile_escaping/escaping_shell.mk | 11 |
3 files changed, 18 insertions, 6 deletions
diff --git a/makefile_escaping/escaping_env_vars.mk b/makefile_escaping/escaping_env_vars.mk index 35ea35d..2b8690b 100644 --- a/makefile_escaping/escaping_env_vars.mk +++ b/makefile_escaping/escaping_env_vars.mk @@ -11,12 +11,17 @@ test_var ?= This is safe. test_var := $(value test_var) export test_var -inner_var := Inner variable -outer_var := Outer variable - $(inner_var) - $(test_var) - +# printf $test_var echo_test_var := printf '%s\n' '$(call escape,$(test_var))' +# bash -c 'printf $test_var' bash_test_var := bash -c '$(call escape,$(echo_test_var))' +# Simple variable. +inner_var := Inner variable +# Composite variable, includes both $inner_var and $test_var. +outer_var := Outer variable - $(inner_var) - $(test_var) + +# printf $outer_var echo_outer_var := printf '%s\n' '$(call escape,$(outer_var))' .PHONY: test diff --git a/makefile_escaping/escaping_quotes.mk b/makefile_escaping/escaping_quotes.mk index 2a43f69..13835e7 100644 --- a/makefile_escaping/escaping_quotes.mk +++ b/makefile_escaping/escaping_quotes.mk @@ -9,7 +9,9 @@ escape = $(subst ','\'',$(1)) test_var := Includes ' quote +# printf $test_var echo_test_var := printf '%s\n' '$(call escape,$(test_var))' +# bash -c 'printf $test_var' bash_test_var := bash -c '$(call escape,$(echo_test_var))' test: diff --git a/makefile_escaping/escaping_shell.mk b/makefile_escaping/escaping_shell.mk index c81eb98..39fabf2 100644 --- a/makefile_escaping/escaping_shell.mk +++ b/makefile_escaping/escaping_shell.mk @@ -10,12 +10,17 @@ escape = $(subst ','\'',$(1)) cwd := $(shell basename -- "$$( pwd )") export cwd -inner_var := Inner variable -outer_var := Outer variable - $(inner_var) - $(cwd) - +# printf $cwd echo_cwd := printf '%s\n' '$(call escape,$(cwd))' +# bash -c 'printf $cwd' bash_cwd := bash -c '$(call escape,$(echo_cwd))' +# Simple variable. +inner_var := Inner variable +# Composite variable, includes both $inner_var and $cwd. +outer_var := Outer variable - $(inner_var) - $(cwd) + +# printf $outer_var echo_outer_var := printf '%s\n' '$(call escape,$(outer_var))' .PHONY: test |