TARGETNAME = togglePin BUILDFOLDER = ./build/ TARGET = $(BUILDFOLDER)$(TARGETNAME) INC = -Isrc/include -I/usr/avr/include CFLAGS = -Wall -Wpedantic -Wextra -Os -mmcu=atmega32u4 CPPFLAGS = -DF_CPU=16000000UL SRC = $(wildcard src/*.c) all: $(TARGET) $(TARGET): $(SRC) mkdir -p build avr-gcc -o $@.elf $^ $(CPPFLAGS) $(CFLAGS) $(INC) -Wl,-u,vfprintf -lprintf_flt -lm avr-objcopy -j .text -j .data -O ihex $@.elf $@.hex rm $@.elf flash: avrdude -p m32u4 -P /dev/ttyACM0 -c stk500v2 -Uflash:w:"$(TARGET).hex":i clean: rm -fr ./src/*.o ./build/