В случае %.png
: Если какое-либо другое правило, в свою очередь, запрашивает какой-либо файл, который сам не имеет явного правила, но заканчивается на .png
, тогда это правило будет вызываться.
Так, %.png: %.jpeg
(к примеру) говорит, «если не будет более конкретное правило, здесь, как конвертировать из JPEG в PNG изображения.»
$(FILES)
является перечисляя список зависимостей, которые вы могли бы хотите создать. На самом деле это не похоже на цель правила, а скорее на зависимости одного.
Например, фальшивая цель, такая как images.zip: $(FILES)
, может быть использована, чтобы сказать, что все $(FILES)
должно быть актуально перед тем, как сделать images.zip
.
Использование подстановочных источников, конечно, скорее «опасно», так как отсутствующие файлы не будут обнаружены make
, поэтому можно получить «ложно положительный» результат сборки.
Очень умный вопрос! –