Well diagnosed and thanks for your report.  This is, however, a known
problem.  It was fixed in the CVS version in 2002 under:

http://savannah.gnu.org/bugs/?func=detailitem&item_id=1516 

make-3.81beta3 contains the fix for this and many other problems.  I'm
using it in production.

http://lists.gnu.org/archive/html/make-w32/2005-06/msg00017.html 
-------------------------------------
Martin's Outlook, BlueArc Engineering


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Evan
Bigall
Sent: Sunday, September 25, 2005 10:47
To: bug-make@gnu.org
Subject: Bug with new $(eval ) function

Consider this makefile (also attached to get the whitespace correct):

list = a b c d

#ifeq (foo,foo)

.PHONY : all

all : $(list)


define template
.PHONY : $(1)

$(1) :
        echo $(1)
endef

$(foreach l,$(list),$(eval $(call template,$(l))))

#endif

With the "ifeq" commented out, this makefile works.  If you uncomment 
the ifeq it breaks with:

~/evan.bigall-linux-all/tools/linux/make-3.80/bin/make -n all
Makefile:16: *** missing `endif'.  Stop.

/Evan



_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to