36 lines
738 B
Makefile
36 lines
738 B
Makefile
APP = chroma
|
|
DEVICE = attiny85
|
|
CLOCK = 16500000
|
|
PROGRAMMER = -c signalyzer-lite
|
|
SRC = $(wildcard *.cc)
|
|
OBJ = $(SRC:%.cc=%.o)
|
|
FUSES = -U lfuse:w:0xe2:m -U hfuse:w:0xde:m -U efuse:w:0xfe:m
|
|
|
|
CROSS_COMPILE = avr-
|
|
CC = $(CROSS_COMPILE)gcc
|
|
CXX = $(CROSS_COMPILE)g++
|
|
CFLAGS = -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) -Wall
|
|
CXXFLAGS = $(CFLAGS) -std=gnu++11
|
|
AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE)
|
|
|
|
all: $(APP).hex
|
|
|
|
flash: all
|
|
$(AVRDUDE) -U flash:w:$(APP).hex:i
|
|
|
|
usb-flash: $(APP).hex
|
|
sudo $(HOME)/bin/micronucleus --run $<
|
|
|
|
fuse:
|
|
$(AVRDUDE) $(FUSES)
|
|
|
|
%.elf: $(OBJ)
|
|
$(CXX) $(CXXFLAGS) -o $@ $(OBJ)
|
|
$(CROSS_COMPILE)size -d $@
|
|
|
|
%.hex: %.elf
|
|
avr-objcopy -j .text -j .data -O ihex $< $@
|
|
|
|
clean:
|
|
rm -f $(APP).hex $(APP).elf $(OBJ) *~
|