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 jo...@britannica.bec.de 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

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

2010-06-09 Thread M. Warner Losh
In message: huonge$v4...@dough.gmane.org chris...@astron.com (Christos Zoulas) writes: : In article 20100609171621.ga23...@britannica.bec.de, : Joerg Sonnenberger jo...@britannica.bec.de wrote: : On Wed, Jun 09, 2010 at 12:58:23PM -0400, Christos Zoulas wrote: : Log Message: :

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 different

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 3 a 3 b 3 c