PRG            = scope
OBJ            = main.o ./libs/usart.o ./libs/spi.o
MCU_TARGET     = atmega8
AVRDUDE_PART   = m8

OPTIMIZE       = -O1
# OPTIMIZE      = -Os

CC             = avr-gcc
override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS)
OBJCOPY        = avr-objcopy
OBJDUMP        = avr-objdump

all: hex

./libs/spi.o: ./libs/spi.h
./libs/usart.o: ./libs/usart.h
#./libs/timer.o: ./libs/timer.h

hex:  $(PRG).hex

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

$(PRG).elf: $(OBJ)
        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)

load: $(PRG).hex
        avrdude -p $(AVRDUDE_PART) -c stk500v2 -P /dev/ttyUSB0 -B 2 -U flash:w:$<

clean:
        rm -rf *.o $(PRG).elf $(PRG).hex ./libs/*.o