TARGET = main
MCU    = atmega8

CC     = avr-gcc
OBJCOPY=avr-objcopy
CFLAGS =-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues -save-temps -fno-common

all: $(TARGET).hex

$(TARGET).hex : $(TARGET).elf
	$(OBJCOPY) -j .data -j .text -O ihex $< $@

$(TARGET).elf: $(TARGET).o
	$(CC) $(CFLAGS) -o $@ -Wl,-Map,$(TARGET).map $<

$(TARGET).o : $(TARGET).c
	$(CC) $(CFLAGS) -c $<

.elf.eep:
  -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
  --change-section-lma .eeprom=0 -O $(FORMAT) $< $@



load: $(TARGET).hex
	avrdude -p atmega8 -P /dev/ttyUSB0 -c usbasp -U flash:w:$(TARGET).hex -v -U eeprom:w:$(TARGET).eep -U lfuse:w:0xe0:m -U hfuse:w:0xd9:m

clean:
	rm -f *.o *.map *.elf *.hex *.s *.i

