Re:Mk: A Successor to Make [pdf]
by mike_hock on Sunday July 16, 2023 @02:07PM
(#36749885)
- detection/management of external dependencies
- defining different build types (debug/release)
- optionally building and running tests
- incremental builds (detecting what has changed)
That doesn't necessarily run counter to the concept of a DAG, but the organizational structures to manage this is what makes the build system. Topologically sorting the dependencies isn't the hard part. That's why make isn't a build system. It is the generic DAG runner, but that's not sufficient.
- defining different build types (debug/release)
- optionally building and running tests
- incremental builds (detecting what has changed)
That doesn't necessarily run counter to the concept of a DAG, but the organizational structures to manage this is what makes the build system. Topologically sorting the dependencies isn't the hard part. That's why make isn't a build system. It is the generic DAG runner, but that's not sufficient.