make install
fait ce que l' Makefile
auteur veut qu'il fasse. En règle générale, il est trop tard pour modifier le répertoire d'installation, comme il est souvent connu auparavant , lors de la construction. Les fichiers d'aide et les fichiers de configuration peuvent donc être référencés avec les noms de chemin corrects.
De nombreux projets utilisent les outils automatiques GNU pour essayer d'améliorer leur portabilité entre les différences de matériel et de système d'exploitation. (Différentes variantes d'Unix utilisent des en-têtes légèrement différents pour les déclarations de fonctions légèrement en dehors du chemin habituel, à l'exception de la plupart des programmes nécessitant l'un ou l'autre de ceux déclarés dans des emplacements différents.)
Lorsqu'un projet utilise les outils automatiques, le mantra normal à installer est le suivant:
./configure
make
make install
Le ./configure
vous permet généralement d'utiliser une option de ligne de commande comme --prefix /opt/apache
ou quelque chose de similaire pour spécifier un chemin différent. /usr/local/
est un défaut commun prefix
. Il est beaucoup plus facile pour un logiciel construit localement de vivre au même endroit et un logiciel fourni par la distribution que de vivre dans les "répertoires principaux":, /usr/
/bin/
etc. (Les emballeurs font très attention à ne jamais toucher les fichiers /usr/local/
- ils savent que c'est exclusivement pour les administrateurs système.)
Quoi qu'il en soit, la ./configure --prefix /path/to/new/prefix
fixeront une variable dans la Makefile
qui est disponible lors de la compilation du programme, la modification des pages de manuel afin qu'ils pointent vers les emplacements pour les fichiers, la modification des fichiers de configuration, etc. Ainsi make
construira le logiciel spécifiquement pour l'emplacement d' installation que vous voulez et make install
l'installera à cet endroit.
La plupart des programmes peuvent être exécutés même sans la dernière make install
étape - ils ./program_name
seront souvent démarrés. C’est définitivement une affaire de projet - certaines, comme postfix
, qmail
etc., sont composées de nombreux éléments en mouvement et reposent sur leur collaboration. D'autres, comme ls
ou su
pourraient être assez autonomes pour s'exécuter correctement à partir du répertoire dans lequel ils ont été construits. (Ce n'est pas souvent utile - mais parfois très utile.)
Cependant, tous les projets n'utilisent pas les outils automatiques: ils sont énormes , compliqués et difficiles à maintenir. Les écritures manuscrites Makefile
sont beaucoup plus simples à écrire, et je pense personnellement que le simple fait de distribuer une Makefile
variable simple avec des variables de configuration disponibles est beaucoup plus facile pour les développeurs et les utilisateurs. (Bien que le ./configure ; make ; make install
mantra soit vraiment facile pour les utilisateurs quand cela fonctionne.)
make install
étapes du point de vue des programmeurs.