Come elencare tutti i target in make?


18

Diciamo che hai una struttura di progetto con molti Makefile e c'è un Makefile di livello superiore che include tutti gli altri.

Come puoi elencare tutti i possibili target?

Conosco la scrittura

make 

e quindi la tabulazione per ottenere i suggerimenti farebbe generalmente il trucco, ma nel mio caso ci sono 10000 target. In questo modo si passa i risultati attraverso più e anche per qualche ragione scorrendo i risultati di elenco in un congelamento. C'è un altro modo?

Risposte:


24

Ecco come il modulo di completamento bash makeottiene il suo elenco:

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

Stampa un elenco di destinazioni delimitato da nuova riga, senza paginazione.


2
Magari aggiungilo | sort -uper ordinarlo e rimuovi i duplicati
BrainStone,

piace anche il | sort -ucommento
Mark Ch,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.