The Quest to the Perfect Makefile
r4nd0m6uy.ch
r4nd0m6uy.ch
Here's a Makefile I put together recently that builds over 9000 objects, 72 libraries, and a few hundred executables. https://github.com/jart/cosmopolitan/blob/master/Makefile The interesting part I've noticed is tuning the makefile so it correctly orders linker arguments, making sure the relationships between granular libraries is a DAG, and being able to build individual targets without building the world. GNU Make probably makes this easier than any other tool, since it's secretly a functional programming language. Which is something that might frighten the uninitiated.