PROJECT = blink_attiny44
MCU = attiny44
F_CPU = 20000000
BAUD = 19200
PROGRAMMER = avrisp
SOURCES = $(PROJECT).c
PORT = ttyACM3 
ARGS1 =-Os -g -std=gnu99 -Wall -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -ffunction-sections -fdata-sections 
$(PROJECT).o: $(PROJECT).c
	avr-gcc $(ARGS1) -DF_CPU=$(F_CPU) -DBAUD=$(BAUD) -I. -I./ -mmcu=$(MCU)  -c -o $(PROJECT).o $(PROJECT).c

$(PROJECT).elf: $(PROJECT).o 
	avr-gcc -Wl,-Map,$(PROJECT).map -Wl,--gc-sections -mmcu=$(MCU) $(PROJECT).o -o $(PROJECT).elf

$(PROJECT).hex: $(PROJECT).elf
	avr-objcopy -j .text -j .data -O ihex $(PROJECT).elf $(PROJECT).hex

all: $(PROJECT).hex
	avrdude -c $(PROGRAMMER) -p $(MCU) -b $(BAUD) -P /dev/$(PORT) -U lfuse:w:0x5E:m
	avrdude -c $(PROGRAMMER) -p $(MCU) -b $(BAUD) -P /dev/$(PORT) -U flash:w:$(PROJECT).hex
clean:
	rm $(PROJECT).o $(PROJECT).elf $(PROJECT).hex $(PROJECT).map
