I've been using this thunk implementation as described
http://www.cakoose.com/wiki/gnu_make_thunks, but recently came upon an
anomaly on a different operating system.  Here's an example Makefile:


A = abcdefghijklmnop
B = $(eval B := $A)$B

test:
    @echo [$B]
    @echo [$B]


On cygwin it seems to work fine:
[abcdefghijklmnopqr]
[abcdefghijklmnopqr]


But on Mac 10.6 as well as Ubuntu 12.04, it returns:
[p]
[abcdefghijklmnop]


All of these environments are running make 3.82.

The length of the definitions of A and B matter, too.  Basically the first
expansion of $B truncates as many characters as the $(eval ...) definition
is long.  Very strange.

Am I missing something?


-- 
Victor Shih
blog.vicshih.com
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to