I was having some weird problems with pretty much any Makefile I found to upload/compile arduino source code and upload it and I really didn't want to have to use that terrible IDE they provide so I rolled my own rake file.
The entire rakefile is available on github. Please feel free to fork and submit a pull request!
curl this code to a Rakefile and run
rake compile to compile your project and
rake upload to upload it.
curl https://github.com/AndrewVos/arduino-tools/raw/master/rakefile.rb > Rakefile