-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
37 lines (26 loc) · 966 Bytes
/
Makefile
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
.PHONY: build flash
PROGDEVICE = atmega88
FLASHDEVICE = atmega88
CLOCK = 8000000
PROGRAMMER = usbasp
PROGNAME = relay
build:
avr-gcc -Wall -Os -std=c99 -DF_CPU=$(CLOCK) -mmcu=$(PROGDEVICE) -c *.c
@mkdir -p bin
@mv *.o bin
avr-gcc -Wall -Os -std=c99 -DF_CPU=$(CLOCK) -mmcu=$(PROGDEVICE) -o bin/$(PROGNAME).elf bin/*.o
avr-objcopy -j .text -j .data -O ihex bin/$(PROGNAME).elf bin/$(PROGNAME).hex
avr-objcopy -j .eeprom -O ihex bin/$(PROGNAME).elf bin/$(PROGNAME).eep
flash:
avrdude -c $(PROGRAMMER) -F -p $(FLASHDEVICE) -U flash:w:bin/$(PROGNAME).hex:i
fuses:
avrdude -c $(PROGRAMMER) -F -p $(FLASHDEVICE) -U lfuse:w:0xe2:m -U hfuse:w:0xdc:m #-U efuse:w:0xf9:m
eeprom:
avrdude -c $(PROGRAMMER) -F -p $(FLASHDEVICE) -U eeprom:w:bin/$(PROGNAME).eep
# 8MHz, no divider
# -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
clean:
rm -f bin/$(PROGNAME).hex
rm -f bin/$(PROGNAME).elf
rm -f bin/*.o
all: clean build flash