Làm thế nào để liệt kê tất cả các mục tiêu trong thực hiện?


18

Giả sử bạn có cấu trúc dự án với rất nhiều Makefile và có một Makefile cấp cao nhất bao gồm tất cả các cái khác.

Làm thế nào bạn có thể liệt kê tất cả các mục tiêu có thể?

Tôi biết viết

make 

và sau đó lập bảng để nhận được các đề xuất thường sẽ thực hiện thủ thuật, nhưng trong trường hợp của tôi, có 10000 mục tiêu. Làm điều này vượt qua các kết quả thông qua nhiều hơn và vì một số lý do cuộn danh sách kết quả trong một đóng băng. Có cách nào khác không?

Câu trả lời:


24

Đây là cách mô-đun hoàn thành bash để makecó được danh sách của nó:

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

Nó in ra một danh sách các mục tiêu được phân định bằng dòng mới, mà không cần phân trang.


2
Có thể thêm | sort -uđể sắp xếp nó và loại bỏ các bản sao
BrainStone

cũng thích | sort -ubình luận
Mark Ch
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.