# tools
OC=avr-objcopy
OD=avr-objdump
CC=avr-gcc
AD=avrdude

# project
PROJ=saturation-tester

# hardware
MCU=attiny13
F_CPU=9600000
PROG=bsd

# compiler flags
CDEFS=-DF_CPU=$(F_CPU)UL
CFLAGS=-Os -mcall-prologues -Wall -mmcu=$(MCU)

# files
CFILE=$(PROJ).c
OFILE=$(PROJ).out
IHEX=$(PROJ).ihex


dummy:
	@echo "targets include 'build', 'dump', 'program' and 'clean'"

build: $(IHEX)

$(OFILE): $(CFILE) Makefile
	$(CC) $(CFLAGS) $(CDEFS) $(CFILE) -o $(OFILE)

$(IHEX): $(OFILE)
	$(OC) -j .text -O ihex $(OFILE) $(IHEX)

dump: $(OFILE)
	$(OD) -h -S $(OFILE) | less

program: $(IHEX)
	$(AD) -p $(MCU) -c $(PROG) -e -U flash:w:$(IHEX) -U lfuse:w:0x7A:m

clean:
	rm -f *.out *.ihex
