put back the tabs because makefiles are bitchy

This commit is contained in:
Karma Riuk
2025-06-28 17:27:56 +02:00
parent 149d0fb709
commit b966b6dfab

View File

@ -1,7 +1,7 @@
# ──────────────────────────────────── # ────────────────────────────────────
# Compiler and flags # Compiler and flags
CXX := g++ CXX := g++
CXXFLAGS := -Wall -WError -I./include CXXFLAGS := -Wall -Werror -I./include
# ──────────────────────────────────── # ────────────────────────────────────
# Paths # Paths
@ -30,41 +30,41 @@ all: test
# ─ Link test runner (test.cpp defines main via DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN) # ─ Link test runner (test.cpp defines main via DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN)
$(TEST_BIN): $(LIB_OBJS) | $(BIN_DIR) $(TEST_BIN): $(LIB_OBJS) | $(BIN_DIR)
@echo "⏳ Linking tests..." @echo "⏳ Linking tests..."
$(CXX) $(CXXFLAGS) $(TEST_SRC) $(LIB_OBJS) -o $@ $(CXX) $(CXXFLAGS) $(TEST_SRC) $(LIB_OBJS) -o $@
# ─ Link REPL # ─ Link REPL
$(REPL_BIN): $(LIB_OBJS) | $(BIN_DIR) $(REPL_BIN): $(LIB_OBJS) | $(BIN_DIR)
@echo "🚀 Linking REPL..." @echo "🚀 Linking REPL..."
$(CXX) $(CXXFLAGS) $(REPL_SRC) $(LIB_OBJS) -o $@ $(CXX) $(CXXFLAGS) $(REPL_SRC) $(LIB_OBJS) -o $@
# ─ Compile each library .cpp → mirrored .o # ─ Compile each library .cpp → mirrored .o
$(OBJ_DIR)/$(SRC_DIR)/%.o: $(SRC_DIR)/%.cpp $(OBJ_DIR)/$(SRC_DIR)/%.o: $(SRC_DIR)/%.cpp
@echo "🛠 Compiling $<" @echo "🛠 Compiling $<"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
$(CXX) $(CXXFLAGS) -c $< -o $@ $(CXX) $(CXXFLAGS) -c $< -o $@
# ──────────────────────────────────── # ────────────────────────────────────
# Run or launch targets # Run or launch targets
.PHONY: test repl clean all .PHONY: test repl clean all
test: $(TEST_BIN) test: $(TEST_BIN)
@echo "\n✅ Running tests..." @echo "\n✅ Running tests..."
@$(TEST_BIN) @$(TEST_BIN)
# @$(TEST_BIN) $(if $(TESTCASE),--test-case=$(TESTCASE)) # @$(TEST_BIN) $(if $(TESTCASE),--test-case=$(TESTCASE))
repl: $(REPL_BIN) repl: $(REPL_BIN)
@echo "\n🔧 Starting REPL..." @echo "\n🔧 Starting REPL..."
@$(REPL_BIN) @$(REPL_BIN)
# ──────────────────────────────────── # ────────────────────────────────────
# Ensure bin/ exists before linking # Ensure bin/ exists before linking
$(BIN_DIR): $(BIN_DIR):
@mkdir -p $@ @mkdir -p $@
# ──────────────────────────────────── # ────────────────────────────────────
# Clean up everything # Clean up everything
clean: clean:
@echo "🧹 Cleaning build artifacts" @echo "🧹 Cleaning build artifacts"
@rm -rf $(OBJ_DIR) $(BIN_DIR) @rm -rf $(OBJ_DIR) $(BIN_DIR)