CC = gcc CFLAGS = -Wall -Wextra -std=c11 SRCDIR = ./c-basic SRC = $(wildcard $(SRCDIR)/*.c) OBJ = $(patsubst $(SRCDIR)/%.c, $(SRCDIR)/%.o, $(SRC)) TARGET = main all: $(TARGET) $(TARGET): $(OBJ) $(CC) $(CFLAGS) -o $@ $^ $(SRCDIR)/%.o: $(SRCDIR)/%.c $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f $(OBJ) $(TARGET)