From 17d8acdc14ed53ee90b31c63fbfa11a3fd3e54c8 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Mon, 31 Aug 2026 06:19:47 +0000 Subject: init --- Makefile | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index b5fc3e6..c69c182 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,28 @@ -CC = gcc CXX = g++ -CXXFLAGS = -Wall -Wextra -std=c++21 +SRC_DIR = src +INCLUDE_DIR = include +BUILD = build +TARGET = $(BUILD)/ccshell -TARGET = ccshell +CPPFLAGS := -I$(INCLUDE_DIR) -MMD -MP +CXXFLAGS := -std=c++23 -Wall -Wextra -O2 +LDLIBS := -SRCS = \ - src/main.cc - -OBJS = $(SRCS:.cc=.o) +SRCS := $(shell find $(SRC_DIR) -name '*.cc') +OBJS := $(SRCS:%=$(BUILD)/%.o) +DEPS := $(OBJS:.o=.d) $(TARGET): $(OBJS) - $(CXX) $(OBJS) -o $(TARGET) + @mkdir -p $(dir $@) + $(CXX) $(LDFLAGS) $^ $(LDLIBS) -o $@ + +$(BUILD)/%.o: %.cc + @mkdir -p $(dir $@) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ -%.o: %.cc - $(CXX) $(CXXFLAGS) -c $< -o $@ +-include $(DEPS) clean: - rm -f $(OBJS) $(TARGET) + rm -rf $(BUILD) .PHONY: clean -- cgit v1.3.1-4-g156e