Jim Meyering wrote: > I've been lobbying to remove the obsolescent @VAR@ notation > in favor of $(VAR) notation for a long time.
Using @VAR@ instead of $(VAR) removes one level of complexity, thus making debugging easier: If someone reports that in a Makefile, @FOO@ does not expand to a correct value, the next question I ask him: "look what's the value of FOO in config.status". Whereas when $(FOO) does not expand to a correct value, I have to ask 3 questions: - Verify that no other assignment to FOO exists in the Makefile, - Verify that no FOO variable assignment was passed from the parent directory. - Look what's the value of FOO in config.status. Additionally, using $(VAR) implies 'make' processing: If the expansion contains a '#', the expansion will be truncated at that point in $(VAR) but not in @v...@. $(VAR) certainly adds a level of flexibility over @VAR@, but I find that rarely useful. Bruno