A Cog email correspondent asked a question about using Cog with SCons, so I read up on it. It's very interesting: A "make" replacement for building software, but uses full Python scripts instead of declarative Makefiles. But don't worry: most build tasks are handled in declarative style. For example, building hello.exe from hello.c is simply:
Another interesting feature is that SCons determines the need for building using an MD5 checksum of the file, so the need to build is determined more accurately. For example, a C file may change, but if the .o file it produces hasn't (because the C file only changed a comment), then there's no need to execute the link step.
BTW: the Cog question had to do with using Cog in an SCons environment, where the same file is both the input and output for Cog, and how to get SCons to do the right thing. Anyone know?