Bagaimana cara membuat daftar semua target yang dibuat?

18

Katakanlah Anda memiliki struktur proyek dengan banyak Makefile dan ada Makefile tingkat atas yang mencakup semua yang lain.

Bagaimana Anda bisa mendaftar semua target yang mungkin?

Saya tahu menulis

make 

dan kemudian menabrak untuk mendapatkan saran umumnya akan melakukan trik, tetapi dalam kasus saya ada 10.000 target. Melakukan ini melewati hasil melalui lebih banyak dan juga untuk beberapa alasan menggulir daftar hasil dalam pembekuan. Apakah ada cara lain?

Sogartar
sumber

Jawaban:

24

Inilah bagaimana modul penyelesaian bash untuk makemendapatkan daftarnya:

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

Mencetak daftar target yang dibatasi garis baru, tanpa paging.

Chris Down
sumber
2
Mungkin tambahkan | sort -uuntuk mengurutkannya dan menghapus duplikat
BrainStone
seperti | sort -ukomentar juga
Markus