GNU Make est une open source et le logiciel en ligne de commande gratuit qui a été conçu à partir du sol pour contrôler la génération de fichiers exécutables et autres fichiers non-source d'un programme, à partir de files.Builds source des programmes du programme de sourcesThis outil est capable de programmes de construction à partir de sources, grâce à un fichier appelé makefile, qui peut être trouvée dans les sources d'archives du programme respectif, et les listes de chacun des fichiers non-source, ainsi que la façon de les calculer à partir d'autres fichiers .Builds et installe le logiciel offresLes est capable de permettre aux utilisateurs finaux de construire et installer des paquets sans les connaître les détails de la façon dont il est fait, et il peut également comprendre automatiquement quels fichiers doivent être mis à jour, sur la base duquel les fichiers sources ont été modifié.
GNU Make a de nombreuses fonctionnalités puissantes qui peuvent être utilisés par les développeurs dans makefiles. Il peut également se régénérer, utiliser et supprimer des fichiers intermédiaires qui ne doivent pas être enregistrés au cours de la compilation process.An programme essentiel pour chaque GNU / Linux systemGNU Faire est l'un des programmes les plus essentiels dans un système d'exploitation GNU / Linux, car il permet aux utilisateurs de compiler et installer des applications sur leur distribution à l'aide de l'archive sources universelles du projet respectif. Sans elle, vous avez gagné & rsquo; t être en mesure d'installer un package qui est distribué seulement comme une source tarball.Under le capot, la disponibilité et le logiciel OSesThe pris en charge est entièrement écrit dans le langage de programmation C ++ et a été conçu pour fonctionner sur tout GNU / distribution Linux, supportant à la fois 32 bits et l'instruction 64 bits set architectures.
Le plus drôle est que GNU Make est lui-même distribué en tant que sources d'archives universelle, ce qui signifie que vous aurez besoin d'avoir déjà GNU Make installé afin de l'installer sur votre distribution Linux à partir de sources. Cependant, il doit être installé par défaut sur un distro
Ce qui est nouveau dans cette version:.
- AVERTISSEMENT: arriération incompatibilité! Si .POSIX est spécifié, puis faire en conformité avec la norme POSIX backslash / exigences de manutention newline, qui introduit les modifications suivantes à la barre oblique inverse norme / manutention dans les lignes non-recette newline: * Tout espace de fuite avant la barre oblique inverse est préservée * Chaque backslash / newline (plus les espaces suivants) est converti en un espace unique
- Nouvelle fonctionnalité: l'intégration GNU Guile Cette version de GNU make peut être compilé avec l'intégration GNU Guile. GNU Guile sert de langage d'extension intégré pour make. Voir la & quot; Guile Fonction & quot; section dans le manuel GNU Make pour plus de détails. Actuellement GNU Guile 1.8 et 2.0+ sont pris en charge. Dans Guile 1.8 il n'y a pas de support pour les jeux de caractères internationalisés. Dans Guile 2.0+, les scripts peuvent être encodés en UTF-8.
- Nouvelle option en ligne de commande: --output-sync (-O) permet de regrouper la production par cible ou par marque récursive. Ceci est utile au cours parallèle construit pour éviter de mélanger la sortie de différents emplois ensemble donnant difficiles à comprendre les résultats. la mise en œuvre originale David Boyce. Reworked et amélioré par Frank Heckenbach. le support de Windows par Eli Zaretskii.
- Nouvelle ligne de commande Option: --trace permet le traçage des cibles. Lorsqu'elle est activée la recette pour être invoquée est imprimé même si elle serait par ailleurs supprimée par .SILENT ou & quot; @ & quot; caractère préfixe. Aussi avant chaque recette est exécuté le nom makefile et linenumber où il a été défini sont présentés, ainsi que les conditions qui ont causé la cible à prendre en compte à jour.
- Nouvelle ligne de commande argument option: --debug accepte maintenant & quot; n & quot; drapeau (none) qui désactive tous les paramètres de débogage qui sont actuellement activés.
- Nouvelle fonctionnalité: Le & quot; serveur d'emploi & quot; capacité est désormais pris en charge sur Windows. La mise en œuvre a contribué par Troy Runkel
- Nouvelle fonctionnalité: La capacité .ONESHELL est désormais pris en charge sur Windows. Soutien ajouté par Eli Zaretskii.
- Nouvelle fonctionnalité: & quot; = & quot; shell opérateur d'affectation comme une alternative aux $ (shell ...) fonction. Mise en œuvre pour la compatibilité avec les fichiers makefile BSD. Notez qu'il existe des différences subtiles entre les & quot;! = & Quot; et $ (shell ...). Voir la description du GNU make manuel. AVERTISSEMENT: Backward-incompatibilité! Variables se terminant en & quot;! & Quot; préalablement définie comme & quot;! variable = valeur & quot; va maintenant être interprété comme la cession de la coquille. Changez votre affectation à ajouter des espaces entre le & quot;! & Quot; et & quot; = & quot ;: & quot; variables! = Valeur & quot;
- Nouvelle fonctionnalité: & quot; :: = & quot; opérateur d'affectation simple, tel que défini par POSIX en 2012. Cet opérateur a une fonctionnalité identique à & quot;: = & quot; dans GNU make, mais sera portable à toute mise en œuvre de maquillage conforme à un assez nouvelle version de POSIX (voir http://austingroupbugs.net/view.php?id=330). Il est nécessaire de définir la cible .POSIX pour accéder à cet opérateur.
- Nouvelle fonctionnalité: objets chargeable Cette version de GNU make contient un & quot; technologie aperçu & quot ;: la possibilité de charger des objets dynamiques dans le moteur d'exécution de make. Ces objets peuvent être créés par l'utilisateur et peuvent ajouter des fonctionnalités étendues, utilisable par makefiles.
- Nouvelle fonction: $ (fichier ...) écrit dans un fichier .
- Nouvelle variable: $ (GNUMAKEFLAGS) seront analysés pour les drapeaux de maquillage, tout comme MAKEFLAGS est. Il peut être réglé dans l'environnement ou le makefile, contenant GNU make-spécifiques drapeaux pour permettre à votre makefile pour être portable à d'autres versions de make. Une fois que cette variable est analysée, GNU make sera mis à la chaîne vide de sorte que les drapeaux ne seront pas dupliquées sur récursivité.
- Nouvelle variable: `MAKE_HOST 'donne le nom de l'architecture hôte make a été compilé. Ceci est la même valeur que vous voyez après 'Construit pour' lors de l'exécution 'make --version'.
- Comportement de MAKEFLAGS et MFLAGS est plus rigoureusement définie. Tous les drapeaux simples sont regroupés dans le premier mot de MAKEFLAGS. Pas d'options qui acceptent les arguments apparaissent dans le premier mot. Si aucun des simples drapeaux sont présents MAKEFLAGS commence par un espace. Drapeaux avec des versions courtes et longues utilisent toujours les versions courtes dans MAKEFLAGS. Les drapeaux sont classés par ordre alphabétique en utilisant la commande ASCII. MFLAGS ne commence par & quot; - & quot;.
- Réglage des -r et -R options MAKEFLAGS dans un makefile fonctionne maintenant comme prévu, en supprimant toutes les règles et les variables intégrées, respectivement.
- Si une recette échoue, le nom de makefile et linenumber de la recette sont affichés.
- Un réglage de .RECIPEPREFIX se souvient par-recette et les variables étendues dans cette recette utilisent également ce paramètre de préfixe de recette.
- Dans la sortie -p, les paramètres .RECIPEPREFIX sont présentés et toutes les variables spécifiques à la cible sont sorties comme dans un makefile, plutôt que comme des commentaires.
- Sur MS-Windows, recettes qui utilisent & quot; .. & quot; citant ne sera plus forcer l'invocation des commandes via des fichiers batch temporaires et actions de Windows coquilles, ils seront court-circuitées et invoquée directement. (En d'autres termes, & quot; est plus un caractère spécial pour les shells disponibles sous Windows.) Cela permet d'éviter de frapper les limites de shell pour la longueur de commande lorsque les guillemets sont utilisés, mais rien d'autre dans la commande nécessite la coquille. Ce changement pourrait signifier quelques incompatibilités mineures de comportement lorsque la recette utilise chaîne entre guillemets sur les lignes de commande shell.
Commentaires non trouvées