GNU Makefile, что делает цель1: цель2; @echo> / dev / null значит? - PullRequest
0 голосов
/ 15 января 2019

Имеется следующий make-файл:

.PHONY: goal1
goal1: goal2 ; @echo > /dev/null mean

.PHONY: goal2
goal2:
    ... do some stuff...

Я не совсем уверен, как / почему goal1: goal2 ; @echo > /dev/null mean работает. Он делает именно то, что я хочу (кажется), но я не уверен, безопасно ли это, потому что я этого не понимаю. Я не могу найти документацию по этому синтаксису.

Так что я думаю, что это означает:

  • цель1 зависит от цели2
  • точка с запятой это новая строка?
  • @echo> / dev / null является получателем для цели 1 (но как насчет отступа на вкладке?)

Что я хочу, чтобы я делал, когда делаю make goal1:

  • делать действия для цели2
  • Подавить любые сообщения типа "ничего не делать для цели 1".

И это делает эти вещи.

Но может ли кто-нибудь объяснить / подтвердить синтаксис, который я не понимаю? - Я нашел этот пример по какому-то другому вопросу, и он, казалось, соответствовал тому, что я хочу, но объяснения не было.

...