Our build scripts are small, biggest one is < 80 lines including comments and half of that could probably be chopped.
Our primary deployment script is fairly long, probably 800 lines or so. A couple of smaller update scripts are around 300 lines or so, these patch specific components that are frequently done.
This is how I think it should be in general. If I see a super complex build script for a single platform I usually think the product is trying to do too much in one place because usually that means there are tons of special conditions. One exception is if you have a build script that does cross platform compiling & packaging, then having a large script makes sense to me and isn't a sign of issues.