De maneira geral, você não precisa recompilar todos os arquivos .cc de acordo com o arquivo .cc.
O arquivo a .cc está relacionado com outro .cc usando o arquivo .h .
Por exemplo:
Vamos supor que b.h seja um cabeçalho sobre b.cc .
E a.cc use b.h .
Você não precisa de recompilação a.cc devido a modificar e compilar b.cc .
Mas você precisa recompilar sobre b.h .
Se o makefile também for criado (com base em autotools ), o comando make processará as dependências também.