Most of the low-level electronics work I've done in the past has been with PIC microcontrollers, but recently I've started toying around with the Arduino. It's a fun little machine and very easy to program, but I haven't been able to find a makefile that does quite what I want it to do so I've rolled my own.
Basically this one tries to build the same way as the official IDE i.e. it builds the core into its own lib file and all libraries and project files are compiled in seperately. All files are built into an obj subfolder (i.e. libararies are recompiled for each project they're in) but incremental building means they only get built once at the start and then whenever you do a clean or rebuild. Dependency files are created for the project files only, the core and libraries in theory don't change so I didn't think it was worth adding it to those as well. Multiple project subfolders are also supported.
Here's the make file itself, hope someone finds it useful: