MCU=atmega8
CC=avr-gcc
OBJCOPY=avr-objcopy
PROJECT=main
# optimize for size:
CFLAGS=-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues
#CFLAGS+=-DXTAL_CPU=1000000
#-------------------
all: $(PROJECT).hex
#-------------------
$(PROJECT).hex : $(PROJECT).out
	$(OBJCOPY) -R .eeprom -O ihex $(PROJECT).out $(PROJECT).hex
$(PROJECT).out : $(PROJECT).o
	$(CC) $(CFLAGS) -o $(PROJECT).out -Wl,-Map,$(PROJECT).map $(PROJECT).o
$(PROJECT).o : $(PROJECT).c
	$(CC) $(CFLAGS) -Os -c $(PROJECT).c
asm : $(PROJECT).c 
	$(CC) $(CFLAGS) -O -S $(PROJECT).c
# you need to erase first before loading the program.
# load (program) the software into the eeprom:
load: $(PROJECT).hex
	avrdude -c stk500 -P /dev/ttyUSB0 -p m8 -U flash:w:$(PROJECT).hex
#-------------------
clean:
	rm -f *.o *.map *.out *.h
#-------------------
