CFLAGS = -O3 -std=c17 -Wall -Wextra -Wpedantic -pedantic -pedantic-errors ALL_FLAGS = \ # -fsanitize=address,undefined HEADERS = $(wildcard *.h) CFILES = \ main.c OFILES = $(patsubst %.c,%.o,$(CFILES)) program: $(OFILES) gcc -o $@ $^ $(ALL_FLAGS) %.o: %.c $(HEADERS) gcc $< -c -o $@ $(CFLAGS) $(ALL_FLAGS) clean: rm -rf *.o program