The stuff I've built lately, NONE of it worked like that :-/
And when people deliver source, there is no longer a
courtesy INSTALL with that style of recipe inside.
Instead, the user is supposed to recognize a pattern
in the 40 disparate configuration files in the main
directory and conclude "oh, this could be a cmake".
"Or maybe it's a mach with ranch dressing". It really
is pathetic.
Even at the peak of ./configure expressive power, only
a few developers provided good feedback to the "operator"
as to what optional stuff was not going to be included.
It's an art doing those.
Just as some genius developers (subject matter experts),
could not handle argc and argv if their lives depended on it.
They had some great code, but the user could not get the
benefit of most of it, because the command line
invocation was so silly (did not follow accepted convention).
And please, don't give me more of this "my source is my
documentation" bullshit :-) If it's not apparent how
many build environments are buried in your tree, it could
take absolutely-freaking-forever to figure it out. Some
people even leave makefiles in the thing, that don't
belong there. If there is detritus in the tree
(developer droppings), they just leave it.
Paul