make에서 모든 대상을 나열하는 방법?


18

Makefile이 많은 프로젝트 구조를 가지고 있고 다른 모든 것을 포함하는 최상위 Makefile이 있다고 가정 해 봅시다.

가능한 모든 대상을 어떻게 나열 할 수 있습니까?

나는 글을 안다

make 

그런 다음 제안을 얻기 위해 탭하면 일반적으로 트릭을 수행하지만 제 경우에는 10000 개의 목표가 있습니다. 이 작업을 수행하면 결과가 더 많이 전달되고 어떤 이유로 든 목록을 스크롤하면 정지됩니다. 다른 방법이 있습니까?

답변:


24

이것은 bash 완성 모듈 make이 목록 을 얻는 방법입니다 .

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

페이징없이 줄 바꿈으로 구분 된 대상 목록을 인쇄합니다.


2
아마 | sort -u그것을 정렬하고 중복을 제거하기 위해 추가
BrainStone

| sort -u또한 주석
마크 채널
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.