On Mon, 2025-10-20 at 22:57 +0300, Dmitry wrote: > > At that point make calls pattern_search recursively to find a rule > > to build 'aaa'. > So now our new target is ‘aaa’, and we must start searching implicit > rules from the beginning. > We take the pattern rule ‘%.o : aaa’ and discard it not because of > recursion, but because its target ‘%.o’ doesn’t match ‘aaa’. > And the message “Avoiding implicit rule recursion for rule > '%.o: aaa'” doesn’t appear at all.
Can we clarify: you are not saying that you don't understand the _behavior_ of make, in that it appears to do the right thing based on the documentation, am I correct in that? You are just questioning why you see these debug messages which don't seem like they should be needed? Is that right? If you think the behavior is not right, such that make is building something it shouldn't build or not building something that it should, or choosing the wrong rule, or building targets out of order, can you be more explicit what exactly is not as expected?
