Work around the fact that LLVM's build script don't like CPPFLAGS

In LLVM, makefiles are supposed to add CPPFLAGS to the variable
CPP.Flags, unfortunately not all of them do it (though it's better
in 3.5). This means that when passing in CPPFLAGS we are
overriding LLVM's CPPFLAGS which sets include directories. This
is not a complete fix (which has to be in LLVM), since we sometimes
need to set CPPFLAGS, but at least it avoids passing empty CPPFLAGS
which is the common case and should fix #8002