Generiertes Makefile ohne Warnmeldung einschließen

Für ein Projekt von mir erstelle ich automatisch Makefiles und binde sie wie folgt ein:

all:
    @echo 'SUCCESS is $(SUCCESS)'

clean:
    rm depend.mk

depend.mk:
    @echo 'Creating $@'
    @echo 'SUCCESS := 1' > $@

.PHONY: all clean

include depend.mk

Dies funktioniert, aber die Include-Zeile generiert eine Warnmeldung:

$ make
Makefile:13: depend.mk: No such file or directory
Creating depend.mk
SUCCESS is 1

Ich möchte diese erste Warnzeile zum Schweigen bringen, die besagt, dass depend.mk nicht existiert. Ich weiß, dass es keine gibt, da ich eine Regel geschrieben habe, um sie zu generieren. Daher ist die Warnung unnötig (es sei denn, es gibt natürlich keine Regel dafür). Ich möchte NICHT machen, um den Fehler zu ignorieren, wo die enthaltene Datei nicht existiert und es keine Regel dafür gibt, also Präfixinclude mit einem- den fehler zu ignorieren wird bei mir nicht funktionieren. Ich hätte gerne etwas Ähnliches wie die Konvention von bash, stderr nach / dev / null zu leitensome_cmd 2>/dev/null aber zum einbinden in make.

Das obige Beispiel ist ein sehr vereinfachtes Beispiel für diesen Fall. In meinem aktuellen Projekt sind viele automatisch generierte Makefiles (über die automatische Abhängigkeitsgenerierung von Clang) enthalten, was eine erneute Ausführung von bedeutetmake Überflutet meinen Bildschirm mit diesen Warnmeldungen.

Ist so etwas möglich oder muss ich mich nur um die nervigen Warnmeldungen kümmern?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage