mcc/Makefile
2026-03-08 08:21:03 +01:00

36 lines
683 B
Makefile

CXX := g++
CXXFLAGS := -std=c++17 -Wall -Wextra
LDFLAGS := -lpthread
ifeq ($(OS), Windows_NT)
LDFLAGS += -lws2_32
TARGET := mcc.exe
else
TARGET := mcc
endif
BUILD_DIR := build
SRC_DIR := src
SRCS := $(SRC_DIR)/main.cpp \
$(SRC_DIR)/Logger.cpp \
$(SRC_DIR)/Socket.cpp
OBJS := $(patsubst $(SRC_DIR)/%.cpp, $(BUILD_DIR)/%.o, $(SRCS))
INCLUDES := -I$(SRC_DIR)/Logger.hpp \
-I$(SRC_DIR)/Socket.hpp
.PHONY: all clean
all: $(TARGET)
$(TARGET): $(OBJS)
$(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp
@mkdir -p $(dir $@)
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
clean:
rm -rf $(BUILD_DIR) $(TARGET)