make: variable expansion in .for/.endfor

Roman Neuhauser neuhauser at bellavista.cz
Fri Apr 25 11:44:02 PDT 2003


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

-- 
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


More information about the freebsd-hackers mailing list