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.
Le procédure est généralement la suivante pour installer un logiciel à partir des sources :
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éé.
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.
Lancer l'installation
make install
Ceci copie tous les fichiers compilés dans les bons répertoires du système