Fix: Keine Ziele angegeben und kein Makefile gefunden.


Unabhängig davon, ob Sie mit Ubuntu, Debian oder Red Hat arbeiten, wird möglicherweise der Fehler make angezeigt: *** Keine Ziele angegeben und kein Makefile gefunden. Halt. Da dies ein allgemeines Problem im Zusammenhang mit GNU Make als Ganzes ist, kann es bei unzähligen Unix-Implementierungen auftreten. Dies bedeutet, dass sich in Ihrem aktuellen Arbeitsverzeichnis keine Datei namens makefile oder Makefile befindet. Glücklicherweise ist das ein leicht zu behebender Fehler.

Methode 1: Suchen eines Makefiles im aktuellen Verzeichnis

Möglicherweise möchten Sie versuchen, den Befehl make noch einmal im aktuellen Verzeichnis auszuführen, um festzustellen, ob derselbe Fehler auf Sie geworfen wird. Dies ist besonders wichtig, wenn Sie ein neues Terminalfenster geöffnet und bereits versucht haben, das richtige Verzeichnis zu finden, oder wenn Sie den Befehl cd seit dem letzten Versuch verwendet haben, GNU make auszuführen.

Wenn dies der Fall ist, führen Sie den Befehl ls oder dir aus, um festzustellen, welche Dateien sich in Ihrem aktuellen Verzeichnis befinden. Sie befinden sich möglicherweise nicht im rechten Teil des Verzeichnisbaums. Wenn Sie feststellen, dass Sie Verzeichnisse sehen, die zu Ihrem root / -Verzeichnis oder Ihrem home ~ -Verzeichnis gehören, sollten Sie den Befehl cd ausführen, um sich an der richtigen Stelle zu positionieren und den Befehl make auszuführen.

Es besteht die Möglichkeit, dass Sie sich noch weiter von Ihrem erwarteten Standort entfernt befinden. In unserem Beispiel haben wir versucht, make aus dem Verzeichnis / var / crash auszuführen, und festgestellt, dass es überhaupt nicht funktioniert hat. Es ist nicht zu erwarten, dass es von hier aus ausgeführt wird, da die einzigen Dateien an diesem bestimmten Speicherort aus nicht verwandten Absturzberichten stammen.

Höchstwahrscheinlich möchten Sie Ihren Befehl make in einem Verzeichnis ausführen, das sich irgendwo in Ihrem Home-Verzeichnis befindet. Wenn Sie beispielsweise die neueste Version von GNU nano aus dem Quellcode erstellen, befindet sich wahrscheinlich ein Verzeichnis unter ~ / nano-2.9.6, in das Sie eine CD erstellen und dann make erneut ausführen können. Möglicherweise möchten Sie versuchen, ls noch einmal auszuführen, bevor Sie versuchen, sicherzustellen, dass sich im Verzeichnis ein Makefile befindet, aus dem Sie erstellen können.

Beachten Sie, dass Sie zuerst die Installation konfiguriert haben müssen. Der Befehl configure schafft die perfekte Umgebung für den GNU-Compiler. Wenn Sie selbst im richtigen Projektverzeichnis kein Makefile finden, führen Sie ./configure aus, während Sie sich noch darin befinden, gefolgt vom Befehl make. Wenn dies korrekt kompiliert wird, können Sie Ihr Projekt mit sudo make install installieren. Denken Sie jedoch daran, dass Sie nichts als root erstellen möchten, sodass Sie sudo make oder etwas anderes außerhalb der Installation niemals ausführen möchten.

Methode 2: Angeben eines benutzerdefinierten Makefiles

Angenommen, das Problem wurde behoben, müssen Sie nichts weiter tun. Es sind jedoch zwei spezielle Anwendungsfälle zu berücksichtigen, wenn die vorherige Methode Ihr Problem nicht behoben hat. In beiden Fällen müssen Sie ein eigenes Makefile für ein Projekt schreiben, das Sie von Hand konfiguriert haben.

Mit der Option -f können Sie ein benutzerdefiniertes Makefile angeben, das nicht buchstäblich Makefile heißt. Wenn Sie beispielsweise ein Backup-Makefile mit dem Namen makefile.bak hatten, können Sie es angeben, indem Sie make -f makefile.bak über die Befehlszeile ausführen. Sie können makefile.bak durch einen beliebigen Dateinamen ersetzen und die Option -i einschließen, wenn Sie Fehler in einem benutzerdefinierten oder veralteten Makefile ignorieren möchten, während der Compiler ausgeführt wird. Dies wird normalerweise nicht empfohlen, da Sie wahrscheinlich Ihr Makefile bearbeiten möchten, wenn etwas daran falsch ist.

Der andere sehr eng verwandte Anwendungsfall betrifft eine Situation, in der die Groß- und Kleinschreibung ein Problem darstellt. Im Folgenden sind alle separaten Dateien in der Unix-Geschäftsweise aufgeführt:

  • Makefile
  • Makefile
  • makeFile
  • MakeFile
  • MakefilE

Benutzerdefinierte konfigurierte Programme können möglicherweise ein Makefile mit ungerader Großschreibung nicht erkennen. Wenn Sie es für ein Codierungsprojekt, an dem Sie arbeiten, handgeschrieben haben, möchten Sie es wahrscheinlich in Makefile umbenennen, obwohl Sie die Option -i verwenden können, um sicherzustellen, dass GNU make es finden kann. Denken Sie daran, dass Sie, wenn Sie alles richtig geschrieben haben, trotzdem ./configure aus Ihrem eigenen Projekt ausführen können, um es zu zwingen, die richtige Umgebung zu generieren und dieses Problem zunächst zu vermeiden.


0 Comments

Kommentar verfassen