# SPDX-License-Identifier: Apache-2.0 set(flag_for_ram_report ram) set(flag_for_rom_report rom) set(flag_for_footprint all -q) set(report_depth 99) if(DEFINED ZEPHYR_WORKSPACE) set(workspace_arg "--workspace=${ZEPHYR_WORKSPACE}") elseif(DEFINED WEST_TOPDIR) set(workspace_arg "--workspace=${WEST_TOPDIR}") endif() foreach(report ram_report rom_report footprint) add_custom_target( ${report} ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/footprint/size_report -k ${ZEPHYR_BINARY_DIR}/${KERNEL_ELF_NAME} -z ${ZEPHYR_BASE} -o ${CMAKE_BINARY_DIR} ${workspace_arg} -d ${report_depth} ${flag_for_${report}} DEPENDS ${logical_target_for_zephyr_elf} $ USES_TERMINAL WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) endforeach() if (CONFIG_BUILD_WITH_TFM) foreach(report ram_report rom_report footprint) add_custom_target( tfm_${report} ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/footprint/size_report -k $ -z ${ZEPHYR_BASE} -o ${CMAKE_BINARY_DIR} ${workspace_arg} -d ${report_depth} ${flag_for_${report}} DEPENDS tfm USES_TERMINAL WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) endforeach() endif() if (CONFIG_TFM_BL2) foreach(report ram_report rom_report footprint) add_custom_target( bl2_${report} ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/footprint/size_report -k $ -z ${ZEPHYR_BASE} -o ${CMAKE_BINARY_DIR} ${workspace_arg} -d ${report_depth} ${flag_for_${report}} DEPENDS tfm USES_TERMINAL WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) endforeach() endif() find_program(PUNCOVER puncover) if(NOT ${PUNCOVER} STREQUAL PUNCOVER-NOTFOUND) add_custom_target( puncover ${PUNCOVER} --elf_file ${ZEPHYR_BINARY_DIR}/${KERNEL_ELF_NAME} --gcc_tools_base ${CROSS_COMPILE} --src_root ${ZEPHYR_BASE} --build_dir ${CMAKE_BINARY_DIR} DEPENDS ${logical_target_for_zephyr_elf} $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} USES_TERMINAL ) endif() find_program(PAHOLE pahole) if(NOT ${PAHOLE} STREQUAL PAHOLE-NOTFOUND) add_custom_target( pahole ${PAHOLE} --anon_include --nested_anon_include --show_decl_info $<$:--verbose> ${ZEPHYR_BINARY_DIR}/${KERNEL_ELF_NAME} DEPENDS ${logical_target_for_zephyr_elf} $ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} USES_TERMINAL ) endif()