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


all: robocup.elf;


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


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

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

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

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

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

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

.PHONY: clean