News for hackers. Stuff that matters.
Re:Lazy GNU make variables by Animats on Saturday July 23, 2016 @03:46PM (#12150745)
Make can't decide whether it's a dependency graph or a macro language. That leads to weird semantics like this.
Re:Lazy GNU make variables by wtbob on Saturday July 23, 2016 @07:08PM (#12151409)
That's why I like ASDF3: it manages dependency graphs with a superlative macro language not of its own design.
Re:Lazy GNU make variables by gkya on Saturday July 23, 2016 @05:59PM (#12151158)
Make is a dependency graph with macroes for not having to repeat, copy-and-paste, and hard-code stuff.
Re:Lazy GNU make variables by dozzie on Saturday July 23, 2016 @04:04PM (#12150807)
You have rough corners in every language. Make is actually quite good (meaning: easy to read, without much gymnastics) in its typical use case of compiling a software project. The post was written specifically to explore one of these rough corners everything has.
Re:Lazy GNU make variables by jessaustin on Saturday July 23, 2016 @08:15PM (#12151608)
Reading it may be easy, but every time I've tried to use make (i.e. write a Makefile that does what I want) I've found it to be composed almost entirely of rough corners.
[dead]
Re:Lazy GNU make variables by jessaustin on Sunday July 24, 2016 @07:33AM (#12153046)
Yes, and I've purchased and read books, and I've read online resources. Granted, none of this has been within the last several years, so if there have been major changes in that span I've missed them.

But thanks for the charitable question!

Re:Lazy GNU make variables by dima55 on Saturday July 23, 2016 @09:05PM (#12151731)
Whoa. This is NOT a rough corner. It is a fundamental part of the language. Deferred variables are akin to functions in other languages, while immediate ones are more like variables in other languages.
Re:Lazy GNU make variables by ssalazar on Saturday July 23, 2016 @10:52PM (#12151999)
Did you read the whole article? This technique doesn't appear in the manual at all and I've read it quite a few times. If it was so fundamental why is it so awkward to construct?