blob: dbc06991a9c35583277866837833a35a8b548c3a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
#-------------------
|