aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-08-31 06:19:47 +0000
committer_ov4 <ov4@ov4.org>2026-08-31 06:19:47 +0000
commit17d8acdc14ed53ee90b31c63fbfa11a3fd3e54c8 (patch)
tree657899d1a6a04a0a51a09962b0959f5a609b661c /Makefile
parentd29de7a87b89149136ebb287e1c301ef9a0cd70e (diff)
init
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile29
1 files changed, 18 insertions, 11 deletions
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