Stefano,

This is a bug, and it has been described and fixed here:
https://savannah.gnu.org/patch/?7534


2012/5/12 Stefano Lattarini <stefano.lattar...@gmail.com>

> Hello.
>
> While trying to implement a kind of memoization of lazy macros in GNU make
> (needed for my work on Automake-NG), I've been encountering some strange
> failure in GNU make (present in all of 3.80, 3.81, 3.82).  Here is the
> minimal reproducer I've been able to find:
>
>    mufoofoo = \
>      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
>      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
>      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
>      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
>      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
>      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
>      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
>      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
>      xxxxxxxxxxxx
>    var = $(eval var := $$(mufoofoo))$(var)
>    dummy:
>        : $(firstword $(var))
>
> Running the above, make dies with the following message:
>
>  Makefile:13: *** unterminated variable reference.  Stop.
>
> And any of the following minimal and *apparently irrelevant* changes to the
> Makefile above that cause the error to disappear:
>
>  - changing 'var' with 'va' everywhere
>  - changing 'mufoofoo' with 'mfoofoo'
>  - removing *just one 'x'* from the value of mufoofoo
>
> Any idea of what's going on here?
>
> Regards,
>  Stefano
>
> _______________________________________________
> Bug-make mailing list
> Bug-make@gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-make
>



-- 
Best regards,
Eldar Sh. Abusalimov
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to