Разбор темы

Переменные в Makefile — это простая текстовая подстановка без типов: объявляются как ИМЯ = значение, а раскрываются через $(ИМЯ) в момент выполнения рецепта. Специальная цель .PHONY помечает имена целей как «всегда команды, а не файлы»: без неё появление в каталоге одноимённого файла заставит make считать цель уже собранной и пропустить рецепт. Классическая ловушка формата — строки рецепта обязаны начинаться с символа табуляции, а не пробелов.

Что проверяется

  1. greet печатает hello izzylab
  2. greet объявлена в .PHONY
  3. Имя берётся из переменной APP

Как это выглядит