PRG = rgbyteclock OBJ = rgbyteclock.o timer.o lcd.o main.o rtc.o spi.o ringbuffer.o crc.o ledcontroller.o MCU_TARGET = atmega164a OPTIMIZE = -Os DEFS = LIBS = CC = avr-gcc override CFLAGS = -g -Wall $(OPTIMIZE) -DF_CPU=16000000UL -std=gnu99 -mmcu=$(MCU_TARGET) $(DEFS) override LDFLAGS = -Wl,-Map,$(PRG).map OBJCOPY = avr-objcopy OBJDUMP = avr-objdump SIZE = avr-size -A all: $(PRG).hex $(PRG).elf: $(OBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) @echo @$(SIZE) $@ @echo # dependency: rgbyteclock.o: timer.o lcd.o rgbyteclock.h rtc.o spi.o ledcontroller.o main.o: rgbyteclock.o lcd.o spi.o ledcontroller.o rtc.o timer.o timer.o: timer.h lcd.o: lcd.h timer.o rtc.o: rtc.h spi.o: spi.h crc.o ringbuffer.o ringbuffer.o: ringbuffer.h crc.o: crc.h ledcontroller.o: ledcontroller.h clean: rm -rf *.o $(PRG).elf *.eps *.png *.pdf *.bak rm -rf *.lst *.map $(EXTRA_CLEAN_FILES) hex: $(PRG).hex %.hex: %.elf $(OBJCOPY) -j .text -j .data -O ihex $< $@