Шаблонные правила makefile без рецептов

Я наблюдаю интересное поведение make и задаюсь вопросом, есть ли разумное объяснение этому помимо ошибки в gmake.

Допустим, у нас есть следующее в makefile:

%-animal:
        echo "$* is an animal"

%-fox: %-fox-animal

%-wolf: %-wolf-animal

Разница между двумя последними целями заключается в том, что у «% -wolf» нет никакого рецепта, а у «% -fox» пустой рецепт (то есть просто строка с вкладкой в ​​начале).

Когда мы пытаемся выполнить правила, вот что происходит:

[root@cv19 tmp]# make freddy-animal
echo "freddy is an animal"
freddy is an animal
[root@cv19 tmp]# make freddy-wolf
make: *** No rule to make target `freddy-wolf'.  Stop.
[root@cv19 tmp]# make freddy-fox
echo "freddy-fox is an animal"
freddy-fox is an animal

то есть правило шаблона, которое имеет рецепт (хотя и пустой), работает, а правило, которого нет. Я что-то упустил так, как это должно работать?

Ответы на вопрос(1)

Ваш ответ на вопрос