Wie liste ich alle Ziele in make auf?

18

Angenommen, Sie haben eine Projektstruktur mit vielen Makefiles und es gibt ein Makefile der obersten Ebene, das alle anderen enthält.

Wie können Sie alle möglichen Ziele auflisten?

Ich kann schreiben

make 

und dann zu tippen, um die Vorschläge zu erhalten, würde im Allgemeinen den Trick tun, aber in meinem Fall gibt es 10000 Ziele. Wenn Sie dies tun, werden die Ergebnisse weitergeleitet und aus irgendeinem Grund führt das Scrollen in der Liste zu einem Einfrieren. Gibt es eine andere Art und Weise?

Sogartar
quelle

Antworten:

24

So erhält das Bash-Completion-Modul für makeseine Liste:

make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'

Es wird eine durch Zeilenumbrüche getrennte Liste von Zielen ohne Paging ausgedruckt.

Chris Down
quelle
2
Vielleicht hinzufügen | sort -u, um es zu sortieren und Duplikate zu entfernen
BrainStone
wie der | sort -uKommentar auch
Mark Ch