dont run extension building make twice on a fresh src tree

On a fresh source tree, "[*]make config" then "[*]make all" are executed.
The "make config" is redundant in this case, and launching make process
twice, plus make's I/O calls is inefficient. On a dirty source tree, this
would break since the makefile will regenerate. If "make all" fails the
first time (presumably because because the makefile was regened, other
failures just run/print twice), run the "make all" more time. Dirty trees
still run make twice, clean trees drop from running make twice to just
once.