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