Ich frage mich, wie ich ein Echo in einem Makefile vermeiden kann:
clean:
rm -fr *.o
wird diese Regel gedruckt:
$>make clean
rm -fr *.o
$>
Wie kann ich das vermeiden?
Ich frage mich, wie ich ein Echo in einem Makefile vermeiden kann:
clean:
rm -fr *.o
wird diese Regel gedruckt:
$>make clean
rm -fr *.o
$>
Wie kann ich das vermeiden?
Es gibt eine großartiger Artikel über die Verwendung .SILENT
in der erklärt wird, wie man sie bedingt aktiviert.
Ich habe diese Informationen verwendet, um sie in mein Makefile aufzunehmen:
# Use `make V=1` to print commands.
$(V).SILENT:
# Example rule, only the @echo needs to be added to existing rules
*.o: %.c
@echo " [CC] $<"
gcc ...
Das bedeutet, dass Sie bei der Ausführung von make
Normalerweise wird die normale Ausgabe unterdrückt und stattdessen die echo
Befehle funktionieren:
$ make
[CC] test.c
[CC] test2.c
Aber es erlaubt Ihnen, Probleme zu debuggen, indem Sie die V=1
Parameter, der immer noch die [CC]
Nachrichten, da es die Ausgabe auflockert, aber die traditionelle Makefile-Ausgabe ist auch sichtbar:
$ make V=1
[CC] test.c
gcc ...
[CC] test2.c
gcc ...
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.