Follow-up Comment #1, bug #62936 (project make):
I don't know why you say "you cannot update a non-existing file": make does
this all the time! When you start make in a clean directory there are no
object files, for example, and so those files are non-existing but yet of
course make will still update them.
By "update" the make manual means "run the recipe for that target". It
doesn't mean "modify an existing file or fail if the file doesn't already
exist". This term is used everywhere in the manual, to mean that same thing.
Outside of make "update" implies existence - we use CRUD as a term for example
not RUD. Why redefine the language? Actually for databases the word "upsert" has
been invented to explain a roughly analagous situation is going on - perhaps that is
an option? e.g. "upcreate"?
I guess I don't understand the issue well enough to suggest a better
formulation either. Maybe if you can say what "case" you mean when you say
"how Make deals with this case" then it would become more clear where we might
enhance the document to be less confusing.
As for "leave well enough alone" that's a very common idiom; for example:
https://dictionary.cambridge.org/us/dictionary/english/leave-well-enough-alone
According to Cambridge:
"leave well enough alone"
to allow something to stay as it is because doing more might make things worse
Is make really "trying not to make things worse?" .. As if some job is done well enough and redoing it might make it worse? I'm a native English speaker and I think this phrase is not an accurate description of what's happening.
Just to give you an example:
>> The first difference is what happens if the intermediate file does
>> not exist. If an ordinary file b does not exist, and make considers a
>> target that depends on b, it invariably creates b and then upcreates
>> the target from b. But if b is an intermediate file, then make does
>> not bother upcreting b, or the ultimate target, unless some
>> prerequisite of b is newer than that target or
>> there is some other reason to update that target.
Regards,
Tim