summaryrefslogtreecommitdiff
path: root/bootloader/avr_code/Makefile
diff options
context:
space:
mode:
authorbzztbomb <skinny@knowhere.net>2011-04-05 19:57:16 -0700
committerbzztbomb <skinny@knowhere.net>2011-04-05 19:57:16 -0700
commit73e16950d73578900d54f3470b57402a9e908c30 (patch)
tree4e24dd9b04bd432139c3ed61866459ac77e4024a /bootloader/avr_code/Makefile
parent6827a350052baf3999cfa336411f5ec89bb9e769 (diff)
Public firmware release.
Diffstat (limited to 'bootloader/avr_code/Makefile')
-rw-r--r--bootloader/avr_code/Makefile40
1 files changed, 40 insertions, 0 deletions
diff --git a/bootloader/avr_code/Makefile b/bootloader/avr_code/Makefile
new file mode 100644
index 0000000..dbc0699
--- /dev/null
+++ b/bootloader/avr_code/Makefile
@@ -0,0 +1,40 @@
+MCU=atmega328p
+BOOTLOADER_ADDRESS=0x7800
+
+CC=avr-gcc
+OBJCOPY=avr-objcopy
+# optimize for size:
+CFLAGS= -mmcu=$(MCU) -I. -I../ -I../midi/ -I../../Libraries/twi/ -Wall -Wstrict-prototypes -Os -fpack-struct -fshort-enums -funsigned-bitfields
+LDFLAGS += -Wl,-Ttext=$(BOOTLOADER_ADDRESS)
+
+SRC = main.c \
+ bootloadercfg.h \
+ ../../Libraries/twi/twi.c \
+ ../midi/bytequeue/interrupt_setting.c \
+ ../midi/bytequeue/bytequeue.c \
+
+OBJ = ${SRC:.c=.o}
+
+#-------------------
+all: main.hex
+#-------------------
+
+.c.o:
+ @echo CC $<
+ @$(CC) -c $(CFLAGS) -Os -o $*.o $<
+
+main.hex : main.out
+ $(OBJCOPY) -R .eeprom -O ihex main.out main.hex
+
+main.out : $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o main.out -Wl,-Map,main.map $(OBJ)
+
+program: main.hex
+ avrdude -pm328p -cavrispmkII -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0x00:m -Uhfuse:w:0xda:m -Ulfuse:w:0xff:m
+ avrdude -pm328p -cavrispmkII -Pusb -Uflash:w:main.hex:i -Ulock:w:0x0F:m
+
+#-------------------
+clean:
+ rm -f *.o *.map *.out *.hex
+ rm -rf ../../Libraries/*/*.o
+#-------------------