Afaik `:=` evaluates the variable expression only once, does it evaluate it for each module Makefile, or only for the first time that variable is assigned? I mean, if module `a` and `b` have something like `BUILDER=...` in their Makefile, a `make all` is going to evaluate `BUILDER` variable each time, or the one from module `a` propagate to `b` compilation?
On the other hand `=` evaluates every time the variable is used.
GCC 4.4 is really old, I would avoid fixing warning for it if it can create side effects by propagating values when not expecting.