summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile31
1 files changed, 31 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c7fe375
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,31 @@
+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
+ @set -e; rm -f $@; \
+ avr-g++ -M -mmcu=atmega32 -MF $@.$$$$ $<; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+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