2025-10-07 10:17:24 +02:00

43 lines
917 B
Makefile

# ---------------------------------
# Generated by Kimi K2
#---------- configurable ----------
CXX := g++
CXXFLAGS := -Isrc -std=c++23 -Wall -Wextra -Wpedantic -ggdb3
LDFLAGS :=
LDLIBS := -lSDL3 -lSDL3_image -lGLEW -lGL
SRC_DIR := src
BUILD_DIR:= build
TARGET := pathfinding
TEST_TARGET := unittest
#----------------------------------
SOURCES := $(shell find $(SRC_DIR) -name '*.cpp')
OBJECTS := $(SOURCES:$(SRC_DIR)/%.cpp=$(BUILD_DIR)/%.o)
#----------------------------------
.PHONY: all clean test
all: $(TARGET)
test: $(TEST_TARGET)
./$(TEST_TARGET)
$(TEST_TARGET): test/test.cpp
$(CXX) -std=c++23 -lgtest -Isrc -o $@ $<
# link step
$(TARGET): $(OBJECTS)
$(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS)
# compile step
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp | $(BUILD_DIR)
@mkdir -p $(dir $@)
$(CXX) $(CXXFLAGS) -c -o $@ $<
$(BUILD_DIR):
mkdir -p $@
clean:
rm -rf $(BUILD_DIR) $(TARGET) $(TEST_TARGET)