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?

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.


2
Vielleicht hinzufügen | sort -u, um es zu sortieren und Duplikate zu entfernen
BrainStone

wie der | sort -uKommentar auch
Mark Ch
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.