Files
cpp-template/Makefile

30 lines
524 B
Makefile

CXX := g++
CXXFLAGS := -std=c++20 -Wall -Wextra -Wpedantic -O2
LDFLAGS :=
SRC_DIR := src
BUILD_DIR := build
TARGET := app
SRCS := $(wildcard $(SRC_DIR)/*.cpp)
OBJS := $(patsubst $(SRC_DIR)/%.cpp,$(BUILD_DIR)/%.o,$(SRCS))
$(TARGET): $(OBJS)
$(CXX) $(OBJS) $(LDFLAGS) -o $@
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp | $(BUILD_DIR)
$(CXX) $(CXXFLAGS) -c $< -o $@
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
.PHONY: clean run format
run: $(TARGET)
./$(TARGET)
clean:
rm -rf $(BUILD_DIR) $(TARGET)
format:
clang-format -i $(SRCS)