DEVICE  = attiny25
F_CPU   = 1000000
#AVRDUDE = avrdude -c avrisp2 -p $(DEVICE)
AVRDUDE = avrdude -c usbtiny -p $(DEVICE)

CFLAGS := -std=gnu99 -I.
LDFLAGS = 

# 8Mhz, BOD=2.7V
FUSE = -U hfuse:w:0xdf:m -U lfuse:w:0x62:m
OBJECTS = main.o

COMPILE = avr-gcc -Wall -g -Os -DF_CPU=$(F_CPU) $(CFLAGS) -mmcu=$(DEVICE)

all: hex

hex: main.hex

# rule for uploading firmware:
flash: main.hex
	$(AVRDUDE) -U flash:w:main.hex:i

# rule for deleting dependent files (those which can be built by Make):
clean:
	rm -f main.hex *.o main.elf

.c.o: Makefile
	$(COMPILE) -c $< -o $@

.S.o:
	$(COMPILE) -x assembler-with-cpp -c $< -o $@

.c.s:
	$(COMPILE) -S $< -o $@

main.elf: $(OBJECTS) Makefile
	$(COMPILE) -o main.elf $(OBJECTS) $(LDFLAGS)

main.hex: main.elf
	rm -f main.hex main.eep.hex
	avr-objcopy -j .text -j .data -O ihex main.elf main.hex
	avr-size -C --mcu=$(DEVICE) main.elf

# Internal clock at 1Mhz, watchdog disabled, no BOD
fuse:
	$(AVRDUDE) $(FUSE)

