diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2020-05-30 21:43:15 +0000 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2020-05-30 21:47:09 +0000 |
commit | 3fc78d2fabb5c613f10c9e94d8a1a4c1a548648f (patch) | |
tree | ce1b2d56eaed7836d116ef8fbd3a0cdf92f0f664 /makefile_escaping | |
parent | makefile_escaping: fix variable overrides (diff) | |
download | blog-3fc78d2fabb5c613f10c9e94d8a1a4c1a548648f.tar.gz blog-3fc78d2fabb5c613f10c9e94d8a1a4c1a548648f.zip |
makefile_escaping: more concise test cases
Diffstat (limited to 'makefile_escaping')
-rw-r--r-- | makefile_escaping/escaping_env_vars.mk | 23 | ||||
-rw-r--r-- | makefile_escaping/escaping_quotes.mk | 2 | ||||
-rw-r--r-- | makefile_escaping/escaping_shell.mk | 18 | ||||
-rw-r--r-- | makefile_escaping/quoting_args.mk | 8 |
4 files changed, 10 insertions, 41 deletions
diff --git a/makefile_escaping/escaping_env_vars.mk b/makefile_escaping/escaping_env_vars.mk index 421c4b6..f2e7a2d 100644 --- a/makefile_escaping/escaping_env_vars.mk +++ b/makefile_escaping/escaping_env_vars.mk @@ -7,7 +7,7 @@ SHELL := bash escape = $(subst ','\'',$(1)) -define escape_arg +define escape_env ifeq ($$(origin $(1)),environment) $(1) := $$(value $(1)) endif @@ -19,32 +19,15 @@ override $(1) := $$(value $(1)) endif endef -# Simple variable. simple_var := Simple value -test_var ?= $(simple_var) -export test_var - -$(eval $(call escape_arg,test_var)) +test_var ?= $(simple_var) (in test_var) +$(eval $(call escape_env,test_var)) simple_var := New simple value - -# 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))' - -# Composite variable, includes both $simple_var and $test_var. composite_var := Composite value - $(simple_var) - $(test_var) -# printf $composite_var -echo_composite_var := printf '%s\n' '$(call escape,$(composite_var))' - .PHONY: test test: @printf '%s\n' '$(call escape,$(test_var))' - @printf '%s\n' "$$test_var" - @bash -c '$(call escape,$(echo_test_var))' - @bash -c '$(call escape,$(bash_test_var))' @printf '%s\n' '$(call escape,$(composite_var))' - @bash -c '$(call escape,$(echo_composite_var))' diff --git a/makefile_escaping/escaping_quotes.mk b/makefile_escaping/escaping_quotes.mk index 13835e7..2a43f69 100644 --- a/makefile_escaping/escaping_quotes.mk +++ b/makefile_escaping/escaping_quotes.mk @@ -9,9 +9,7 @@ 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 39fabf2..1be9c02 100644 --- a/makefile_escaping/escaping_shell.mk +++ b/makefile_escaping/escaping_shell.mk @@ -8,26 +8,14 @@ SHELL := bash escape = $(subst ','\'',$(1)) cwd := $(shell basename -- "$$( pwd )") -export 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))' +simple_var := Simple value +compisite_var := Composite value - $(simple_var) - $(cwd) .PHONY: test test: @printf '%s\n' '$(call escape,$(cwd))' - @printf '%s\n' "$$cwd" - @bash -c '$(call escape,$(echo_cwd))' - @bash -c '$(call escape,$(bash_cwd))' - @printf '%s\n' '$(call escape,$(outer_var))' - @bash -c '$(call escape,$(echo_outer_var))' + @printf '%s\n' '$(call escape,$(compisite_var))' diff --git a/makefile_escaping/quoting_args.mk b/makefile_escaping/quoting_args.mk index ff55f51..db4f7cf 100644 --- a/makefile_escaping/quoting_args.mk +++ b/makefile_escaping/quoting_args.mk @@ -9,7 +9,7 @@ test_var := Same line? export test_var test: - printf '%s\n' $(test_var) - printf '%s\n' '$(test_var)' - printf '%s\n' $$test_var - printf '%s\n' "$$test_var" + @printf '%s\n' $(test_var) + @printf '%s\n' '$(test_var)' + @printf '%s\n' $$test_var + @printf '%s\n' "$$test_var" |