Re: CVS commit: src/usr.bin/make

2010-06-09 Thread Joerg Sonnenberger
On Wed, Jun 09, 2010 at 12:58:23PM -0400, Christos Zoulas wrote: > Log Message: > Explain variable expansion better. Requested by Aleksey Cheusov This is wrong. Loop variables are not exapnded on each loop iteration. Each loop iteration effectively creates a new variable. The rest of his confusion

Re: CVS commit: src/usr.bin/make

2010-06-09 Thread Christos Zoulas
In article <20100609171621.ga23...@britannica.bec.de>, Joerg Sonnenberger wrote: >On Wed, Jun 09, 2010 at 12:58:23PM -0400, Christos Zoulas wrote: >> Log Message: >> Explain variable expansion better. Requested by Aleksey Cheusov > >This is wrong. Loop variables are not exapnded on each loop iter

Re: CVS commit: src/usr.bin/make

2010-06-09 Thread M. Warner Losh
In message: chris...@astron.com (Christos Zoulas) writes: : In article <20100609171621.ga23...@britannica.bec.de>, : Joerg Sonnenberger wrote: : >On Wed, Jun 09, 2010 at 12:58:23PM -0400, Christos Zoulas wrote: : >> Log Message: : >> Explain variable expansion better. Requested by Al

Re: CVS commit: src/usr.bin/make

2010-06-09 Thread David Laight
On Wed, Jun 09, 2010 at 06:45:35PM +, Christos Zoulas wrote: > > > >This is wrong. Loop variables are not exapnded on each loop iteration. > >Each loop iteration effectively creates a new variable. The rest of his > >confusion comes from two simple facts: > >(1) += is lazy in bmake. This is dif

Re: CVS commit: src/usr.bin/make

2010-06-09 Thread David Laight
On Wed, Jun 09, 2010 at 01:19:29PM -0600, M. Warner Losh wrote: > > It looks like it is lazy to me for all non-loop variables in FreeBSD: ... > % cat M > FOO=1 > BAR=2 > .for j in a b c > FOO+= ${BAR} ${j} > .endfor > BAR=3 > > all: > @echo ${FOO} > @echo ${BAR} > % make -f M > 1