makefile Musterregeln ohne Rezepte

Ich beobachte ein interessantes Verhalten von make und frage mich, ob es eine vernünftige Erklärung dafür gibt, abgesehen von einem Fehler in gmake.

Nehmen wir an, wir haben folgendes im makefile:

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

%-fox: %-fox-animal

%-wolf: %-wolf-animal

Der Unterschied zwischen den letzten beiden Zielen besteht darin, dass "% -Wolf" kein Rezept enthält und "% -Fuchs" ein leeres Rezept enthält (d. H. Nur eine Zeile mit einem Tabulator am Anfang).

Wenn wir versuchen, die Regeln auszuführen, geschieht Folgendes:

[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

d.h. die Musterregel, die ein Rezept enthält (obwohl ein leeres), funktioniert, diejenige, die es nicht tut. Fehlt mir etwas in der Art, wie es funktionieren soll?