Поскольку я не могу комментировать предложение AT = $(AT_$(V))
, обратите внимание, что Automake предоставляет стандартный макрос, который делает то же самое, что и AT
, который называется AM_V_at
.
Вы также обнаружите, что у него есть еще одна очень полезная переменная AM_V_GEN
, которая разрешается либо в ничего, либо в @echo " GEN " $@;
, в зависимости от многословия.
Это позволяет вам кодировать что-то вроде этого:
grldr.mbr: mbrstart
$(AM_V_GEN)
$(AM_V_at)-rm -f grldr.mbr
$(AM_V_at)cat mbrstart > grldr.mbr
Вывод которого будет либо (многословие отключено):
GEN grldr.mbr
или (многословие включено):
rm -f grldr.mbr
cat mbrstart > grldr.mbr
Довольно удобно, и это избавляет от необходимости определять свои собственные макросы.