Como listar todos os destinos no make?


18

Digamos que você tenha uma estrutura de projeto com muitos Makefiles e há um Makefile de nível superior que inclui todos os outros.

Como você pode listar todos os alvos possíveis?

Eu sei escrever

make 

e, em seguida, tabular para obter as sugestões geralmente funcionaria, mas no meu caso, existem 10.000 destinos. Fazer isso passa os resultados por mais e também, por algum motivo, rolar a lista resulta em um congelamento. Existe outro caminho?

Respostas:


24

É assim que o módulo de conclusão do bash makeobtém sua lista:

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

Ele imprime uma lista de destinos delimitada por nova linha, sem paginação.


2
Talvez adicione | sort -upara classificá-lo e remova duplicados #
BrainStone

como o | sort -ucomentário também #
Mark Ch
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.