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

# project
PROJ=xtal-rx

# hardware
MCU=attiny13
F_CPU=1200000
LFUSE=0x6a
HFUSE=0xff
PROG=usbtiny

# 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:$(LFUSE):m -U hfuse:w:$(HFUSE):m

clean:
	rm -f *.out *.ihex
