CFLAGS = -O3 -Wall --std=c11 CHIP = atmega328p SOURCE_FILES = $(wildcard *.c) OBJ_FILES = $(SOURCE_FILES:%.c=%.o) BIN = led-driver.bin HEX = led-driver.hex default: $(HEX) %.o: %.c avr-gcc $(CFLAGS) -mmcu=$(CHIP) -o $@ $< $(BIN): $(OBJ_FILES) avr-gcc $(CFLAGS) -o $@ $^ $(HEX): $(BIN) avr-objcopy -O ihex -j .text -j .data $^ $@ flash: $(HEX) avrdude -p $(CHIP) -c arduino -B 115200 -P /dev/ttyACM1 -v -v -e -Uflash:w:$(HEX):a clean: $(RM) $(OBJ_FILES) $(BIN) $(HEX)