37 lines
716 B
Makefile
37 lines
716 B
Makefile
CC = gcc
|
|
CFLAGS = -I./include -Wall -Wextra -MMD -MP
|
|
LDLIBS = -lncurses
|
|
SRC_DIR = src
|
|
BUILD_DIR = build
|
|
|
|
SOURCES = $(filter-out $(SRC_DIR)/testLogic.c, $(wildcard $(SRC_DIR)/*.c))
|
|
OBJECTS = $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.o,$(SOURCES))
|
|
TEST_SOURCES = $(SRC_DIR)/logic.c $(SRC_DIR)/testLogic.c
|
|
TEST_OBJECTS = $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.o,$(TEST_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: $(TEST_OBJECTS)
|
|
$(CC) $^ -o $(EXECTEST) $(LDLIBS)
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR) $(EXEC)
|
|
|
|
.PHONY: all clean
|