I think that the Makefile should be written so that variable values, specifically, PG_CONFIG, can be given to it from the environment rather than the make command line. As a result, using the "?=" operator rather than "=" to set a default value to the PG_CONFIG variable appears more acceptable.
I'm not sure if this operator has to be changed in the main Postgres source tree; after all, they're typically built with the kernel.