| # -*-perl-*- | |
| $description = "Test various flavors of make variable setting."; | |
| $details = ""; | |
| # TEST 0: Recursive | |
| run_make_test(' | |
| ugh = Goodbye | |
| foo = $(bar) | |
| bar = ${ugh} | |
| ugh = Hello | |
| all: ; @echo $(foo) | |
| ', | |
| '', "Hello\n"); | |
| # TEST 1: Simple | |
| run_make_test(' | |
| bar = Goodbye | |
| foo := $(bar) | |
| bar = ${ugh} | |
| ugh = Hello | |
| all: ; @echo $(foo) | |
| ', | |
| '', "Goodbye\n"); | |
| # TEST 2: Append to recursive | |
| run_make_test(' | |
| foo = Hello | |
| ugh = Goodbye | |
| foo += $(bar) | |
| bar = ${ugh} | |
| ugh = Hello | |
| all: ; @echo $(foo) | |
| ', | |
| '', "Hello Hello\n"); | |
| # TEST 3: Append to simple | |
| run_make_test(' | |
| foo := Hello | |
| ugh = Goodbye | |
| bar = ${ugh} | |
| foo += $(bar) | |
| ugh = Hello | |
| all: ; @echo $(foo) | |
| ', | |
| '', "Hello Goodbye\n"); | |
| # TEST 4: Conditional pre-set | |
| run_make_test(' | |
| foo = Hello | |
| ugh = Goodbye | |
| bar = ${ugh} | |
| foo ?= $(bar) | |
| ugh = Hello | |
| all: ; @echo $(foo) | |
| ', | |
| '', "Hello\n"); | |
| # TEST 5: Conditional unset | |
| run_make_test(' | |
| ugh = Goodbye | |
| bar = ${ugh} | |
| foo ?= $(bar) | |
| ugh = Hello | |
| all: ; @echo $(foo) | |
| ', | |
| '', "Hello\n"); | |
| # TEST 6: Simple using POSIX syntax | |
| run_make_test(' | |
| bar = Goodbye | |
| foo ::= $(bar) | |
| bar = ${ugh} | |
| ugh = Hello | |
| all: ; @echo $(foo) | |
| ', | |
| '', "Goodbye\n"); | |
| # TEST 7: POSIX syntax no spaces | |
| run_make_test(' | |
| bar = Goodbye | |
| foo::=$(bar) | |
| bar = ${ugh} | |
| ugh = Hello | |
| all: ; @echo $(foo) | |
| ', | |
| '', "Goodbye\n"); | |
| 1; |