blob: 01b7bb47da16c985e97cddb2d0a782bf5c158c02 (
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
41
42
|
DEVICE = atmega328p
MCU = atmega328p
AVRDUDE_DEVICE = m328p
DEVICE ?= atmega168
MCU ?= atmega168
AVRDUDE_DEVICE ?= m168
CFLAGS=-g -Wall -mcall-prologues -mmcu=$(MCU) $(DEVICE_SPECIFIC_CFLAGS) -Os
LDFLAGS=-Wl,-gc-sections -lpololu_$(DEVICE) -Wl,-relax
PORT ?= /dev/ttyACM0
SOURCES := $(wildcard *.c)
HEADERS := $(wildcard *.h)
OBJECTS := $(patsubst %.c,%.o, $(SOURCES))
AVRDUDE=avrdude
CC=avr-gcc
OBJ2HEX=avr-objcopy
all: out.hex
clean:
rm -f *.o out.hex a.out compile_commands.json
a.out: $(OBJECTS)
$(CC) $(OBJECTS) $(LDFLAGS)
.o:
$(CC) -c $(CFLAGS) $<
out.hex: a.out
$(OBJ2HEX) -R .eeprom -O ihex $< $@
flash: out.hex
$(AVRDUDE) -p $(AVRDUDE_DEVICE) -c avrisp2 -P $(PORT) -U flash:w:out.hex
format:
clang-format -i $(SOURCES) $(HEADERS)
compile_commands: clean
bear -- make
|