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?
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, The GNU Make essaie certains noms particuliers, sans utiliser d’extension. Vous pouvez spécifier un fichier avec n’importe quel nom. Mais si vous souhaitez mettre en évidence la syntaxe dans certains éditeurs, vous pouvez utiliser une extension .
Il existe de telles règles pour reconnaître les fichiers make dans l'éditeur Geany:
Make=*.mak;*.mk;GNUmakefile;makefile;Makefile;makefile.*;Makefile.*;
Depuis le GNU Make documentation
Par défaut, lorsque make recherche le makefile, il essaie les noms suivants, dans l'ordre:
GNUmakefile
,makefile
etMakefile
. Normalement, vous devez appeler votre makefile soitmakefile
ouMakefile
Ceux-ci seront recherchés si vous ne spécifiez pas le makefile avec le -f
flag (Only GNU make recherchera GNUMakefile
, donc ne lui donnez ce nom que si vous savez que vous utilisez GNU tools) )
Il semble que vous exécutiez Windows, auquel cas les makefiles ont souvent un .NMK
suffixe (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.make comme nom. Sur la base que la plupart des LSE, en particulier gedit, reconnaissent cela sur .mak. Lors de l'empaquetage ou de la déconnexion dans un dossier dédié, il peut être renommé en makefile, le chemin complet étant descriptif du projet. De cette façon, vous pouvez avoir différentes versions. Si votre travail est suffisamment complexe pour utiliser un makefile, vous ne devez de toute façon pas mélanger plusieurs builds dans le même dossier.