CC = cc CFLAGS = -O4 -Ofast -march=native -flto -fomit-frame-pointer -finline-functions -funroll-loops -std=c2x DIR = cgi SOURCES = $(wildcard $(DIR)/*.c) TARGETS = $(patsubst $(DIR)/%.c,%,$(SOURCES)) all: $(TARGETS) %: $(DIR)/%.c $(CC) $(CFLAGS) -o $(DIR)/$@ $< clean: find $(DIR)/ -type f ! -name '*.c' -exec rm -f {} \;