Well, you should use ar, ranlib and such from the toolchain. I'm not sure but it might be the case that we accidently use the "ar", "ranlib" from the host GNU host and that it magically happens to work.
You will have to look at the line with "ar" and see if arm-*-ar was used and if not you will need to patch the Makefile to do so.
I think you're right. Look in firmware/Makefile.inc line 118
It should probably be
$(CROSS_COMPILE)$(AR) cru $$($(1)_DIR)/lib$(1).a $$($(1)_OBJS)
instead of just:
$(AR) cru $$($(1)_DIR)/lib$(1).a $$($(1)_OBJS)
Sylvain