www.mikrocontroller.net

Forum: Compiler & IDEs Fehler bei ifeq im makefile


Autor: jokey (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: jokey (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Die # vor den ifneq, else und endif sind im makefile natürlich
nicht da. Das war nur ein Versehen, sorry.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.