MCU=atmega48 AVRDUDE=avrdude ACC=avr-gcc AOBJCOPY=avr-objcopy ALD=avr-ld ASIZE=avr-size CFLAGS=-Wall -Wextra -Wno-unused-parameter -pedantic -std=c99 ifdef PIN DPIN=-DPIN=\"$(PIN)\" endif ifdef MASTER_PIN DPIN+=-DMASTER_PIN=\"$(MASTER_PIN)\" endif ACFLAGS=-g -mmcu=$(MCU) $(CFLAGS) $(DPIN) -Os -mcall-prologues # ALDFLAGS=-L/usr/avr/lib/avr4 -L/usr/lib/binutils/avr/2.18 LD=gcc CC=gcc CXX=g++ -g LDXX=g++ -g love: kbc.flash kbc.eeprom %.flash: %.ld.o $(AOBJCOPY) -O binary $< $@ %.eeprom: %.ld.o $(AOBJCOPY) -j .eeprom -O binary $^ $@ %.ld.o: %.o $(ACC) $(ACFLAGS) $(ALDFLAGS) -Wl,-Map,$(patsubst %.ld.o,%.map,$@) -o $@ $< @$(ASIZE) $@ %.o: %.c $(ACC) $(ACFLAGS) -c -o $@ $< flash: kbc.flash $(AVRDUDE) -y -p m48 -E noreset -U flash:w:$<:r eeprom: kbc.eeprom $(AVRDUDE) -y -p m48 -E noreset -U eeprom:w:$<:r clean: rm -f *.flash *.eeprom *.o .PHONY: love flash eeprom clean .SECONDARY: