I work on large projects for my job, and we currently use Make, just like everyone else. Our project layout is complicated, which means that the Makefiles are practically voodoo at this point. What makes it even worse is that we try to re-use code, which means we have a directory structure just for common code. Inevitably though, as any engineer finds out when trying to re-use code like this (especially if being shared among too many projects), the code isn’t really always common, and in some cases, diverges significantly. This leads to the use of ever-more confusing variable uses, included Makefiles (ostensibly to make things more modular), and other trickery to make targets build and link in the correct order.
A few years ago, I discovered a project called SCons. It promised to do a lot of neat things, but it was still new at that point, and brand-new open source projects typically aren’t usable. I tried it out, but it seemed flaky and unnatural. Some of that can be attributed to my lack of experience with Python and build tools other than Make, but it was also just flaky.
Fast-forward to 2006. read more
Andrew Connell
Contact