When one target of a #pragma multi rule has a separately declared dependency, then that dependency must specify the same target set as the rule. Otherwise there could easily be different prerequisite lists triggering the same rule, depending on which target is considered.


If the prerequisite lists of different targets of a #pragma multi rule were allowed to differ, then it would be unclear which prerequisites trigger the commands in that rule. By requiring the same target set in a separate dependency specification, a pattern of usage is enforced that makes it clear which prerequisites trigger the commands in the #pragma multi rule.

For uniformity this rule is enforced even if no commands are mentioned explicitly.


This error triggers when #pragma multi is applied to overlapping but differing target sets.


Reconcile the target sets.