Product SiteDocumentation Site

5.10. Supplemental Reading

John Calcote wrote an excellent guide to the GNU Autotools. If you find yourself working with a project that uses these tools, Calcote's work is a great online reference for beginners.
The much longer, but more definitive, work on GNU Autotools is GNU Autoconf, Automake, and Libtool (also known as "The Goat Book") by Gary V. Vaughan, Ben Elliston, Tom Tromey and Ian Lance Taylor. Interestingly, it was a collaborative work written online by people who had never met in person.
The Mozilla project uses GNU Autotools for all of their projects, and their build documentation is available online. It's a great exercise for those who want experience with building complex software designed to run on multiple platforms.
For those who want to start their own project and want it to be Autotools-friendly in the first place, here's a great tutorial.
GNU Autotools is very common, and this book had to start somewhere with an exploration of build automation -- but there are lots of other excellent build tools. In the world of Java software, Ant and Maven are extremely popular choices. Here's a fairly comprehensive list of popular build automation tools.
Building software can be frustrating, and a lot of FOSS projects do a lot of things wrong. To be clear: most proprietary software projects probably do a lot of things wrong too, but the failures of FOSS projects are visible for all to see -- and thus, to learn from. Tom 'spot' Callaway has compiled a list of things that projects do wrong, in a piece entitled How to tell if a FLOSS project is doomed to FAIL.