• [^] # Re: automake & co.

    Posté par . En réponse au message fichier Makefile.in et make. Évalué à 3.

    Plus précisément: le développeur / mainteneur de l'application écrit un fichier Makefile.am qui décrit ce dont a besoin l'application; et ensuite il lance le bastringue des autotools, dont automake qui crée le fichier Makefile.in à partir du fichier Makefile.am. En passant les différentes étapes des autotools qui ne sont pas pertinentes ici, il arrive à fournir une archive contenant entre autres le Makefile.in et le script configure.

    C'est alors à l'utilisateur de lancer le script configure sur sa propre machine, qui va faire tous les tests qui vont bien et, si tous les tests passent, créer le fichier Makefile à partir des informations dont il dispose, dont le Makefile.in (il y a aussi d'autres fichiers, mais je résume).

    Et ensuite l'utilisateur peut compiler son application (make), l'installer (make install) ou faire un peu ce qu'il veut suivant ce que le Makefile contient (les Makefile générés par les autotools sont plutôt complets de ce côté, et extensibles). Mais note bien que le fichier n'est normalement pas créé si configure rencontre un problème. Vérifie ce qu'il raconte, et les logs (je crois que le fichier de log s'appelle configure.log, de tête...).

    C'est cette procédure qui se traduit assez souvent par la ligne de commande
    ./configure && make && make install

    dans des documentations un peu expéditives... (et, personnellement, je ne procède pas ainsi: le make install nécessite bien souvent des droits d'admin, sous lequel je n'ai pas forcément envie de tester le code que j'ai téléchargé... J'utilise plutôt un compte non privilégié pour compiler-tester, puis je passe en admin pour installer).

    Pour en revenir au problème, je pense qu'il faut regarder du côté des logs de configure. S'il n'indique rien de particulier, vérifie si le fichier Makefile a bien été généré; sinon il faut corriger ce qui pose problème (les logs de configure peuvent ne pas être très explicites parfois...).