===== 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