2 ms·
http://9p.io/sources/plan9/sys/src/mkfile http://9p.io/sources/plan9/sys/src/mkfile
by bufio 3y ago
http://9p.io/sources/plan9/sys/src/mkfile http://9p.io/sources/plan9/sys/src/mkfile
- bxparks 3y agoWoah, what is that @{ construct in that mkfile? I cannot find it in the GNU Make Manual (https://www.gnu.org/software/make/manual/make.html https://www.gnu.org/software/make/manual/make.html). I use backslash-before-newline for multi-line loops like that.
- wokwokwok 3y agoYou can find an exception to any rule, but you'll find, in general, that its both self-evident and unsurprising that make is on the decline, and being replaced by other tools. plan9 exists in an enviable position of only needing to build in a few controlled environments. For example, http://9p.io/sources/plan9/sys/src/libmach/mkfile http://9p.io/sources/plan9/sys/src/libmach/mkfile reads: CFLAGS=$CFLAGS -I/sys/src/cmd Cute. Non-portable. A perfect example of how make is useful in trivial or contrived circumstances only. /shrug Try reading the llama.cpp makefile, which is an example of an excellent cross platform makefile that works very well: https://github.com/ggerganov/llama.cpp/blob/master/Makefile https://github.com/ggerganov/llama.cpp/blob/master/Makefile ^ this is what many real Makefiles look like, and this one is excellent and well maintained. Many are worse. Make is good when you only have easy problems to solve (like, specifically, only having to build one specific constrained environment for one specific compiler).