l'extension de fichier makefile
, je voulais créer un makefile. J'ai donc écrit des instructions dans un fichier bloc-notes.
Mais quelle extension dois-je donner lors de l'enregistrement de ce fichier?
5 réponses
Si vous exécutez:
make
Ce programme recherchera un fichier nommé makefile dans votre répertoire, puis l'exécutera. Si vous avez plusieurs makefiles, vous pouvez les exécuter avec la commande:
make -f MyMakefile
Par défaut, lorsque make recherche makefile, il essaie ce qui suit les noms, dans l'ordre:
GNUmakefile
,makefile
etMakefile
. Normalement vous devriez appeler votre makefile soitmakefile
ouMakefile
Ceux-ci seront recherchés si vous ne spécifiez pas le makefile avec l'indicateur -f
(seul GNU make cherchera GNUMakefile
, alors donnez-lui ce nom seulement si vous savez que vous utilisez des outils GNU)
On dirait que vous utilisez Windows, auquel cas les makefiles ont souvent un suffixe .NMK
(car ils sont destinés à être utilisés avec NMAKE
). Dans le monde civilisé, les makefiles n'ont généralement pas de suffixe: makefile
ou Makefile
sont les noms de fichiers canoniques.
Si vous devez distinguer les uns des autres et que vous gérez la configuration du makefile, vous devez utiliser project.faire que le nom. Sur la base que la plupart des LSE, en particulier gedit, reconnaissent cela.MAK. Lors de l'empaquetage ou de la déconnexion dans un dossier dédié, il peut être renommé en makefile, le chemin d'accès complet Étant descriptif du projet. De cette façon, vous pouvez avoir différentes versions. Si votre travail est assez complexe pour utiliser un makefile vous ne devriez pas mélanger plusieurs construit dans le même dossier, de toute façon.
Par défaut, la marque GNU essaie certains noms particuliers, sans utiliser d'extension. Vous pouvez spécifier un fichier avec n'importe quel nom. Mais si vous voulez la coloration syntaxique dans certains éditeurs, vous pouvez utiliser une extension.
Il existe de telles règles pour reconnaître les fichiers make dans Geany editor:
Make=*.mak;*.mk;GNUmakefile;makefile;Makefile;makefile.*;Makefile.*;