Ich habe folgenden code der Eine datei in eine temporäre Datei parst und diese dann per include ausführt. Das Problem ist, das make nicht immer wartet bis die Datei komplett geschrieben ist und versucht eine unvollständige Datei zu lesen, was dann zu Fehlern führt.
Nun dachte ich mir folgender Code würde die temporäre Datei überflüssig machen:
Ich habe extra awk gelernt um einen Parser zu schreiben der schnell genug ist um ihn jedes mal auszuführen (für meine Konfiguration 0.03 statt 2 Sekunden). Jedoch interpretiert make nicht den Inhalt der Variable sondern meldet etwas in der Richtung 'operator needed'.
Wo ist mein Denkfehler, wie kann ich den Inhalt der Variable ausführen?
Code:
# Parse configuration into a make file.
BUILDFLAGS!= [ "${BUILDFLAGS_CONF}" -nt "${BUILDFLAGS_TMP}" ] && ${BUILDFLAGS_PARSER} ${BUILDFLAGS_CONF} > ${BUILDFLAGS_TMP} || exit 0
# Include that make file.
.if exists(${BUILDFLAGS_TMP})
.include "${BUILDFLAGS_TMP}"
.endif
Code:
BUILDFLAGS!= ${BUILDFLAGS_PARSER} ${BUILDFLAGS_CONF}
${BUILDFLAGS}
Wo ist mein Denkfehler, wie kann ich den Inhalt der Variable ausführen?