Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 May 2003 16:21:24 +0200
From:      Roman Neuhauser <neuhauser@bellavista.cz>
To:        freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Re: make: variable expansion in .for/.endfor
Message-ID:  <20030516142124.GB1036@freepuppy.bellavista.cz>
In-Reply-To: <20030516123001.GD2047@sunbay.com>
References:  <20030425184400.GS13541@freepuppy.bellavista.cz> <20030426115336.GF761@straylight.oblivion.bg> <20030427124812.GU13541@freepuppy.bellavista.cz> <20030429103404.GA680@straylight.oblivion.bg> <20030429130143.GK13541@freepuppy.bellavista.cz> <20030516123001.GD2047@sunbay.com>

next in thread | previous in thread | raw e-mail | index | archive | help
# ru@freebsd.org / 2003-05-16 15:30:01 +0300:
> > > On Sun, Apr 27, 2003 at 02:48:12PM +0200, Roman Neuhauser wrote:
> > > > # roam@ringlet.net / 2003-04-26 14:53:36 +0300:
> > > > > On Fri, Apr 25, 2003 at 08:44:00PM +0200, Roman Neuhauser wrote:
> > > > > > Try the following makefile: it works if called with -DONE, but does not
> > > > > > if called with -DTWO. Should I treat it as a bug and file a PR?
> > > > > > 
> > > > > > LIST= foo bar baz
> > > > > > 
> > > > > > .if defined(ONE)
> > > > > > .  for v in ${LIST}
> > > > > > .    if !defined(WITHOUT_${v:U})
> > > > > > WITH_${v:U}=yes
> > > > > > .    endif
> > > > > > .  endfor
> > > > > > .endif
> > > > > > 
> > > > > > .if defined(TWO)
> > > > > > .  for v in ${LIST}
> > > > > > V=${v:U}
> > > > > > .    if !defined(WITHOUT_${V})
> > > > > > WITH_${V}=yes
> > > > > > .    endif
> > > > > > .  endfor
> > > > > > .endif
> > > > > > 
> > > > > > a:
> > > > > > 	@echo \$${WITH_FOO}: ${WITH_FOO}
> > > > > > 	@echo \$${WITH_BAR}: ${WITH_BAR}
> > > > > > 	@echo \$${WITH_BAZ}: ${WITH_BAZ}
> > > > > > 
> > > > > > .PHONY: a
> > > > > 
> > > > > I think this is a known bug, and it seems to even be documented
> > > > > in the BUGS section of -STABLE's make(1) manual page.
> > > > 
> > > >     I don't think this is covered. Can you point out the relevant text?

> Yes, BUGS section talks about a different problem [...]

    thanks for confirming.

> FWIW, the code snippet above works perfectly under 5.x make(1).

    good to know

> I recall this problem was fixed (perhaps, it was even me, not
> sure).  Sorry, but I don't have enough time to invest into
> backporting the bugfix into RELENG_4, the latter is becoming
> less priority for me as 5.x evolves.
> 
> If you'll be able to extract it from HEAD (there is a huge
> backlog of non-backported fixes for make(1) there), I will
> happily commit it for you.

    i'll try to find some time, but I'll have a hard time as I don't
    know much of C...

    anyway, thanks a bunch for the reply!

-- 
If you cc me or remove the list(s) completely I'll most likely ignore
your message.    see http://www.eyrie.org./~eagle/faqs/questions.html



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030516142124.GB1036>