| # -*-perl-*- |
| |
| $description = "Test the subst and patsubst functions"; |
| |
| $details = ""; |
| |
| # Generic patsubst test: test both the function and variable form. |
| |
| run_make_test(' |
| foo := a.o b.o c.o |
| bar := $(foo:.o=.c) |
| bar2:= $(foo:%.o=%.c) |
| bar3:= $(patsubst %.c,%.o,x.c.c bar.c) |
| all:;@echo $(bar); echo $(bar2); echo $(bar3)', |
| '', |
| 'a.c b.c c.c |
| a.c b.c c.c |
| x.c.o bar.o'); |
| |
| # Patsubst without '%'--shouldn't match because the whole word has to match |
| # in patsubst. Based on a bug report by Markus Mauhart <qwe123@chello.at> |
| |
| run_make_test('all:;@echo $(patsubst Foo,Repl,FooFoo)', '', 'FooFoo'); |
| |
| # Variable subst where a pattern matches multiple times in a single word. |
| # Based on a bug report by Markus Mauhart <qwe123@chello.at> |
| |
| run_make_test(' |
| A := fooBARfooBARfoo |
| all:;@echo $(A:fooBARfoo=REPL)', '', 'fooBARREPL'); |
| |
| 1; |
| |
| |
| |
| |
| |
| |