I particularly don't understand this one:
obj/windows/mame/mame/midway.a(seattle.o):seattle.c:(.rdata+0x10ec): undefined reference to `machine_config_cage_seattle'
I can't find this string anywhere in the code 
I know it's late, and probably TMI, but it's mame's use of MACROs (
#define).
In src/emu/mconfig.h, lines 183-184 (0.134u3), there's:
#define MACHINE_DRIVER_NAME(_name) \
machine_config_##_nameSo somewhere in the source there's a line that effectively says "
MACHINE_DRIVER_NAME( cage_seattle )". During pre-compiling, the compiler would replace this line with "
machine_config_cage_seattle", the string you were looking for.
I say "effectively" because it's MACRO'ed to say that! Again in src/emu/mconfig.h, just below the prior line (lines 186-187), there's:
#define MACHINE_DRIVER_START(_name) \
const machine_config_token MACHINE_DRIVER_NAME(_name)[] = {And in src/mame/audio/cage.c, line 682, there's
MACHINE_DRIVER_START( cage_seattle ).
So the pre-compiler takes:
MACHINE_DRIVER_START( cage_seattle )changes to:
const machine_config_token MACHINE_DRIVER_NAME( cage_seattle )[] = {And changes that to:
const machine_config_token machine_config_cage_seattle[] = {Which is the begenning of setting up an array variable called machine_config_cage_seattle.
BTW, I had no problems compiling 0.134 or 0.134u3 from command line (no edits though). Did you try a clean compiile?