FILES := $(patsubst %.cpp,%,$(wildcard *.cpp))


all: robocup.elf;

robocup.hex: robocup.elf
	avr-objcopy -O ihex -R .eeprom $< $@

robocup.elf: $(FILES:%=%.o)
	avr-g++ -mmcu=atmega32 -Os -o $@ $^

%.o: %.cpp
	avr-g++ -c -mmcu=atmega32 -Os -o $@ $<

%.d: %.cpp
	@avr-g++ -MM -mmcu=atmega32 -Os -MF $@ -MT $(patsubst %.cpp,%.o,$<) -MT $@ $<

program: robocup.hex
	sudo avrdude -P usb -c avrisp2 -p m32 -U flash:w:$<

clean:
	rm -f robocup.hex robocup.elf $(FILES:%=%.o) $(FILES:%=%.d)

.PHONY: clean


-include $(FILES:%=%.d)