summaryrefslogtreecommitdiff
path: root/bootloader/avr_code/Makefile
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
#-------------------