From d6c6a4d111bf61b7a773a56e7aeed46438f66ef6 Mon Sep 17 00:00:00 2001 From: evgeny Date: Sat, 10 Oct 2026 14:25:07 +0200 Subject: [PATCH] Use verified incremental builds instead of mandatory clean --- AGENTS.md | 6 ++++-- tests/Makefile.am | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 92cb29f3..e43e5ba9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -53,7 +53,8 @@ powershell build_full.bat # запускает bash build.sh --full чер ### Incremental Build ```bash -./build.sh -j4 # make с авто-конфигурацией если надо +./build.sh -j4 # инкрементальная сборка, конфигурация и очистка при необходимости +./build.sh --no-gui -j4 # только ядро и тесты, без отдельной сборки GUI ``` ```powershell powershell -Command ".\build.bat" 2>&1 # Windows, логи: build_win.log @@ -127,6 +128,7 @@ cd tests && ./test_services ``` Использовать цель из `tests/Makefile.am`: ручная компиляция `src/*.c` пропускает подкаталоги и добавляет лишний `main`. Уровни и категории диагностики настраиваются в самом тесте через `debug_set_level` / `debug_set_category_level`. +Проверки самого скрипта сборки входят в `./check.sh`; отдельно: `make -C tests check-build-script` (нужен Python 3). ## Code Style Guidelines @@ -614,7 +616,7 @@ DEBUG_LEVEL_DISABLED полностью отключает категорию, - Нельзя ничего восстанавливать из репозитория не спрашивая - Для отладки не printf а DEBUG_* - Запрещено прямое включение arpa/inet.h, sys/time.h, unistd.h — использовать ../lib/platform_compat.h + socket_compat.h -- Перед сборкой всегда make clean +- Меняй режим и флаги сборки через `./build.sh`: он отслеживает конфигурацию и очищает объекты только при необходимости. - Все лишнее что менял при отладке - строго вернуть назад в состояние до вмешательства ## Написание кода diff --git a/tests/Makefile.am b/tests/Makefile.am index 1c8c62ce..e818f07e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -726,7 +726,7 @@ copy-test-configs: $(check_PROGRAMS) # Clean clean-local: -rm -f $(check_PROGRAMS) - @if test "$(abs_srcdir)" != "$(abs_builddir)"; then rm -f $(abs_builddir)/test_*.conf $(abs_builddir)/test_*.json; fi + @if test "$(abs_srcdir)" != "$(abs_builddir)"; then rm -f "$(abs_builddir)"/test_*.conf "$(abs_builddir)"/test_*.json; fi -rm -rf $(top_builddir)/tests/logs 2>/dev/null || true # Test logs directory