CC = gcc CFLAGS = -Wall -Wextra -I../ -g TARGET = sort SRC_DIR = ../code OBJ_DIR = ../.o SRCS = $(wildcard $(SRC_DIR)/*.c) OBJS = $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRCS)) .PHONY: all clean run all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(CFLAGS) $(OBJS) -o $(TARGET) $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c @mkdir -p $(OBJ_DIR) $(CC) $(CFLAGS) -c $< -o $@ clean: rm -rf $(OBJ_DIR) $(TARGET) output