Dave Barry hacks GCC
Well, it's not the cleanest of solutions, but God bless Dave Barry for hacking up GCC to build something like what we want. There's a big hairy patch up at http://gar.lnx-bbc.org/cvs/gar/devel/gcc/Makefile.diff?r1=1.12&r2=1.14 that makes my head nearly spin, but I think it's a good thing. We're still working on getting the dirs right, but somehow Dave says that doing so breaks things.
My hatred for big old packages with crufty build systems grows. At least the Linux kernel build system is something that lots of people use, so it's only really showing its age in the area of feature dependencies. But gcc and X make me physically cringe when I think about them.