I'm not 100% sure that's what you are asking but: 

When a source file is modified (including fresh builds), the build system has to assume the dependency graph may have been modified and has to rescan the dependencies for that particular file.
In the absence of modifications, the build system does not have to rescan anything.

On Sat, 12 Jan 2019 at 00:08 Bjarne Stroustrup <bjarne@stroustrup.com> wrote:

On 1/11/2019 6:04 PM, Corentin wrote:
> Build systems will always need to parse every file at least once
> before invoking the build.

"always" meaning "forever"? I would hope/expect that module
representations could (eventually) deliver sufficient data (metadata?)
to safe that step.

> They can hopefully extract both the name and the dependency in a
> single pass.
Tooling mailing list