TUT/Makefile
m1ngsama 430e70d7b6 refactor: Major simplification following Unix philosophy
Removed ~45% dead code and simplified architecture:

Dead Code Removal (~1,687 LOC):
- calendar.cpp/h - Unused calendar stub
- ics_fetcher.cpp/h - Orphaned ICS fetching
- ics_parser.cpp/h - Abandoned iCalendar parsing
- tui_view.cpp/h - Separate UI implementation

Build System:
- Simplified Makefile to CMake wrapper
- Added install target to CMakeLists.txt
- Improved .gitignore for build artifacts
- Removed Chinese comments, replaced with English

Code Simplification:
- Removed unimplemented features:
  * VISUAL/VISUAL_LINE modes (no actual functionality)
  * YANK action (copy not implemented)
  * Tab support (NEXT_TAB, PREV_TAB, etc.)
  * TOGGLE_MOUSE (mouse always enabled)
- Removed process_visual_mode() function (~36 lines)
- Removed gt/gT keybindings for tabs
- Updated help text to remove placeholders

HTML Entity Decoding:
- Made entity list static const (performance)
- Added numeric entity support ({, «)
- Added UTF-8 encoding for decoded entities
- Cleaner, more complete implementation

This brings the browser closer to Unix principles:
- Do one thing well (browse, don't manage calendar)
- Keep it simple (removed over-engineered features)
- Clear, focused codebase (2,058 LOC vs 3,745)

Build tested successfully with only minor warnings.
2025-12-17 15:39:23 +08:00

28 lines
663 B
Makefile

# Simple Makefile wrapper for CMake build system
# Follows Unix convention: simple interface to underlying build
BUILD_DIR = build
TARGET = tut
.PHONY: all clean install test help
all:
@mkdir -p $(BUILD_DIR)
@cd $(BUILD_DIR) && cmake .. && cmake --build .
@cp $(BUILD_DIR)/$(TARGET) .
clean:
@rm -rf $(BUILD_DIR) $(TARGET)
install: all
@install -m 755 $(TARGET) /usr/local/bin/
test: all
@./$(TARGET) https://example.com
help:
@echo "TUT Browser - Simple make targets"
@echo " make - Build the browser"
@echo " make clean - Remove build artifacts"
@echo " make install - Install to /usr/local/bin"
@echo " make test - Quick test run"