aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 6b8f6b4690c627cc7312911356ea014226a3e095 (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
# 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

.PHONY: flash dump-timer clean all

all: $(TARGET).hex

flash: $(TARGET).hex
	test $(shell id -u) = 0
	$(DUDE) $(DUDEFLAGS) -U flash:w:$<

%.hex: %
	$(OBJ)copy -O ihex $< $@

%: %.o
	$(LD) $(LDFLAGS) -o $@ $<

%.o: %.s
	$(AS) -mmcu=$(MCU) -o $@ $<

dump-%: %
	$(OBJ)dump -d timer

clean:
	rm *.o *.hex *.elf *.bin timer