DEVICE  = atmega16
F_CPU   = 16000000	#    
################################## ATMega16 ##################################
# ATMega16 FUSE_L (  ):
# 0xff = 1 1 1 1   1 1 1 1
#        ^ ^ \ /   \--+--/
#        | |  |       +------- CKSEL 3..0 (    > 8 )
#        | |  +--------------- SUT 1..0 (  ,    )
#        | +------------------ BODEN (BrownOut Detector )
#        +-------------------- BODLEVEL (2.7V)
# ATMega16 FUSE_H (  ):
# 0x09 = 0 0 0 0   1 0 0 1 <-- BOOTRST (   0x0000)
#        ^ ^ ^ ^   ^ ^ ^------ BOOTSZ0
#        | | | |   | +-------- BOOTSZ1
#        | | | |   + --------- EESAVE (  EEPROM   )
#        | | | +-------------- CKOPT (   )
#        | | +---------------- SPIEN (  )
#        | +------------------ JTAGEN (, JTAG )
#        +-------------------- OCDEN (, OCD )
FUSE_L  = ff
FUSE_H  = 09

RAR = "c:/Program Files/WinRAR/WinRAR.exe"
ARCHIVE = ledlight.rar
JTAGICEII = "c:/Program Files/Atmel/AVR Tools/JTAGICEmkII/jtagiceii.exe" -d $(DEVICE) -mi 

help:
	@echo "This Makefile has no default rule. Use one of the following:"
	@echo "make program ... to flash fuses and firmware"
	@echo "make fuse ...... to flash the fuses"
	@echo "make flash ..... to flash the firmware"
	@echo "make clean ..... to delete objects and hex file"
	@echo "make erase ..... erase AVR chip" 
	@echo "make backup .... backup project" 

program: flash fuse

#     :
fuse:
	@[ "$(FUSE_H)" != "" -a "$(FUSE_L)" != "" ] || \
		{ echo "*** Edit Makefile and choose values for FUSE_L and FUSE_H!"; exit 1; }
	$(JTAGICEII) -f 0x$(FUSE_H)$(FUSE_L)

#    firmware:
flash: default/Haunted-USB.hex
	$(JTAGICEII) -pf -if default/Haunted-USB.hex

#    
erase:
	$(JTAGICEII) -e 

#      (     Make):
clean:
	rm -f default/*.o default/*.lst default/*.obj default/*.cof default/*.map default/*.elf default/*.hex default/*.lss
	
backup:
	$(RAR) a -r -dh -ep1 $(ARCHIVE) ../Ledlight
	mv $(ARCHIVE) c:\!MyDoc\FLOPPI\avr\ledlight
	autoname /pattern:YYMMDDhhmmss c:/!MyDoc/FLOPPI/avr/ledlight/$(ARCHIVE)
	