I just modified the makefile for Arduino 018 so that it works with Arduino 1.0 now. This means that you can use your favorite IDE to develop Arduino (in my case it is the NetBeans). The latest makefile can be found at my website: http://www.kerrywong.com/2011/12/17/makefile-for-arduino-1-0/
Since I use Linux, this makefile is only tested under Ubuntu 10.04 (64bit) but it should work on all Linux systems with little or no modifications. For windows users, I think you will have to change things a little bit (for instance I am not sure what the /dev/ttyUSB0 equivalent port would be on Windows).
First things first: Great job AlphaZeta. I was tired fixing arduino makefile included in arduino-core package, so I used my uncle Google and tadam, here is your post.
I modified your makefile to be more generic since I wanted to have one makefile for all my sketches and just to copy it to proper dir and NOT to have to modify it.
Minor bugfix, inspired by Makefile included in stock Debian testing Arduino package.
To avoid /usr/share/arduino/libraries/Firmata/Boards.h:8:25: error: floating constant in preprocessor expression i changed VERSION=1.00 into VERSION=100
I use it on Debian Wheezy (amd64) with installed both arduino and arduino-core packages.
I'm open to anny sugesstions, I know it's not perfect (it compiles also unneeded and unused libraries). Hope it helps anybody
I have Duemilanove board with stock atmega168, sotck bootloader. Had to make these changes for make upload work:
UPLOAD_RATE = 19200
AVRDUDE_PROGRAMMER = arduino
And some notice: I didn't write it earlier, my purpose was to program Arduino connected via USB to my NSLU2 with installed Debian (An ARM based, USB-capable single-board-computer, more info at http://www.nslu2-linux.org/). And it with AlphaZeta's Makefile with my modifications it works like a charm! Now i can connect to NSLU2 via SSH, write a sketch, type make && make upload... and voila:) Even when devices stay at home and I'm at work
There was a slight error in my original makefile,
the applet/main.o target needs to be set to depend on main.cpp. Otherwise, compiling after changing main.cpp won't automatically pickup the change (needs a clean first). The makefile needs to be updated as follows: