It should only rebuild modified files or files that references modified files. If the whole thing is being rebuilt, it means that it thinks something that the whole project references is being changed, it could be something that the prefix header includes.