Rev 563 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed
PRG = mainOBJ = main.oMCU_TARGET = atmega88OPTIMIZE = -Os -mcall-prologues# grep bios.map for __bios_ram_end to retreive this value# In the future, this should be automatically inserted into *_app.ld at every bios compilationBIOS_RAM_END = 0x0080012cDEFS = -I../AVR-BiosLIBS =# 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 = -v -Wl,-Map,$(PRG).map,-L../AVR-Bios,--defsym,__bios_ram_end=$(BIOS_RAM_END),-T$(MCU_TARGET)_app.ldoverride ASFLAGS = -x assembler-with-cpp -Wa,-gstabs -mmcu=$(MCU_TARGET) $(DEFS)OBJCOPY = avr-objcopyOBJDUMP = avr-objdumpSIZE = avr-sizeSZFLAGS =UPLOAD = avrdudeULFLAGS = -p $(MCU_TARGET) -D -P /dev/ttyUSB0 -c avrispv2 -b 115200 -U flash:w:$(PRG).hex# -D disables erase!default: $(PRG).elf lst text@$(SIZE) $(SZFLAGS) $(PRG).elfall: $(PRG).elf lst text eeprom$(PRG).elf: $(OBJ)ifeq ($(MCU_TARGET),atmega88)#remove this workaround when gcc-bug fixedavr-ld -m avr4 -o $(PRG).elf c:\WinAVR\avr\lib\avr4\crtm88.o -Lc:\WinAVR\lib\gcc\avr\4.1.1\avr4 -Lc:\WinAVR\lib\gcc\avr\4.1.1\avr4 -Lc:\WinAVR\avr\lib\avr4 -Map $(PRG).map -L../AVR-Bios --defsym __bios_ram_end=$(BIOS_RAM_END) -T$(MCU_TARGET)_app.ld $(OBJ) -lgcc -lc -lgccelse$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)endifclean:rm -rf *.o $(PRG).elf *.eps *.png *.pdf *.bakrm -rf *.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 -O ihex $< $@%.srec: %.elf$(OBJCOPY) -j .text -j .data -O srec $< $@%.bin: %.elf$(OBJCOPY) -j .text -j .data -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 $< $@