Я не могу найти это в руководстве по эксплуатации.
Ответ 1
Это означает, что "не отсылайте эту команду на выходе". Итак, это правило говорит: "Запустите команду оболочки : и не эхо-вывод.
Конечно, команда оболочки : - это не-op, поэтому это говорит "ничего не делать и не рассказывать".
Почему?
Трюк здесь в том, что у вас есть неясная комбинация двух разных синтаксисов. Синтаксис make (1) - это использование действия, начинающегося с @, что просто не означает повторение команды. Итак, правило вроде
always:
@echo this always happens
не будет выделять
echo this always happens
this always happens
Теперь частью действия правила может быть любая команда оболочки, включая :. Bash help объясняет это, как и везде:
$ help :
:: :
Null command.
No effect; the command does nothing.
Exit Status:
Always succeeds.
Ответ 2
Для тех, кто интересуется, почему вы можете это сделать, полезно, если вы хотите сделать вид, что что-то было сделано, чтобы Make не выводил "Nothing to be done for" вашей цели.
Один пример: если у вас есть фальшивая цель, которую вы всегда выполняете, и в ней у вас есть куча условностей в команде. Вы хотите иметь хотя бы что-то в случае, если эти условия возникнут ложно, и ничего не делается.