1 1.6 sjg # $Id: varmisc.mk,v 1.6 2017/01/14 22:58:04 sjg Exp $ 2 1.1 apb # 3 1.1 apb # Miscellaneous variable tests. 4 1.1 apb 5 1.6 sjg all: unmatched_var_paren D_true U_true D_false U_false Q_lhs Q_rhs NQ_none \ 6 1.6 sjg strftime 7 1.1 apb 8 1.1 apb unmatched_var_paren: 9 1.2 sjg @echo ${foo::=foo-text} 10 1.3 sjg 11 1.4 sjg True = ${echo true >&2:L:sh}TRUE 12 1.4 sjg False= ${echo false >&2:L:sh}FALSE 13 1.3 sjg 14 1.3 sjg VSET= is set 15 1.3 sjg .undef UNDEF 16 1.3 sjg 17 1.3 sjg U_false: 18 1.3 sjg @echo :U skipped when var set 19 1.3 sjg @echo ${VSET:U${False}} 20 1.3 sjg 21 1.3 sjg D_false: 22 1.3 sjg @echo :D skipped if var undef 23 1.3 sjg @echo ${UNDEF:D${False}} 24 1.3 sjg 25 1.3 sjg U_true: 26 1.3 sjg @echo :U expanded when var undef 27 1.3 sjg @echo ${UNDEF:U${True}} 28 1.3 sjg 29 1.3 sjg D_true: 30 1.3 sjg @echo :D expanded when var set 31 1.3 sjg @echo ${VSET:D${True}} 32 1.3 sjg 33 1.3 sjg Q_lhs: 34 1.3 sjg @echo :? only lhs when value true 35 1.3 sjg @echo ${1:L:?${True}:${False}} 36 1.3 sjg 37 1.3 sjg Q_rhs: 38 1.3 sjg @echo :? only rhs when value false 39 1.3 sjg @echo ${0:L:?${True}:${False}} 40 1.5 sjg 41 1.5 sjg NQ_none: 42 1.5 sjg @echo do not evaluate or expand :? if discarding 43 1.5 sjg @echo ${VSET:U${1:L:?${True}:${False}}} 44 1.6 sjg 45 1.6 sjg April1= 1459494000 46 1.6 sjg 47 1.6 sjg # slightly contorted syntax to use utc via variable 48 1.6 sjg strftime: 49 1.6 sjg @echo ${year=%Y month=%m day=%d:L:gmtime=1459494000} 50 1.6 sjg @echo date=${%Y%m%d:L:${gmtime=${April1}:L}} 51 1.6 sjg 52