CFLAGS = -Os -Wall --std=c11 -g CHIP = atmega328p SOURCE_FILES = ${wildcard *.c} OBJ_FILES = $(SOURCE_FILES:%.c=%.o) BIN = pendulum.bin HEX = pendulum.hex ASM = pendulum.asm default: $(HEX) %.o: %.c avr-gcc $(CFLAGS) -mmcu=$(CHIP) -o $@ $< $(BIN): $(OBJ_FILES) avr-gcc $(CFLAGS) -o $@ $^ $(ASM): $(BIN) avr-objdump -d -g -l -S $^ > $@ $(HEX): $(BIN) avr-objcopy -O ihex -j .text -j .data $^ $@ asm: $(ASM) flash: $(HEX) avrdude -p $(CHIP) -c arduino -B 115200 -P /dev/ttyACM0 -v -v -e -Uflash:w:$(HEX):a clean: $(RM) $(OBJ_FILES) $(BIN) $(HEX) $(ASM)