aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/makefile_escaping/env_vars.mk
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2020-05-24 00:08:54 +0000
committerEgor Tensin <Egor.Tensin@gmail.com>2020-05-24 00:17:29 +0000
commitf3fdf2321708b04ec1a84f99e80852151a78242d (patch)
treeb37a817671f5cc306b7af2d74a47e5bac8a46824 /makefile_escaping/env_vars.mk
parentmakefile_escaping: set up CI (diff)
downloadblog-f3fdf2321708b04ec1a84f99e80852151a78242d.tar.gz
blog-f3fdf2321708b04ec1a84f99e80852151a78242d.zip
makefile_escaping: fix inclusions in other variables
Diffstat (limited to 'makefile_escaping/env_vars.mk')
-rw-r--r--makefile_escaping/env_vars.mk19
1 files changed, 13 insertions, 6 deletions
diff --git a/makefile_escaping/env_vars.mk b/makefile_escaping/env_vars.mk
index 47c1647..7fdc087 100644
--- a/makefile_escaping/env_vars.mk
+++ b/makefile_escaping/env_vars.mk
@@ -1,15 +1,22 @@
escape = $(subst ','\'',$(1))
-escape_var = $(call escape,$(value $(1)))
test_var ?= This is safe.
+test_var := $(value test_var)
export test_var
-echo_test_var := printf '%s\n' '$(call escape_var,test_var)'
-bash_test_var := bash -c '$(call escape_var,echo_test_var)'
+inner_var := Inner variable
+outer_var := Outer variable - $(inner_var) - $(test_var)
+
+echo_test_var := printf '%s\n' '$(call escape,$(test_var))'
+bash_test_var := bash -c '$(call escape,$(echo_test_var))'
+
+echo_outer_var := printf '%s\n' '$(call escape,$(outer_var))'
.PHONY: test
test:
- @printf '%s\n' '$(call escape_var,test_var)'
+ @printf '%s\n' '$(call escape,$(test_var))'
@printf '%s\n' "$$test_var"
- @bash -c '$(call escape_var,echo_test_var)'
- @bash -c '$(call escape_var,bash_test_var)'
+ @bash -c '$(call escape,$(echo_test_var))'
+ @bash -c '$(call escape,$(bash_test_var))'
+ @printf '%s\n' '$(call escape,$(outer_var))'
+ @bash -c '$(call escape,$(echo_outer_var))'