#define BAR(x) ((x)*(x))
#define FOOBAR(x) ((x)*(x)*(x))
And you want to prefix them all to something (say, switch them to pBAR and pFOOBAR) you end up having to do it manually, as otherwise you'll end up with FOOpBAR no matter how you try and do it automatically.