varmod-subst-regex.mk revision 1.2 1 1.2 rillig # $NetBSD: varmod-subst-regex.mk,v 1.2 2020/08/16 12:30:45 rillig Exp $
2 1.1 rillig #
3 1.2 rillig # Tests for the :C,from,to, variable modifier.
4 1.1 rillig
5 1.2 rillig all: mod-regex
6 1.2 rillig all: mod-regex-limits
7 1.2 rillig all: mod-regex-errors
8 1.1 rillig
9 1.2 rillig mod-regex:
10 1.2 rillig @echo $@:
11 1.2 rillig @echo :${:Ua b b c:C,a b,,:Q}:
12 1.2 rillig @echo :${:Ua b b c:C,a b,,1:Q}:
13 1.2 rillig @echo :${:Ua b b c:C,a b,,W:Q}:
14 1.2 rillig @echo :${:Uword1 word2:C,****,____,g:C,word,____,:Q}:
15 1.2 rillig @echo :${:Ua b b c:C,b,,g:Q}:
16 1.2 rillig @echo :${:U1 2 3 1 2 3:C,1 2,___,Wg:C,_,x,:Q}:
17 1.2 rillig
18 1.2 rillig mod-regex-limits:
19 1.2 rillig @echo $@:00-ok:${:U1 23 456:C,..,\0\0,:Q}
20 1.2 rillig @echo $@:11-missing:${:U1 23 456:C,..,\1\1,:Q}
21 1.2 rillig @echo $@:11-ok:${:U1 23 456:C,(.).,\1\1,:Q}
22 1.2 rillig @echo $@:22-missing:${:U1 23 456:C,..,\2\2,:Q}
23 1.2 rillig @echo $@:22-missing:${:U1 23 456:C,(.).,\2\2,:Q}
24 1.2 rillig @echo $@:22-ok:${:U1 23 456:C,(.)(.),\2\2,:Q}
25 1.2 rillig # The :C modifier only handles single-digit capturing groups,
26 1.2 rillig # which is more than enough for daily use.
27 1.2 rillig @echo $@:capture:${:UabcdefghijABCDEFGHIJrest:C,(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.),\9\8\7\6\5\4\3\2\1\0\10\11\12,}
28 1.2 rillig
29 1.2 rillig mod-regex-errors:
30 1.2 rillig @echo $@: ${UNDEF:Uvalue:C,[,,}
31