
Utilizo el siguiente código para obtener un código makefile targets list
que funciona bien en la mayoría de los casos; sin embargo, cuando usas un archivo MAKE como este, solo obtienes dos objetivos y no todos.
El otro comando no aparece
gatoMakefile
command: ## Command description
@echo "Execution log"
another-command: ## Command description
@echo "Execution log"
command2: ## Command description
@echo "Execution log"
La salida es:
command
command2
No entiendo por qué no recibo el comando another-command
, este es el código
`make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\/t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' `;
Cual podría ser el problema ?
Yo uso esto como referencia ¿Cómo enumerar todos los objetivos en make?
Respuesta1
$ make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'
command
Makefile
command2
another-command
En mi conjunto de caracteres hay barra invertida y tabulación, en tu conjunto están barra invertida, barra diagonal y "t".
Y "otro" contiene una "t" ;-)
Créditos a Steeldriver.