regras de padrão de makefile sem receitas

Estou observando um comportamento interessante do make e me pergunto se existe uma explicação razoável além de um bug no gmake.

Digamos que temos o seguinte no makefile:

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

%-fox: %-fox-animal

%-wolf: %-wolf-animal

A diferença entre os dois últimos destinos é que "% -wolf" não tem receita e "% -fox" possui uma receita vazia (ou seja, apenas uma linha com uma guia no início).

Quando tentamos executar as regras, eis o que acontece:

[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

ou seja, a regra padrão que possui uma receita (embora uma vazia) funcione, a regra que não possui. Estou perdendo alguma coisa da maneira que deveria funcionar?

questionAnswers(1)

yourAnswerToTheQuestion