У меня есть make-файл следующим образом:
all: target1
@echo "$(USER)"
target1: target2
@echo "$(HOME)"
target2:
@echo "$(SHELL)"
Если я выполню make all
, я получу некоторый вывод, как и ожидалось. Но есть ли способ узнать, какие цели были поражены при выполнении этой команды. В этом случае make all
вызывается target1, target2
. Если бы я сделал make target1
, то вызвал бы только target2
.
Одним из очень плохих решений, которое я сделал, было добавление выражения echo во все мои цели следующим образом:
all: target1
@echo "Running $@"
@echo "$(USER)"
target1: target2
@echo "Running $@"
@echo "$(HOME)"
target2:
@echo "Running $@"
@echo "$(SHELL)"
Есть ли любое хорошее решение без добавления таких отпечатков?