¿Cómo enumerar todos los objetivos en make?


18

Supongamos que tiene una estructura de proyecto con muchos Makefiles y hay un Makefile de nivel superior que incluye todos los demás.

¿Cómo puedes enumerar todos los objetivos posibles?

Se escribir

make 

y luego tabular para obtener las sugerencias generalmente funcionaría, pero en mi caso hay 10000 objetivos. Hacer esto pasa los resultados a través de más y también, por alguna razón, desplazar los resultados de la lista se congela. ¿Hay otra manera?

Respuestas:


24

Así es como el módulo de finalización de bash makeobtiene su lista:

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

Se imprime una lista nueva línea delimitado de objetivos, sin paginación.


2
Tal vez agregar | sort -upara ordenarlo y eliminar duplicados
BrainStone

al igual que el | sort -ucomentario también
Marcos Ch
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.