Saw mjd tweet about a new build system called "redo" that does two things I've never seen before in a build system. First, it breaks the build process up into files that live alongside the file it's controlling. Want to compile a C program? Write hello.do that compiles hello.c. Want a test target? Write test.do. Where's the code that generates lib/Foo.pm? It's in lib/Foo.pm.do.
Second, the do files are just programs. They respond to #!. Even though it was designed with shell in mind (I need to tell the author a few things about shell portability) they're not tied to it. If you're interested in build system, I would highly recommend reading through the README. https://github.com/apenwarr/redo http://apenwarr.ca/log/?m=201012#14 The major downside is all those .do files everywhere. Who's going to write them? Wouldn't it be nice if there was something to GENERATE them? Yes. Indeed. Hmm. Interesting. -- Don't try the paranormal until you know what's normal. -- "Lords and Ladies" by Terry Prachett