Inspired by Ian, this past weekend I took a look at replacing the auto tools with GNU make code.
Replacing automake turns out to be very easy. And, given that GNU make is everywhere now, I think it is well past time to do this.
It took about 250 lines of code to get C and C++ compilation — with dependency tracking — install, clean, libraries, and programs working.
Of course, this is just the beginning. There’s still shared libraries (ugh), dist, distcheck, and a host of smaller things.
Still, the result is quite nice. The resulting user Makefiles are pretty similar — but, unfortunately, not identical. With a bit of help it could be ready for real use by Christmas. Write me if you’re interested.
The long term goal, of course, is to unify all three tools. I’ve also got some prototype GNU make code to do some configure-style checking, based on some earlier prototyping by Ben Elliston. This is less fully baked, and there are some problems I haven’t solved. But, I think the idea is sound.
In my view the plan would be to finish automake and libtool functionality in the new code, then move on to adding configuration support. The latter can be done incrementally. In the end, we will have replaced all the tools with something better, without undue disruption.
The most important decision — what to name it — is still open. Submit your ideas.