They had tons of makefiles, so moving to something make-like was desirable.
I personally think that GNU make has a ton of bells and whistles, so it may be very difficult to emulate it with any accuracy; then again, they also know which features of GNU make are important to their project.
I might have bitten the bullet and chosen something like SCons to reach a Python base, and I have spent time rewriting (one or two) makefiles as SConstructs without a problem. But I have also seen huge projects with makefile madness, and I can certainly understand anyone's decision to want to keep makefiles untouched. Emulating make, while leaving room for improvements, isn't such a bad decision.
I read those comments before making my post here, I realize it was not a new dependency, hence my 'less'. By adding more cruft that makes the mozilla build more dependent on python there is not 'another dependency' created, but it is harder to get rid of that dependency.
"because I can" is right next to the reasons the author gives:
"Why don’t you just hack GNU make itself?
There are some improvements we’re interested in doing which just aren’t possible within a C codebase:
. Python is also about a zillion times easier to hack quickly."What a totally pointless exercise, if anything he should have spent the time to make the build process less dependent on other packages, not more.
Same with javas 'ant', why on earth does everybody and their brother feel the need to reinvent the wheel.
If you're going to roll out some package try to keep your dependencies to the absolute minimum.