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?

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.


2
Mungkin tambahkan | sort -uuntuk mengurutkannya dan menghapus duplikat
BrainStone

seperti | sort -ukomentar juga
Markus
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.