> someone else adding conflicting recipes (disabling the warning would make this unnoticeable)
But they wouldn't be *conflicting* recipes. The whole point of this discussion is to remove warnings for *identical* recipes. The enhancement request is indeed arguable, but it's not about conflicting recipes.
> accidental copy/paste
Yes, a case can be made that people might want to be alerted to the fact that they have redundant recipes as a result of accidental copy/paste or similar. This is a reasonable subject for debate/discussion.
> I handled 'mkdir' stuff by adding mkdir to all the recipes. It's not ideal but it works.
Well, no, it isn't and it doesn't. We're getting well away from the initial subject but I'll give the background anyway:
Depending on platform, mkdir in recipes is somewhere between broken and inelegant. I've written this up in detail for my employer but the short version is that mkdir is a particularly complex case in parallel builds due to race conditions when creating shared parent directories. In the end there's only one threadsafe, portable, and clean way of making directories and that's to hand the job to make via an order-only dependency:
$(list-of-required-directories):
mkdir $@
target: | <parent-directory>
Directory creation in recipes is subject to random failure in -j scenarios but you can get away with it on GNU platforms such as Linux because GNU mkdir has a builtin retry mechanism. Thus, on GNU platforms it's merely inelegant while on non-GNU platforms it's unsafe.
It's worth noting that the above can be made simpler by use of .SECONDEXPANSION:
target: | $$(@D)
David