Just finished hacking together a Python script to generate bash executables that auto-build entire projects for my CPSC 340 (Data Structures and Algorithms) class. Its really nice since we're working with C++ (hooray!), but using a command-line (boo) compiler. Just pass it in a folder and, optionally, a name for the makefile, and it does the rest. It does assume that there's a main.cpp in the base folder you pass in, but other than that, it should be fully recursive and capable of building anything.
TOOL. USING. SPECIES, MOTHERFUCKER.