Rev 378 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed
PRG = biosOBJ = vectors.o bios.o flash.o mcp2515/mcp2515.oMCU_TARGET = atmega88OPTIMIZE = -Os -mcall-prologuesBIOS_START = 0xd00BOOT_START = 0x1e00DEFS =LIBS =TARGET_CLK_SRC = 0xe2#TARGET_CLK_SRC for mega88#0xe7 #CKDIV8=1, external crystal#0xe0 #CKDIV8=1, external clock#0xe2 #CKDIV8=1, internal RC#TARGET_CLK_SRC for mega8#0x24 #BODLEVEL = 4.0V, BODEN=enabled, internal 8MHz#0x20 #BODLEVEL = 4.0V, BODEN=enabled, external clock#uncomment this line for programming fuses#PRGFUSES = ok## You should not have to change anything below here.#CC = avr-gcc# Override is only needed by avr-lib build system.override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS)override LDFLAGS = -Wl,-Map,$(PRG).map,--defsym,__bios_start=$(BIOS_START),--defsym,__boot_start=$(BOOT_START),-T$(MCU_TARGET)_bios.ld,--crefoverride ASFLAGS = -x assembler-with-cpp -Wa,-gstabs -mmcu=$(MCU_TARGET) $(DEFS)OBJCOPY = avr-objcopyOBJDUMP = avr-objdumpSIZE = avr-sizeSZFLAGS =UPLOAD = avrdude#avrispv2 avr910ULFLAGS = -p $(MCU_TARGET) -P /dev/ttyUSB0 -c avrispv2 -b 115200 -U flash:w:$(PRG).hexifeq ($(MCU_TARGET),atmega88)#BOOTRST=0, BOOTSZ0=0, BOOTSZ1=1EXTFUSE = 0x04#BODLEVEL = 4.3VHIGHFUSE = 0xdcLOWFUSE = $(TARGET_CLK_SRC)endififeq ($(MCU_TARGET),atmega8)#BOOTRST=0, BOOTSZ0=0, BOOTSZ1=1HIGHFUSE = 0xd4LOWFUSE = $(TARGET_CLK_SRC)endifAVRDUDE_WRITE_FUSEBITS = -uifdef EXTFUSEAVRDUDE_WRITE_FUSEBITS += -U efuse:w:$(EXTFUSE):mendififdef HIGHFUSEAVRDUDE_WRITE_FUSEBITS += -U hfuse:w:$(HIGHFUSE):mendififdef LOWFUSEAVRDUDE_WRITE_FUSEBITS += -U lfuse:w:$(LOWFUSE):mendif#comment this line for not programming fusebitsifdef PRGFUSESULFLAGS += $(AVRDUDE_WRITE_FUSEBITS)endifdefault: $(PRG).elf lst@$(SIZE) $(SZFLAGS) $(PRG).elfall: $(PRG).elf lst text eeprom$(PRG).elf: $(OBJ)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)clean:rm -f $(OBJ) $(PRG).elf *.eps *.png *.pdf *.bakrm -f *.lst *.map $(EXTRA_CLEAN_FILES)lst: $(PRG).lst%.lst: %.elf$(OBJDUMP) -h -S $< > $@# Rules for building the .text rom imagestext: hex bin srechex: $(PRG).hexbin: $(PRG).binsrec: $(PRG).srec%.hex: %.elf$(OBJCOPY) -j .text -j .data -j .bootloader -O ihex $< $@%.srec: %.elf$(OBJCOPY) -j .text -j .data -j .bootloader -O srec $< $@%.bin: %.elf$(OBJCOPY) -j .text -j .data -j .bootloader -O binary $< $@# Rules for uploading rom images to flashinstall: hex$(UPLOAD) $(ULFLAGS)# Rules for building the .eeprom rom imageseeprom: ehex ebin esrecehex: $(PRG)_eeprom.hexebin: $(PRG)_eeprom.binesrec: $(PRG)_eeprom.srec%_eeprom.hex: %.elf$(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@%_eeprom.srec: %.elf$(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O srec $< $@%_eeprom.bin: %.elf$(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O binary $< $@# Every thing below here is used by avr-libc's build system and can be ignored# by the casual user.FIG2DEV = fig2devEXTRA_CLEAN_FILES = *.hex *.bin *.srecdox: eps png pdfeps: $(PRG).epspng: $(PRG).pngpdf: $(PRG).pdf%.eps: %.fig$(FIG2DEV) -L eps $< $@%.pdf: %.fig$(FIG2DEV) -L pdf $< $@%.png: %.fig$(FIG2DEV) -L png $< $@