Comment
Comment by thechao
For C(++), I use make and ccache. I can just use `find` to place a naive dependency of every header file on every C file; and, `*.d` files (from clang/gcc): I get nearly perfect incremental builds, without file updates breaking the build, in parallel. Totally bulletproof and works on all the Unixen I care about (Linux, macOS, BSD).