Funktion zum Überprüfen, ob eine Datei mit GNU Make vorhanden ist

Mit Hilfe von GNU-Makefiles kann Ihr kleines Unternehmen Quellcode herausgeben, der die Kompilierung an den Computer eines bestimmten Clients anpasst und vorbeugend Probleme oder unerfüllte Software-Abhängigkeiten erkennt. Die Überprüfung, ob bestimmte Dateien vorhanden sind, ist für die GNU-Funktion make von zentraler Bedeutung. Sie können aus einer von mehreren Methoden wählen, um genau dies zu tun.

Regeln

Eine Möglichkeit, um zu überprüfen, ob eine Datei in Ihrem GNU-Makefile vorhanden ist, umfasst das eingebaute Regelsystem. Der Code unterhalb der Syntax "target: normal-prerequisites | order-only-prerequisites" wird nur ausgeführt, wenn die als "target" angegebenen Dateien nicht neuer sind als die in "normal-prerequisites" angegebenen und wenn die Dateien Sie sind In "Nur-Bestellung-Voraussetzungen" angeben. Wenn Sie die Syntax "target: | order-only-prerequisites" verwenden und keine Dateien auf der linken Seite des "|" angeben Symbol, dann wird der nachstehende Code nur ausgeführt, wenn die Datei oder die Dateien, die Sie als "Nur-Bestellung-Voraussetzungen" angeben, vorhanden sind.

Testfunktion

Der Befehl "test -f" kann auch prüfen, ob eine bestimmte Datei vorhanden ist. Dieser Befehl nimmt einen Dateinamen als Argument an und gibt dann den booleschen Wert "true" zurück, wenn der übergebene Dateipfad vorhanden ist, und "false", wenn er nicht vorhanden ist. Sie können diesen Befehl in "if" -Anweisungen und andere Steuerfunktionen integrieren, die Sie im Makefile ablegen, um die Kontrolle über die beiden Ergebnisse zu steuern.

Nach Verzeichnis suchen

Die Rules-Methode oder der Befehl "test -d" funktioniert genauso wie der Befehl "test -f". Sie gibt nur dann "true" zurück, wenn der als Argument angegebene Pfad ein vorhandenes Verzeichnis ist, anstatt zu prüfen, ob das Argument eine Datei ist . Wenn Sie das Vorhandensein eines Verzeichnisses überprüfen, in dem Ihr Makefile Dateien kompiliert oder Dateien erstellt, versucht der Befehl "mkdir -p Verzeichnisname", ein Verzeichnis mit dem Namen zu erstellen, den Sie als "Verzeichnisname" angegeben haben, es sei denn es existiert schon Das Argument "-p" verhindert, dass mkdir eine Fehlermeldung auslöst, in der der Endbenutzer der Meinung ist, dass etwas schiefgegangen ist. Sie können das Verzeichnis dann in Ihrem Makefile-Code verwenden und wissen, dass die Datei vorhanden ist - weil sie bereits vorhanden war oder weil mkdir sie erstellt hat.

Robustes Makefile

Verschiedene Clientsysteme speichern Pakete, von denen Ihre Software abhängig ist, in etwas unterschiedlichen Verzeichnispfaden. Wenn Sie von einem einzigen Standort ausgehen, können Ihre Kunden jedoch Makefiles erhalten, die ihnen mitteilen, dass sie ein bereits vorhandenes Softwarepaket benötigen. Sie können dieses Problem minimieren, indem Sie die verschiedenen Systeme untersuchen, die von Ihrem Zielkundenstamm verwendet werden, und sicherstellen, dass Ihr Makefile mehrere mögliche Speicherorte auf abhängige Softwarepakete überprüft.

Beliebte Beiträge