SERIAL = /dev/ttyUSB0

OUT = image
MCU_TARGET = attiny45
MCU_CC = avr-gcc
OPTIMIZE = -Os
WARNINGS = -Wall
DEFS = -DF_CPU=8000000
CFLAGS = -MMD -mmcu=$(MCU_TARGET) $(OPTIMIZE) $(WARNINGS) $(DEFS)
ASFLAGS = $(DEFS)
LDFLAGS = -Wl,-Map,$(OUT).map

OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump

OBJ = moodlight3.o

all: $(OUT).hex $(OUT).lst

%.o: %.c
	$(MCU_CC) $(CFLAGS) -c $<

%.o: %.S
	$(MCU_CC) -mmcu=$(MCU_TARGET) $(ASFLAGS) -c $<

$(OUT).elf: $(OBJ)
	$(MCU_CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)

%.hex: %.elf
	$(OBJCOPY) -j .text -j .data -O ihex $< $@

%.lst: %.elf
	$(OBJDUMP) -h -S $< > $@

sflash: $(OUT).hex
	avrdude -p t45 -c avrisp2 -P $(SERIAL) -v -U f:w:$<:a

# vim: set ts=4 noet :
