I had discovered two moments which determine such behavior: 1) appending to variable in "$(eval ...)" takes only first value in chain. I.e.: LDFLAGS defined in global context as "LDFLAGS += 1" and in target "A" as "LDFLAGS += 2", then actual value for "A" and all it's prerequisites will be "1 2". Calling "$(eval LDFLAGS += 3)" in recipe of target "A" or any prerequisite defines "LDFLAGS" as "2 3".
2) variable assignment during "$(eval ...)" in recipe sets new value in top-most variable without setting "variable.recursive = 0". I.e.: LDFLAGS after "$(eval ...)" equals "2 3" and defined in global context, but it's still recursive, that's why LDFLAGS is equal "2 3 2". How do you think what I should change to fix bug and keep original logic? -- SY, Konstantin Demin -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org