J'ai du mal à écrire des Makefiles qui construisent correctement mes tests unitaires. À titre d'exemple, supposons que la structure du fichier ressemble à ceMakefile pour les tests unitaires en C++
src/foo.cpp
src/foo.hpp
src/main.cpp
tests/test_foo.cpp
tests/test_all.cpp
Ainsi, pour construire l'exécutable test_all, je dois construire test_foo.o qui à son tour dépend de test_foo.cpp mais aussi src/foo. o.
Quelle est la meilleure pratique dans ce cas? Un Makefile dans le dossier parent? Un Makefile par dossier? Si oui, comment puis-je gérer les dépendances entre les dossiers?
Cela ne semble pas tenir compte de la dépendance de test_all.cpp sur src/foo.o. Par exemple. ce qui arrive après le rendre propre; faire un test dans le répertoire de premier niveau? –
Si les tests sont générés à partir de main.cpp, il n'y aura aucun problème de dépendance. –
Mais main.cpp sera l'exécutable de l'application, ne conduisant pas les tests. L'exécutable effectuant les tests doit résider dans le dossier des tests. –