blob: 9bba45541afa085260bdb0a1b9173f76c23c4ea7 (
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
|
# adjust according to your needs
AS = avr-as
LD = avr-ld
OBJ = avr-obj
MCU ?= atmega328p
MCUPATH ?= /dev/ttyACM0
DUDE ?= avrdude
PROGRAMMER ?= arduino
LDFLAGS += -m avr5
DUDEFLAGS += -c $(PROGRAMMER) -p $(MCU) -P $(MCUPATH)
# timer.s file
TARGET ?= timer
all: $(TARGET).hex
.PHONY: flash dump clean all
.SUFFIXES:
.PRECIOUS: $(TARGET).o $(TARGET).elf
flash: $(TARGET).hex
test $(shell id -u) = 0
$(DUDE) $(DUDEFLAGS) -U flash:w:$<
%.o: %.s
$(AS) -mmcu=$(MCU) -o $@ $<
%.elf: %.o
$(LD) $(LDFLAGS) -o $@ $<
%.hex: %.elf
$(OBJ)copy -O ihex $< $@
dump: $(TARGET).elf
$(OBJ)dump -d
clean:
$(RM) *.o *.hex *.elf *.bin timer
|