| # -*-perl-*- |
| |
| $description = "Test various flavors of conditional variable setting."; |
| |
| $details = ""; |
| |
| # Test ?= |
| |
| run_make_test(q! |
| x = bar |
| y = baz |
| foo ?= $(x) |
| biz?=$(y) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| !, |
| '', "foo=10 biz=20"); |
| |
| run_make_test(q! |
| foo=1 |
| biz=2 |
| x = bar |
| y = baz |
| foo ?= $(x) |
| biz?=$(y) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| !, |
| '', "foo=1 biz=2"); |
| |
| # Test ?:= |
| |
| run_make_test(q! |
| x = bar |
| y = baz |
| foo ?:= $(x) |
| biz?:=$(y) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| !, |
| '', "foo=bar biz=baz"); |
| |
| run_make_test(q! |
| foo=1 |
| biz=2 |
| x = bar |
| y = baz |
| foo ?:= $(x)$(info expanded) |
| biz?:=$(y)$(info expanded) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| !, |
| '', "foo=1 biz=2"); |
| |
| # Test ?::= |
| |
| run_make_test(q! |
| x = bar |
| y = baz |
| foo ?::= $(x) |
| biz?::=$(y) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| !, |
| '', "foo=bar biz=baz"); |
| |
| run_make_test(q! |
| foo=1 |
| biz=2 |
| x = bar |
| y = baz |
| foo ?::= $(x)$(info expanded) |
| biz?::=$(y)$(info expanded) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| !, |
| '', "foo=1 biz=2"); |
| |
| # Test ?:::= |
| |
| run_make_test(q! |
| x = bar |
| y = baz |
| foo ?:::= $(x) |
| biz?:::=$(y) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| !, |
| '', "foo=bar biz=baz"); |
| |
| run_make_test(q! |
| foo=1 |
| biz=2 |
| x = bar |
| y = baz |
| foo ?:::= $(x)$(info expanded) |
| biz?:::=$(y)$(info expanded) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| !, |
| '', "foo=1 biz=2"); |
| |
| # Test ?!= |
| |
| run_make_test(q/ |
| x = bar |
| y = baz |
| foo ?!= echo $(x) |
| biz?!=echo $(y) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| /, |
| '', "foo=bar biz=baz"); |
| |
| run_make_test(q/ |
| foo=1 |
| biz=2 |
| x = bar |
| y = baz |
| foo ?!= echo $(x)$(info expanded) |
| biz?!=echo $(y)$(info expanded) |
| x = 10 |
| y = 20 |
| all:;@: $(info foo=$(foo) biz=$(biz)) |
| /, |
| '', "foo=1 biz=2"); |
| |
| 1; |