
Я использую следующий код, makefile targets list
который работает нормально в большинстве случаев, однако при использовании makefile таким образом вы получаете только две цели, а не все.
Другая команда не отображается.
котMakefile
command: ## Command description
@echo "Execution log"
another-command: ## Command description
@echo "Execution log"
command2: ## Command description
@echo "Execution log"
Вывод:
command
command2
Я не понимаю, почему я не получаю команду another-command
. Вот код.
`make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\/t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' `;
В чем может быть проблема ?
Я использую это как ссылку Как составить список всех целей в make?
решение1
$ make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'
command
Makefile
command2
another-command
В моем наборе символов — обратный слеш и табуляция, в вашем наборе — обратный слеш, слеш и «t».
И «другой» содержит букву «т» ;-)
Кредиты для steeldriver