2025-04-03 22:22:17 +00:00
|
|
|
CXX := g++
|
|
|
|
CXXFLAGS := -std=c++20 -Wall -Wextra -g -Iinclude -I/c/msys64/mingw64/include
|
|
|
|
|
|
|
|
LDFLAGS := -lws2_32
|
|
|
|
|
|
|
|
SRC_DIRS := src
|
|
|
|
BUILD_DIR := build
|
|
|
|
|
|
|
|
# Find all source files
|
|
|
|
SRC := $(foreach dir, $(SRC_DIRS), $(wildcard $(dir)/*.cpp))
|
|
|
|
|
|
|
|
OBJ := $(patsubst %.cpp, $(BUILD_DIR)/%.o, $(SRC))
|
|
|
|
|
|
|
|
TARGET := main.exe
|
|
|
|
|
|
|
|
all: $(TARGET)
|
|
|
|
|
|
|
|
$(TARGET): $(OBJ)
|
|
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
|
|
|
|
$(BUILD_DIR)/%.o: %.cpp
|
|
|
|
@mkdir "$(dir $@)" || exit 0
|
|
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
|
2025-04-03 01:05:40 +00:00
|
|
|
clean:
|
2025-04-03 22:22:17 +00:00
|
|
|
del /Q /S $(subst /,\,$(BUILD_DIR)\*.o) $(TARGET) 2>nul || exit 0
|
|
|
|
rmdir /S /Q $(BUILD_DIR) 2>nul || exit 0
|
|
|
|
|
|
|
|
.PHONY: all clean
|