summaryrefslogtreecommitdiff
path: root/tests/scripts/functions/substitution
blob: 0d2f6a2590b0ba182003eb78b78c50da3b45676c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#                                                                    -*-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;