# Проверяем, что сборка идёт в окружении Zephyr
if(TARGET zephyr_interface)
# 1. Создаем задачу для бэкапа оригинального ELF до финальной сборки
add_custom_target(backup_debug_symbols ALL)
add_dependencies(backup_debug_symbols zephyr_prebuilt)
# 2. Копируем zephyr_prebuilt.elf в zephyr_debug.elf (здесь вся ваша отладка!)
add_custom_command(
TARGET backup_debug_symbols
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_BINARY_DIR}/zephyr/zephyr_prebuilt.elf
${CMAKE_BINARY_DIR}/zephyr/zephyr_debug.elf
COMMENT "--> Отладочные символы сохранены в zephyr_debug.elf для GDB/west debug"
)
# 3. Штатный макрос Zephyr для передачи флага линкеру.
# Он заставит GCC вырезать debug-секции ровно в момент создания финального zephyr.elf,
# что спасёт objcopy от падения.
zephyr_ld_options(-Wl,--strip-debug)
endif()