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