Automake
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

GNU Automake est un logiciel générant des makefiles portables qui peuvent être utilisés par make pour compiler des programmes. Il provient de la Free Software Foundation et fait partie du système de compilation GNU. Les makefiles produits se conforment aux normes de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de...) de GNU (GNU est un système d'exploitation composé exclusivement de logiciels libres.).

Automake (GNU Automake est un logiciel générant des makefiles portables qui peuvent être utilisés par make pour compiler des programmes. Il provient de la Free Software Foundation et fait partie du système de compilation...) est écrit en Perl et doit être utilisé avec Autoconf (Autoconf est un outil servant à produire des scripts shell qui configurent automatiquement le code source d'un logiciel pour l'adapter à divers systèmes...), un autre outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son efficacité naturelle dans l'action. Cette augmentation se traduit par la simplification des actions entreprises, par une plus...) GNU. Il contient les commandes suivantes:

  • aclocal
  • automake

Automake peut présenter des difficultés à cause du fait que les versions récentes ne sont pas compatibles avec les plus anciennes. Par exemple, un projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et l’intégration d’une...) créé avec Automake 1.4 ne fonctionnera pas avec Automake 1.9.

Approche

Automake vise à permettre au programmeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise du logiciel en créant des algorithmes et en les mettant en œuvre dans un langage de programmation.) d'écrire un makefile dans un langage de plus haut niveau, plutôt que d'avoir à écrire le makefile au complet à la main (La main est l’organe préhensile effecteur situé à l’extrémité de l’avant-bras et relié à ce dernier par le poignet. C'est un organe destiné à saisir et manipuler des objets. Chez...). Dans les cas simples, il suffit de donner :

  • une ligne qui déclare le nom du programme à compiler;
  • une liste de fichiers sources;
  • une liste d'options à passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques Brisson (1723-1806) en 1760.) au compilateur (notamment, dans quels répertoires les en-têtes seront trouvés);
  • une liste d'options à passer à l'éditeur de liens (de quelles bibliothèques le programme a besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes catégories : les besoins primaires, les besoins secondaires et les...) et dans quels répertoires elles se trouvent);

À partir de cette information, Automake génère un makefile qui permet à l'usager de :

  • compiler le programme;
  • nettoyer (supprimer les fichiers produits par la compilation);
  • installer le programme dans les répertoires prévus par les normes GNU;
  • désinstaller le programme des répertoires où il a été installé;
  • créer une archive de distribution des sources (souvent appelée tarball en anglais);
  • vérifier que cette archive est auto-suffisante, et en particulier qu'il est possible de compiler le programme dans un répertoire autre que celui où les sources sont déployées);

Automake s'occupe aussi de générer automatiquement les informations de dépendances, afin que lorsqu'un fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce, un bâtiment, une base de données informatique. Par exemple : fichier des patients d'un médecin, fichier des ouvrages dans...) source est modifié, la prochaine invocation de la commande (Commande : terme utilisé dans de nombreux domaines, généralement il désigne un ordre ou un souhait impératif.) make sache quels fichiers sources ont besoin d'être recompilés en conséquence. Si le compilateur le permet, Automake tente de rendre le système de dépendances dynamique (Le mot dynamique est souvent employé désigner ou qualifier ce qui est relatif au mouvement. Il peut être employé comme :): chaque fois qu'un fichier source est compilé, les dépendances de ce fichier sont mises à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil éclairent le ciel. Son début (par rapport à minuit...) en demandant au compilateur de regénérer la liste des dépendances de ce fichier. Autrement dit, la gestion des dépendances est un effet de bord du processus de compilation.

Ceci tente d'éviter le problème avec certains systèmes de dépendances statiques où les dépendances ne sont détectées qu'une seule fois quand le programmeur commence à travailler sur un projet. Dans un tel cas, si un fichier source acquiert une nouvelle dépendance (par exemple, si on ajoute une directive #include à un fichier source en C), une disparité apparaît alors entre les vraies dépendances et celles qui sont utilisées par le système de compilation. Le programmeur devrait alors regénérer les dépendances, mais il risque d'oublier de le faire.

Automake facilite aussi la compilation de bibliothèques en générant automatiquement des makefiles qui invoquent GNU Libtool (GNU Libtool est un logiciel du Projet GNU qui sert à créer des bibliothèques portables.). Le programmeur est alors exempté d'avoir à utiliser Libtool directement et le projet bénéficie d'un outil capable de créer des bibliothèques de façon portable.

Page générée en 0.079 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique