PRG = blmc OBJ = blmc.o eeprom.o i2c-slave.o main.o MCU_TARGET = atmega88 OPTIMIZE = -Os DEFS = 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 = -Wl,-Map,$(PRG).map OBJCOPY = avr-objcopy OBJDUMP = avr-objdump SIZE = avr-size all: $(PRG).elf lst text ehex ebin $(SIZE) -x -A $(PRG).elf $(PRG).elf: $(OBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) clean: rm -rf *.o *.lst *.map $(PRG).elf *.hex *.bin lst: $(PRG).lst %.lst: %.elf $(OBJDUMP) -h -S $< > $@ # Rules for building the .text rom images text: hex bin hex: $(PRG).hex bin: $(PRG).bin %.hex: %.elf $(OBJCOPY) -j .text -j .data -O ihex $< $@ %.bin: %.elf $(OBJCOPY) -j .text -j .data -O binary $< $@ # Rules for building the .eeprom rom images eeprom: ehex ebin ehex: $(PRG)_eeprom.hex ebin: $(PRG)_eeprom.bin %_eeprom.hex: %.elf $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@ %_eeprom.bin: %.elf $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O binary $< $@ install: text # uisp -dprog=avr910 -dserial=/dev/ttyS0 -dspeed=115200 -dpart=M8 --erase --upload if=$(PRG).hex avrdude -p m88 -c butterfly -b 115200 -u -e -V -U flash:w:$(PRG).hex