xref: /freebsd/contrib/bmake/unit-tests/modmisc.mk (revision 907b59d76938e654f0d040a888e8dfca3de1e222)
1# $Id: modmisc.mk,v 1.1.1.1 2014/08/30 18:57:18 sjg Exp $
2#
3# miscellaneous modifier tests
4
5# do not put any dirs in this list which exist on some
6# but not all target systems - an exists() check is below.
7path=:/bin:/tmp::/:.:/no/such/dir:.
8# strip cwd from path.
9MOD_NODOT=S/:/ /g:N.:ts:
10# and decorate, note that $'s need to be doubled. Also note that
11# the modifier_variable can be used with other modifiers.
12MOD_NODOTX=S/:/ /g:N.:@d@'$$d'@
13# another mod - pretend it is more interesting
14MOD_HOMES=S,/home/,/homes/,
15MOD_OPT=@d@$${exists($$d):?$$d:$${d:S,/usr,/opt,}}@
16MOD_SEP=S,:, ,g
17
18all:	modvar modvarloop modsysv
19
20modsysv:
21	@echo "The answer is ${libfoo.a:L:libfoo.a=42}"
22
23modvar:
24	@echo "path='${path}'"
25	@echo "path='${path:${MOD_NODOT}}'"
26	@echo "path='${path:S,home,homes,:${MOD_NODOT}}'"
27	@echo "path=${path:${MOD_NODOTX}:ts:}"
28	@echo "path=${path:${MOD_HOMES}:${MOD_NODOTX}:ts:}"
29
30.for d in ${path:${MOD_SEP}:N.} /usr/xbin
31path_$d?= ${d:${MOD_OPT}:${MOD_HOMES}}/
32paths+= ${d:${MOD_OPT}:${MOD_HOMES}}
33.endfor
34
35modvarloop:
36	@echo "path_/usr/xbin=${path_/usr/xbin}"
37	@echo "paths=${paths}"
38	@echo "PATHS=${paths:tu}"
39