I've written a new makefile for use with Arduino 1.0 software that I thought I'd share here. It has some useful features that I've not seen in other makefiles. I am intending it to be a drop-in replacement for the Arduino IDE, so that might make it easier to use for people who are newly departing from the Arduino IDE.
Version 0.5 was made available on 4th March, 2013. You can find it here: http://ed.am/dev/make/arduino-mk
Here's the "feature list" lifted verbatim from the link above:
* Works with (and requires) Arduino software version 1.0 or later.
* Easy configuration (documented below, reference in the makefile itself).
* Automatic mode: drop-in replacement for the Arduino IDE.
* Manual mode: specify all source files and build parameters manually.
* Detects used Arduino libraries and includes them.
* Supports local (project) libraries and Sketchbook libraries.
* Simple (crap) detection of attached Arduino.
* Reads board parameters from `boards.txt`.
* Can upload to an Arduino.
* Serial monitor function (like the IDE).
* Generates dependency files.
* Can burn the bootloader to your board.
* Tested on GNU/Linux, OS X and (less so with) BusyBox on Android!
It is fairly well tested on Linux (Debian and some others) and OS X, and much less well on BusyBox. I can't vouch for other systems. But it would be great to get some feedback on it. I'm also open to suggestions on how to improve it.
Let me know what you think!
Edit: updated feature list (×4) and added version no.