# --------------------------------- # 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)