Guest Guest[...]
libfl.a ist eine physikalische Datei und sehr wohl sinnvoll deren Existenz zu pruefen.
[...]
Sicher sollte es irgendwo eine Datei
libfl.a geben, wenn man statisch gegen die Laufzeitumgebung von Flex linken möchte. Für meinen Kommentar ist das allerdings irrelevant, denn im Makefile wird nirgends
libfl.a erwähnt, sondern vielmehr
-lfl als Abhängigkeit eines Ziels angegeben. Jedes der verbreiteten Make-Programme versucht in diesem Fall ein Ziel mit dem Namen
-lfl zu bauen und da in dem Makefile nirgends ein solches Ziel deklariert ist und auch keine implizite Regel existiert, die auf diese Zielangabe passt, meldet Make einen Fehler, den der Originalposter in seinem Beitrag auch erwähnte. Make ist keinesfalls in der Lage magisch zu erkennen, dass
-lfl ein Flag für den Linker sein könnte und nach der passenden Bibliotheksdatei zu suchen.
Die Existenz von Bibliotheken und ihre Position im Dateisystem sollte man im Übrigen eher nicht in einem Makefile sondern in einem Konfigurationsschritt vor der Ausführung des Makefiles überprüfen.
@Guest: Sorgfältige Lektüre der Beiträge und Nachdenken vor dem Schreiben verhindern unqualifizierte Beiträge. Und Beleidigungen nutzen hier niemandem.
When C++ is your hammer, every problem looks like your thumb.