C'est très moche et je me suis battu contre ça (avec des .c ou des .s/.asm) dans le contexte de TIGCC. En C++, il y a quand-même le cas des templates où l'inclusion est inévitable, mais dans ce cas, l'extension .cpp est mal choisie, il vaut mieux appeler le fichier *.hpp ou *-impl.h ou *-impl.hpp. Mais même dans ce cas, il faut une dépendance pour que ça marche correctement. Ou alors on utilise CMake qui détecte ces dépendances automatiquement.
