Le truc fait grosso modo 1000 lignes de C++, mon projet sur Github est indiqué comme étant composé à 95.5% de shell...
On a 13 fichiers à la racine du projet dédié aux autotools, plus 2 fichiers pour chaque répertoire (Makefile.in et Makefile.am)
Rien ne t’oblige à committer les fichiers générés, il est d’ailleurs généralement recommandé de ne pas le faire...
Perso, pour tous mes projets j’ai juste un configure.ac et un Makefile.am à la racine, plus un Makefile.am dans chaque dossier source. Tout le reste est généré et n’a pas besoin d’être committé.
Le clou dans le cercueil à été 6 mois plus tard quand j'ai voulu ajouter un nouveau fichier C++ au build. Après plusieurs heures passées pour re-comprendre le bouzin
Des heures pour trouver qu’il faut ajouter le nom du fichier à la variable monprogramme_SOURCES dans le fichier Makefile.am ?
comment on met à jour un .am à partir d'un .in
On ne le fait pas, c’est le contraire : le Makefile.in est généré à partir du Makefile.am. C’est sûr que si tu as voulu ajouter ton nouveau fichier dans le Makefile.in, ça allait beaucoup moins bien marcher...
Sérieusement les éditeurs de jeux vidéos devraient mettre Autotools plutôt que SecuRom pour protéger leurs jeux des modifications des hackers.
Ça les protégera seulement des Kevin qui ne savent pas lire des docs, certainement pas des hackers...
Sérieusement, tu dis avoir eu à cœur d’apprendre les Autotools, mais ton expérience, soit est une caricature trollesque, soit est typique de celui qui veut utiliser les autotools sans rien comprendre de ce qu’il fait. (C’est très fréquent : beaucoup d’utilisateurs des Autotools se contentent de recopier ce qu’ils voient dans d’autres projets sans même jamais lire la moindre documentation ; ça ne peut que mal se terminer.)
Les Autotools ne sont pas les outils les plus faciles à utiliser, c’est un fait et c’est une critique tout-à-fait valable. Mais là, le problème est entre la chaise et le clavier.
[^] # Re: Une défense des autotools
Posté par gouttegd . En réponse au journal Un petit tour des systèmes de build. Évalué à 6.
Rien ne t’oblige à committer les fichiers générés, il est d’ailleurs généralement recommandé de ne pas le faire...
Perso, pour tous mes projets j’ai juste un
configure.acet unMakefile.amà la racine, plus unMakefile.amdans chaque dossier source. Tout le reste est généré et n’a pas besoin d’être committé.Des heures pour trouver qu’il faut ajouter le nom du fichier à la variable
monprogramme_SOURCESdans le fichierMakefile.am?On ne le fait pas, c’est le contraire : le
Makefile.inest généré à partir duMakefile.am. C’est sûr que si tu as voulu ajouter ton nouveau fichier dans leMakefile.in, ça allait beaucoup moins bien marcher...Ça les protégera seulement des Kevin qui ne savent pas lire des docs, certainement pas des hackers...
Sérieusement, tu dis avoir eu à cœur d’apprendre les Autotools, mais ton expérience, soit est une caricature trollesque, soit est typique de celui qui veut utiliser les autotools sans rien comprendre de ce qu’il fait. (C’est très fréquent : beaucoup d’utilisateurs des Autotools se contentent de recopier ce qu’ils voient dans d’autres projets sans même jamais lire la moindre documentation ; ça ne peut que mal se terminer.)
Les Autotools ne sont pas les outils les plus faciles à utiliser, c’est un fait et c’est une critique tout-à-fait valable. Mais là, le problème est entre la chaise et le clavier.