Fehler bei ifeq im makefile

Gast #284321
Lesenswert?
• ▲
▼
In einem makefile habe ich in einer Regel folgendes Konstrukt:

out/%.o:src/%.c
#ifneq ( ,$(findstring $(<F),$(FILELIST)))
    Kommandos
#else
    andere Kommandos
#endif

Das soll bewirken, daß er 'Kommandos' ausführt, wenn die aktuelle
c-Datei in der Liste FILELIST ist, sonst soll er 'andere Kommandos'
ausführen.
Dummerweise ist der Vergleich immer unwahr, es werden also immer
'andere Kommandos' ausgeführt.
Der findstring-Aufruf und die Liste sind OK, das habe ich vorher per
echo-Ausgabe getestet. Im Netz habe ich Hinweise gefunden, daß die
automatischen Variablen wie $(<F) im ifeq oder ifneq nicht
funktionieren.
Ist das wirklich so? Und wenn ja, was kann ich tun, um das zu umgehen?
Ich habe schon alles Mögliche ausprobiert und hoffe nun, hier jemanden
zu finden, der mir einen Tip geben kann.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.