Это означает, что «не выводите эту команду на выходе». Таким образом, это правило гласит: «выполните команду оболочки :
и не отображайте вывод.
Конечно, команда оболочки :
не работает, поэтому она говорит: «ничего не делай и не говори».
Почему?
Хитрость в том, что у вас есть неясная комбинация двух разных синтаксисов. Синтаксис make (1) - это использование действия, начинающегося с @, которое просто не отображает команду. Так что правило вроде
always:
@echo this always happens
не будет излучать
echo this always happens
this always happens
Теперь частью действия правила может быть любая команда оболочки, включая :
. Справка Bash объясняет это так же, как и везде:
$ help :
:: :
Null command.
No effect; the command does nothing.
Exit Status:
Always succeeds.