CC = gcc CFLAGS = -I./include -Wall -Wextra -MMD -MP LDLIBS = -lncurses SRC_DIR = src BUILD_DIR = build SOURCES = $(wildcard $(SRC_DIR)/*.c) OBJECTS = $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.o,$(SOURCES)) EXEC = productManager EXECTEST = test DEPS = $(OBJECTS:.o=.d) all: $(EXEC) $(EXEC): $(OBJECTS) $(CC) $^ -o $@ $(LDLIBS) $(BUILD_DIR)/%.o: $(SRC_DIR)/%.c @mkdir -p $(@D) $(CC) $(CFLAGS) -c $< -o $@ -include $(DEPS) test: $(CC) $(CFLAGS) src/logic.c src/testLogic.c -o $(EXECTEST) clean: rm -rf $(BUILD_DIR) $(EXEC) .PHONY: all clean