Such a hack is needed because config(1) has to generate rules explicitly for each *.[cS]. If you try to override a rule (e.g. compile this pmap_bootstrap.c with ${NOPROF_C}), it will be a duplicated rule.
If *.[cS] -> *.o will be written using suffix rules, you can safely override rules. No order constraint too.