diff options
Diffstat (limited to 'bootloader/avr_code/Makefile')
| -rw-r--r-- | bootloader/avr_code/Makefile | 40 |
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 +#------------------- |
