« Autotools en C/Programme exemple » : différence entre les versions
Contenu supprimé Contenu ajouté
Changed "affichage_SOURCE" to "affichage_SOURCES" so when you have multiple source files it doesn't only read the first one. |
m <source> -> <syntaxhighlight> (phab:T237267) |
||
Ligne 6 :
Notre arborescence pour l'instant :
<
affichage/
src/
</syntaxhighlight>
On crée le fichier source en langage C dans ''src/'' :
<
affichage/
src/
programme.c
</syntaxhighlight>
Et éditons-le pour y placer notre code trivial :
<
/* programme.c */
void main()
Ligne 25 :
printf("Bonjour\n");
}
</syntaxhighlight>
==Fichiers de configuration==
Ligne 37 :
Pour cela, il faut se placer dans le répertoire principal ''affichage'' :
<
$ cd affichage/
$ autoscan
</syntaxhighlight>
''autoscan'' va générer un fichier ''configure.scan''. Son édition va nous permettre de compléter quelques champs :
<
AC_PREREQ([2.65])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
Ligne 57 :
# Checks for library functions.
AC_OUTPUT
</syntaxhighlight>
Il sera modifié et complété :
<
AC_PREREQ([2.65])
AC_INIT(affichage, 0.01, affichage@gnu.org) # remplir ici le nom du programme, version, courriel du développeur
Ligne 76 :
src/Makefile # être parcourue
)
</syntaxhighlight>
Une fois édité, on le renomme en ''configure.ac''.
Donc à ce stade, l'arborescence doit être :
<
affichage/
configure.ac
src/
programme.c
</syntaxhighlight>
===Makefile.am===
Ligne 90 :
On ajoute un ''Makefile.am'' :
<
affichage/
configure.ac
Ligne 96 :
src/
programme.c
</syntaxhighlight>
Dans lequel on place ce contenu :
<
SUBDIRS=src
</syntaxhighlight>
Et on en crée un deuxième :
<
affichage/
configure.ac
Ligne 112 :
Makefile.am
programme.c
</syntaxhighlight>
Dans lequel on va écrire :
<
bin_PROGRAMS=affichage
affichage_SOURCES=programme.c
</syntaxhighlight>
===README===
Ligne 131 :
Ce script (disponible [http://freecode.com/projects/buildconf ici]) va nous permettre de simplifier la construction, car il réalise toutes les opérations nécessaires de manière automatique.
Même si tout est automatique, il faut quand même savoir que ce script lance plusieurs commandes différentes dont :
<
$ aclocal
$ autoconf
$ autoheader
$ automake
</syntaxhighlight>
Il faut noter qu'après ce lancement certains fichiers seront créés dont INSTALL, AUTHORS (vide : à compléter), ChangeLog (vide aussi), NOTES (vide), TODO (vide). Encore une fois, maintenir ces fichiers n'est pas difficile et toujours profitable aux utilisateurs.
<
affichage/
autogen.sh
Ligne 149 :
Makefile.am
programme.c
</syntaxhighlight>
Maintenant que tout est prêt, lançons le script :
<
$ ./autogen.sh
</syntaxhighlight>
===LICENSE===
|