From 218ee65e6710c3c6fb3476dc006609302eb698c0 Mon Sep 17 00:00:00 2001 From: Rorikstr | Rust Dev Date: Sun, 19 Oct 2025 19:29:21 +0300 Subject: [PATCH] doxy --- .gitignore | 1 + src/Doxyfile | 23 +++++++++++++++++++++++ src/Makefile | 13 +++++++++---- 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 src/Doxyfile diff --git a/.gitignore b/.gitignore index 4c59a6c..82d53e8 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ src/tetris.log src/high_score.txt src/build/high_score.txt code-samples/frogger/project.md +dvi/ diff --git a/src/Doxyfile b/src/Doxyfile new file mode 100644 index 0000000..72a050c --- /dev/null +++ b/src/Doxyfile @@ -0,0 +1,23 @@ +# Doxyfile для генерации документации +PROJECT_NAME = "Tetris Game C API" +PROJECT_NUMBER = "1.0" +PROJECT_BRIEF = "Classic Tetris implementation with separated backend/frontend" +OUTPUT_DIRECTORY = dvi +INPUT = brick_game/tetris/00_tetris.h doc.md +RECURSIVE = NO +GENERATE_HTML = YES +GENERATE_LATEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +FILE_PATTERNS = *.h *.md +HTML_OUTPUT = html +USE_MDFILE_AS_MAINPAGE = doc.md +JAVADOC_AUTOBRIEF = YES +OPTIMIZE_OUTPUT_FOR_C = YES +TYPEDEF_HIDES_STRUCT = YES +SHOW_INCLUDE_FILES = YES +SHOW_NAMESPACES = NO +QUIET = YES +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES diff --git a/src/Makefile b/src/Makefile index fbd5e34..e020c1b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -78,11 +78,16 @@ gcov_report: clean test dvi: @mkdir -p $(DVI_DIR) - @cp doc.md $(DVI_DIR)/ 2>/dev/null || echo "doc.md not found" - @if command -v doxygen >/dev/null 2>&1 && [ -f Doxyfile ]; then \ - doxygen Doxyfile; \ + @echo "Generating documentation with Doxygen..." + @if command -v doxygen >/dev/null 2>&1; then \ + doxygen Doxyfile && echo "HTML docs: $(DVI_DIR)/html/index.html"; \ + else \ + echo "Error: Doxygen not found. Install: nix-shell -p doxygen"; \ + echo "Copying doc.md as fallback..."; \ + cp doc.md $(DVI_DIR)/; \ fi - @echo "Documentation in $(DVI_DIR)/" + xdg-open dvi/html/index.html + dist: clean tar -czf tetris.tar.gz Makefile $(TETRISDIR) $(CLIDIR) $(TESTDIR) README.md doc.md