### # Project settings # TARGET := programmer SOURCES := $(wildcard *.c) ### # Compiler settings # CC := avr-gcc PORT := /dev/ttyUSB0 MCU := atmega328p CFLAGS := -g -Wall -mcall-prologues -mmcu=$(MCU) -Os -I . \ -DF_CPU=1000000UL -DDEBUG LDFLAGS := -Wl,-gc-sections -Wl,-relax .PHONY: all clean program all: $(TARGET).hex clean: rm -f *.o *.hex *.obj *.bin $(TARGET).hex: $(TARGET).bin avr-objcopy -R .eeprom -O ihex $(TARGET).bin $@ $(TARGET).bin: $(SOURCES) $(CC) $(CFLAGS) $(SOURCES) -o $@ $(LDFLAGS) program: $(TARGET).hex avrdude -p $(MCU) -c usbasp -P usb -U flash:w:$(TARGET).hex