aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/makefile_escaping/env_vars.mk
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2020-05-23 23:20:31 +0000
committerEgor Tensin <Egor.Tensin@gmail.com>2020-05-24 00:05:19 +0000
commit4b0959458c821ef26990fe1fe5931d552512526d (patch)
treebfd443f3a00207dac26c81ef7ccd2ce5bfe59449 /makefile_escaping/env_vars.mk
parentadd .gitattributes (diff)
downloadblog-4b0959458c821ef26990fe1fe5931d552512526d.tar.gz
blog-4b0959458c821ef26990fe1fe5931d552512526d.zip
makefile_escaping: set up CI
Diffstat (limited to 'makefile_escaping/env_vars.mk')
-rw-r--r--makefile_escaping/env_vars.mk15
1 files changed, 15 insertions, 0 deletions
diff --git a/makefile_escaping/env_vars.mk b/makefile_escaping/env_vars.mk
new file mode 100644
index 0000000..47c1647
--- /dev/null
+++ b/makefile_escaping/env_vars.mk
@@ -0,0 +1,15 @@
+escape = $(subst ','\'',$(1))
+escape_var = $(call escape,$(value $(1)))
+
+test_var ?= This is safe.
+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)'
+
+.PHONY: test
+test:
+ @printf '%s\n' '$(call escape_var,test_var)'
+ @printf '%s\n' "$$test_var"
+ @bash -c '$(call escape_var,echo_test_var)'
+ @bash -c '$(call escape_var,bash_test_var)'