| # SPDX-License-Identifier: Apache-2.0 |
| |
| set(flag_for_ram_report ram) |
| set(flag_for_rom_report rom) |
| set(flag_for_footprint all) |
| 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} |
| $<TARGET_PROPERTY:zephyr_property_target,${report}_DEPENDENCIES> |
| 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 $<TARGET_PROPERTY:tfm,TFM_S_ELF_FILE> |
| -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 $<TARGET_PROPERTY:tfm,BL2_ELF_FILE> |
| -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} |
| $<TARGET_PROPERTY:zephyr_property_target,${report}_DEPENDENCIES> |
| 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 |
| $<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose> |
| ${ZEPHYR_BINARY_DIR}/${KERNEL_ELF_NAME} |
| DEPENDS ${logical_target_for_zephyr_elf} |
| $<TARGET_PROPERTY:zephyr_property_target,${report}_DEPENDENCIES> |
| WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
| USES_TERMINAL |
| ) |
| endif() |