Correction : Aucun objectif spécifié et aucun makefile trouvé
Découvrez comment résoudre l'erreur commune "Pas de cibles spécifiées et aucun makefile trouvé" sur GNU Make en vérifiant votre répertoire, générant un Makefile ou en spécifiant un personnalisé.
Que vous travailliez avec Ubuntu, Debian ou Red Hat, vous pourriez voir une erreur qui indique :
make: *** Pas de cibles spécifiées et aucun makefile trouvé. Arrêt.
Étant donné qu'il s'agit d'un problème général lié à GNU Make dans son ensemble, vous pourriez le rencontrer sur de nombreuses implémentations Unix. Cela signifie qu'il n'existe pas de fichier appelé makefile ou Makefile dans votre répertoire de travail actuel. Heureusement, cette erreur est facile à corriger.
Méthode 1 : Trouver un Makefile dans le Répertoire Actuel
Vous pouvez essayer d'exécuter à nouveau la commande make dans le répertoire actuel pour voir si la même erreur se reproduit. Cela est particulièrement important si vous avez ouvert une nouvelle fenêtre de terminal et que vous avez déjà essayé de localiser le bon répertoire ou si vous avez utilisé la commande cd depuis la dernière fois que vous avez essayé d'exécuter GNU make.
En supposant que cela soit le cas, essayez d’exécuter la commande ls ou dir pour voir quels fichiers se trouvent dans votre répertoire actuel. Il se peut que vous ne soyez pas au bon endroit dans l'arborescence des répertoires. Si vous remarquez que vous voyez des répertoires qui appartiennent à votre répertoire racine / ou à votre répertoire personnel ~, alors vous voudrez exécuter la commande cd pour vous positionner au bon endroit pour exécuter la commande make.
Il est possible que vous vous trouviez encore plus loin de l’endroit où vous êtes censé être. Dans notre exemple, nous avons essayé d'exécuter make depuis le répertoire /var/crash
et avons constaté que cela ne fonctionnait pas du tout. Il ne peut pas être exécuté d’ici, car les seuls fichiers à cet emplacement particulier proviennent de rapports de crash non liés.
Plus probablement, vous voudrez exécuter votre commande make depuis un répertoire situé quelque part dans votre répertoire personnel. Par exemple, si vous construisiez la dernière version de GNU nano à partir de la source, vous auriez probablement un répertoire situé à ~/nano-2.9.6
dans lequel vous pourriez utiliser cd et ensuite exécuter à nouveau make. Vous voudrez peut-être essayer d'exécuter ls
encore une fois avant d'essayer de faire pour vous assurer qu'il y a un makefile situé dans le répertoire à partir duquel vous pouvez construire.
Gardez à l'esprit que vous devrez d'abord avoir configuré l'installation. La commande configure crée l'environnement parfait pour que le compilateur GNU s'épanouisse. Si vous ne trouvez pas de makefile même dans le bon répertoire de projet, alors exécutez ./configure
tout en étant encore à l'intérieur, suivi de la commande make. Si cela compile correctement, vous pouvez installer votre projet avec sudo make install
, mais rappelez-vous que vous ne voudrez pas construire quoi que ce soit en tant que root, donc vous ne voudrez jamais exécuter sudo make ou autre chose en dehors de l'installation.
Méthode 2 : Spécifier un Makefile Personnalisé
Supposant que cela ait résolu le problème, il n'y a rien de plus à faire. Cependant, il existe deux cas d'utilisation spéciaux à considérer si la méthode précédente n'a pas corrigé votre problème. Ces deux cas impliquent d'écrire votre propre makefile pour un projet que vous avez configuré manuellement.
Vous pouvez spécifier un makefile personnalisé portant un nom autre que makefile en utilisant l'option -f. Par exemple, si vous aviez un makefile de sauvegarde appelé makefile.bak, vous pourriez le spécifier en exécutant make -f makefile.bak depuis la ligne de commande. Vous pouvez remplacer makefile.bak par n'importe quel nom de fichier et vous pourriez inclure l'option -i si vous vouliez ignorer les erreurs dans un makefile personnalisé ou obsolète pendant que le compilateur s'exécute. Cela n'est généralement pas recommandé, car vous voudrez probablement modifier votre makefile s'il y a quelque chose qui ne va pas.
L'autre cas d'utilisation très proche implique une situation où la sensibilité à la casse est un problème. Les fichiers suivants sont tous des fichiers distincts dans le monde Unix :
- Makefile
- makefile
- makeFile
- MakeFile
- MakefilE
Les programmes configurés de manière personnalisée peuvent ne pas être capables de reconnaître un makefile avec une capitalisation inhabituelle. Si vous l'avez écrit à la main pour un projet de codage sur lequel vous travaillez, vous voudrez probablement le renommer makefile, bien que vous puissiez utiliser l'option -i pour vous assurer que GNU make est capable de le trouver. Rappelez-vous que si vous avez tout écrit correctement, vous pouvez toujours exécuter ./configure
depuis votre propre projet pour forcer la génération du bon environnement et éviter ce problème en premier lieu.
Questions et réponses qu'il est important de savoir
Comment exécuter un fichier makefile ?
Pour exécuter un fichier Makefile, suivez ces étapes simples :
- Ouvrez le terminal : Lancer votre interface de ligne de commande.
- Naviguez jusqu'au répertoire : Utilisez la commande
cd
pour vous rendre dans le dossier contenant votre Makefile. - Exécutez la commande : Tapez simplement
make
et appuyez sur Entrée. Cela va exécuter toutes les instructions définies dans le Makefile. - Options supplémentaires (facultatif) :
- - Pour exécuter une cible spécifique, utilisez
make nom_de_la_cible
- .
- Pour voir les commandes sans les exécuter, ajoutez l'option
-n
:make -n
. - Pour forcer la recompilation, utilisez l'option
-B
:make -B
. Cette méthode est rapide et efficace pour automatiser le processus de compilation et d'exécution de vos projets.
Maintenant que tu as fini de lire Correction : Aucun objectif spécifié et aucun makefile trouvé, nous t'invitons à explorer davantage la catégorie Applications. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!
Laisser un commentaire