Rev 349 | Rev 471 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed
PRG = mainOBJ = main.o\../lib/src/lcd/lcd_HD44780.o\# ../lib/src/lcd/clcd20x4.o\MCU_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 = 0x0080012a#0x0080015difeq ($(MCU_TARGET),atmega88)#uncomment this line if you're using m88, remove line when gcc-bug fixedEXTRA_LD = avr-ld -m avr4 -o $(PRG).elf /usr/avr/lib/avr4/crtm88.o -L/usr/lib/gcc/avr/4.1.0/avr4 -L/usr/lib/gcc/avr/4.1.0/avr4 -L/usr/avr/lib/avr4 -Map $(PRG).map -L../AVR-Bios --defsym __bios_ram_end=$(BIOS_RAM_END) -T$(MCU_TARGET)_app.ld $(PRG).o -lgcc -lc -lgccendifBIOS_RAM_END = 0x0080012aDEFS = -I../AVR-Bios\-I../lib/src/lcd\-I../lib/funcdefs\LIBS =# 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 /usr/avr/lib/avr4/crtm88.o -L/usr/lib/gcc/avr/4.1.0/avr4 -L/usr/lib/gcc/avr/4.1.0/avr4 -L/usr/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 *.bak $(OBJ)rm -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 $< $@