ranlib is a thing of the past, and all major ar implementations have -s to do it while it makes the archive. the extra invocation takes plenty of time on my Cygwin.
-pipe tells gcc to use memory instead of temp files. less IO means faster build.
the warnings are there just there to make things safer. -Wreorder seems to complain a lot, but since most member initializers are pure it feels okay to turn it off.