build_system: Add module size info statistics function [1/2]

PD#SWPL-90928

Problem:
Integrated the statistic module size into to compile flow for riscv and arm.

Solution:
Integrated the statistic module size into to compile flow for riscv and arm.

Verify:
N/A

Change-Id: Ieee2bbf1d48775b32696a7e07292f7fb056e8d8e
Signed-off-by: xiaohu.huang <xiaohu.huang@amlogic.com>
diff --git a/cmake/extensions.cmake b/cmake/extensions.cmake
index 55e1db8..446c365 100755
--- a/cmake/extensions.cmake
+++ b/cmake/extensions.cmake
@@ -789,3 +789,8 @@
   add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND ${CMAKE_OBJDUMP_COMPILER} ARGS ${LST_OPTION} $<TARGET_FILE:${TARGET}> > $<TARGET_FILE_DIR:${TARGET}>/$ENV{KERNEL}.lst)
 endfunction()
 
+function(generate_module_info_output TARGET)
+  set(map_file_path ${PROJECT_SOURCE_DIR}/output/$ENV{ARCH}-$ENV{BOARD}-$ENV{PRODUCT}/$ENV{KERNEL}/${TARGET_NAME}.map)
+  add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND python ${PROJECT_SOURCE_DIR}/scripts/map_analyzer.py --combine ${map_file_path} > $<TARGET_FILE_DIR:${TARGET}>/$ENV{KERNEL}_module_info.txt)
+endfunction()
+
diff --git a/cmake/root.cmake b/cmake/root.cmake
index 027cd63..bf5ee35 100755
--- a/cmake/root.cmake
+++ b/cmake/root.cmake
@@ -129,4 +129,7 @@
 compiler_generate_lst_output(${TARGET_NAME} -D)
 else()
 compiler_generate_lst_output(${TARGET_NAME} -S)
+
+#Generate module memory size information
+generate_module_info_output(${TARGET_NAME})
 endif()