MCU=atmega8
CC=avr-gcc
OBJCOPY=avr-objcopy
PROJECT=rfid
CFLAGS=-g -mmcu=$(MCU) -Wstrict-prototypes -Os -mcall-prologues -Wall

#-------------------
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 butterfly -P /dev/ttyUSB0 -b 115200 -p m8 -U flash\:w\:$(PROJECT).hex\:a
#	uisp --erase --upload --verify if=$(PROJECT).hex -dprog=avr910 -dserial=/dev/ttyUSB0 -dspeed=115200 -dpart=auto  -v=3 --hash=12 

#-------------------
#	different programmers and fuse programming if necessary
#	uisp -dserial=/dev/ttyUSB0 -dspeed=115200 --erase --upload --verify if=$(PROJECT).hex -dprog=avr910  -v=3 --hash=12 -dpart=auto
#	uisp --erase --upload --verify if=$(PROJECT).hex -dprog=dapa  -v=3 --hash=12 
#	uisp -dprog=dapa --wr_fuse_l=0x5f --wr_fuse_h=0xd9 -v=3
#-------------------
clean:
	rm -f *.o *.map *.out *.hex
#-------------------