forloop.mk revision 281760
1125733Sgrehan# $Id: forloop.mk,v 1.1.1.1 2014/08/30 18:57:18 sjg Exp $ 2125733Sgrehan 3125733Sgrehanall: for-loop 4125733Sgrehan 5125733SgrehanLIST = one "two and three" four "five" 6125733Sgrehan 7125733Sgrehan.if make(for-fail) 8125733Sgrehanfor-fail: 9125733Sgrehan 10125733SgrehanXTRA_LIST = xtra 11125733Sgrehan.else 12125733Sgrehan 13125733Sgrehan.for x in ${LIST} 14125733SgrehanX!= echo 'x=$x' >&2; echo 15125733Sgrehan.endfor 16125733Sgrehan 17125733SgrehanCFL = -I/this -I"This or that" -Ithat "-DTHIS=\"this and that\"" 18125733Sgrehancfl= 19125733Sgrehan.for x in ${CFL} 20125733SgrehanX!= echo 'x=$x' >&2; echo 21125733Sgrehan.if empty(cfl) 22125733Sgrehancfl= $x 23125733Sgrehan.else 24125733Sgrehancfl+= $x 25125733Sgrehan.endif 26125733Sgrehan.endfor 27125733SgrehanX!= echo 'cfl=${cfl}' >&2; echo 28125733Sgrehan 29125733Sgrehan.if ${cfl} != ${CFL} 30125733Sgrehan.error ${.newline}'${cfl}' != ${.newline}'${CFL}' 31125733Sgrehan.endif 32125733Sgrehan 33125733Sgrehan.for a b in ${EMPTY} 34125733SgrehanX!= echo 'a=$a b=$b' >&2; echo 35125733Sgrehan.endfor 36125733Sgrehan.endif 37125733Sgrehan 38125733Sgrehan.for a b in ${LIST} ${LIST:tu} ${XTRA_LIST} 39125733SgrehanX!= echo 'a=$a b=$b' >&2; echo 40176530Sraj.endfor 41125733Sgrehan 42125733Sgrehanfor-loop: 43125733Sgrehan @echo We expect an error next: 44125733Sgrehan @(cd ${.CURDIR} && ${.MAKE} -f ${MAKEFILE} for-fail) && \ 45125733Sgrehan { echo "Oops that should have failed!"; exit 1; } || echo OK 46125733Sgrehan