save command lines or use mtimes on build files? "explain" mode that shows why we're building a file "one file" mode that builds only outputs of a single file adjust to system load dynamically progress bar rather than printing commands in series store historical timing info, allowing etas on builds how does parallelization fit in?