# ==========================================================================
#
# Voluminizer 2.x
# 3-channel analog audio volume controller 
# 
# Target:  ATMega168 at 20MHz (set fuses accordingly!)
# Version: 0.0
# Author:  Arvid Staub <arvid@innoc.at> 
# Date:    2010-08-14
#
# License: GPL v2
#
# ==========================================================================


CC = avr-gcc
CFLAGS = -mmcu=atmega168 -Os
OBJCOPY = avr-objcopy
SIZE = avr-size

PROG = avrdude
PROGOPTS = -c usbasp -p m168 -V
PROGFLASH = -U flash:w:main.hex:i

.PHONY: all install readfuses writefuses


all: main.hex

readfuses:
	$(PROG) $(PROGOPTS) -n -U lfuse:r:-:h -U hfuse:r:-:h
	
writefuses:
	$(PROG) $(PROGOPTS) -U lfuse:w:0xF7:m

main.hex: main.elf
	$(SIZE) $<
	$(OBJCOPY) main.elf -O ihex main.hex

main.elf: main.c
	$(CC) $(CFLAGS) main.c -o main.elf

install: main.hex
	$(PROG) $(PROGOPTS) $(PROGFLASH)
