this.
edit let me sum up what I collected on this so far:
Basically, we want to have something that says “list me everything that needs to be rebuilt in commit X due to changes since commit Y” (where X is the to-be-tested commit and Y is usually the merge-base relative to master)
- this needs recording of the compiler generated dependencies in Y
- this needs recording of the exact compilation commands used in Y
- when using something like a generated config.h, this needs exact recording of config.h entries as needed by each compiled source file
- this needs full knowledge of the dependency graph, within the build system. so if anything in there changes, the build system can be instructed on which leaves of the graph should be rebuilt. this graph needs to include files and commands that are used to build any given target