Table des matières

MAKE

Description

make permet d'installer un logiciel à partir des sources

Généralement l'éditeur fournie un script du genre configure qui permet de vérifier si les fichiers dépendant au logiciels que l'on va installé sont bien présent sur la machine. Ce script génère un fichier Makefile, qui sera lu par la commande make qui lui indiquera ce qu'il faut compiler.

Procédure

Le procédure est généralement la suivante pour installer un logiciel à partir des sources :

Lancement du script "configure"

Aller dans le répertoire ou se trouve les sources et lancer le script configure cd pathtosourcesfiles

./configure

Le script indiquera s'il manque des librairies ou autres fichiers, souvent ce sont des packages manquant qu'il faut installer. Une fois terminier un fichier Makefile est créé.

Lancement de make

Lancer make qui se basera sur le fichier Makefile du repertoire courant pour le traitement de la compilation de sources

make

Il peut se produire divers erreurs pendant cette opération, les messages d'erreurs sont assez clair du genre:

gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include/db4 -I/usr/include 
-pthread -g -O2 -Wreturn-type -Wmissing-prototypes
-Wuninitialized -pthread -g -O2 -I/usr/include/db4 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -g -O2 -I/usr/include/db4
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c wildcard.c -o wildcard.o
yacc  -d cfparse.y
make[2]: yacc: Command not found
make[2]: *** [cfparse.c] Error 127
make[2]: Leaving directory `/root/cfengine/cfengine-2.2.3/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/cfengine/cfengine-2.2.3/src'
make: *** [all-recursive] Error 1

Dans le cas présent il manque la commande yacc, il faut donc installer le package qui installe cette commande et tout recommencer de la facon suivante:

./configure
make clean
make

etc… jusqu'à ne plus avoir d'erreurs. make clean permet de néttoyer le répertoire courant, en supprimant tous les fichiers déjà compilés.

Lancement de make install

Lancer l'installation

make install

Ceci copie tous les fichiers compilés dans les bons répertoires du système