
Eu uso o código a seguir para obter um makefile targets list
que funciona bem na maioria dos casos, no entanto, quando você usa makefile como este, você obtém apenas dois alvos e não todos.
O outro comando não aparece
gatoMakefile
command: ## Command description
@echo "Execution log"
another-command: ## Command description
@echo "Execution log"
command2: ## Command description
@echo "Execution log"
A saída é:
command
command2
Não entendo por que não recebo o comando another-command
, este é o código
`make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\/t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' `;
Qual poderia ser o problema?
Eu uso isso como referência Como listar todos os alvos no make?
Responder1
$ make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'
command
Makefile
command2
another-command
No meu conjunto de caracteres há barra invertida e tabulação, no seu conjunto há barra invertida, barra e "t".
E "outro" contém um "t" ;-)
Créditos ao steeldriver