You must have a typo in your 'rule that works' example because surely it's not relying on a file actually named %, right?
Only if all of them don't match, will make give this error that it can't find any rule to build the target.
There can be lots of patterns that can build the same target, so the fact that one of them doesn't match is not by itself fatal. This message means that the prerequisite of your rule is not found and cannot be created (by 'prerequisite' I mean $(PATHB)TestVectorCode.$(TARGET_EXTENSION)-you don't show what the values of those variables are so I can't expand them for you).Ī pattern rule suggests one possible way that a target can be built.