@@ -801,11 +801,11 @@ if(CONFIG_USERSPACE)
801801  set (GEN_KOBJ_LIST ${ZEPHYR_BASE} /scripts/gen_kobject_list.py)
802802  set (PROCESS_GPERF ${ZEPHYR_BASE} /scripts/process_gperf.py)
803803
804-   set (OBJ_LIST            kobject_hash.gperf)
805-   set (OUTPUT_SRC_PRE      kobject_hash_preprocessed.c)
806-   set (OUTPUT_SRC          kobject_hash.c)
807-   set (OUTPUT_OBJ          kobject_hash.c.obj)
808-   set (OUTPUT_OBJ_RENAMED  kobject_hash_renamed.o)
804+   set (KOBJECT_HASH_LIST                kobject_hash.gperf)
805+   set (KOBJECT_HASH_OUTPUT_SRC_PRE      kobject_hash_preprocessed.c)
806+   set (KOBJECT_HASH_OUTPUT_SRC          kobject_hash.c)
807+   set (KOBJECT_HASH_OUTPUT_OBJ          kobject_hash.c.obj)
808+   set (KOBJECT_HASH_OUTPUT_OBJ_RENAMED  kobject_hash_renamed.o)
809809
810810  # Essentially what we are doing here is extracting some information 
811811  # out of the nearly finished elf file, generating the source code 
@@ -815,112 +815,132 @@ if(CONFIG_USERSPACE)
815815
816816  # Use the script GEN_KOBJ_LIST to scan the kernel binary's 
817817  # (${ZEPHYR_PREBUILT_EXECUTABLE}) DWARF information to produce a table of kernel 
818-   # objects (OBJ_LIST ) which we will then pass to gperf 
818+   # objects (KOBJECT_HASH_LIST ) which we will then pass to gperf 
819819  add_custom_command (
820-     OUTPUT  ${OBJ_LIST } 
820+     OUTPUT  ${KOBJECT_HASH_LIST } 
821821    COMMAND 
822822    ${PYTHON_EXECUTABLE} 
823823    ${GEN_KOBJ_LIST} 
824824    --kernel $<TARGET_FILE:${ZEPHYR_PREBUILT_EXECUTABLE} >
825-     --gperf-output  ${OBJ_LIST } 
825+     --gperf-output  ${KOBJECT_HASH_LIST } 
826826    ${gen_kobject_list_include_args} 
827827    $<$<BOOL :${CMAKE_VERBOSE_MAKEFILE} >:--verbose>
828828    DEPENDS 
829829    ${ZEPHYR_PREBUILT_EXECUTABLE} 
830830    WORKING_DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR} 
831831    )
832-   add_custom_target (obj_list DEPENDS  ${CMAKE_CURRENT_BINARY_DIR} /${OBJ_LIST} )
832+   add_custom_target (
833+     kobj_hash_list
834+     DEPENDS  ${CMAKE_CURRENT_BINARY_DIR} /${KOBJECT_HASH_LIST} 
835+   )
833836
834-   # Use gperf to generate C code (OUTPUT_SRC_PRE ) which implements a 
835-   # perfect hashtable based on OBJ_LIST  
837+   # Use gperf to generate C code (KOBJECT_HASH_OUTPUT_SRC_PRE ) which implements a 
838+   # perfect hashtable based on KOBJECT_HASH_LIST  
836839  add_custom_command (
837-     OUTPUT  ${OUTPUT_SRC_PRE } 
840+     OUTPUT  ${KOBJECT_HASH_OUTPUT_SRC_PRE } 
838841    COMMAND 
839842    ${GPERF} 
840-     --output -file ${OUTPUT_SRC_PRE } 
841-     ${OBJ_LIST } 
842-     DEPENDS  obj_list  ${OBJ_LIST } 
843+     --output -file ${KOBJECT_HASH_OUTPUT_SRC_PRE } 
844+     ${KOBJECT_HASH_LIST } 
845+     DEPENDS  kobj_hash_list  ${KOBJECT_HASH_LIST } 
843846    WORKING_DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR} 
844847    )
845-   add_custom_target (output_src_pre DEPENDS  ${CMAKE_CURRENT_BINARY_DIR} /${OUTPUT_SRC_PRE} )
848+   add_custom_target (
849+     kobj_hash_output_src_pre
850+     DEPENDS  ${CMAKE_CURRENT_BINARY_DIR} /${KOBJECT_HASH_OUTPUT_SRC_PRE} 
851+   )
846852
847853  # For our purposes the code/data generated by gperf is not optimal. 
848854  # 
849-   # The script PROCESS_GPERF creates a new c file OUTPUT_SRC  based on 
850-   # OUTPUT_SRC_PRE  to greatly reduce the amount of code/data generated 
855+   # The script PROCESS_GPERF creates a new c file KOBJECT_HASH_OUTPUT_SRC  based on 
856+   # KOBJECT_HASH_OUTPUT_SRC_PRE  to greatly reduce the amount of code/data generated 
851857  # since we know we are always working with pointer values 
852858  add_custom_command (
853-     OUTPUT  ${OUTPUT_SRC } 
859+     OUTPUT  ${KOBJECT_HASH_OUTPUT_SRC } 
854860    COMMAND 
855861    ${PYTHON_EXECUTABLE} 
856862    ${PROCESS_GPERF} 
857-     -i ${OUTPUT_SRC_PRE } 
858-     -o ${OUTPUT_SRC } 
863+     -i ${KOBJECT_HASH_OUTPUT_SRC_PRE } 
864+     -o ${KOBJECT_HASH_OUTPUT_SRC } 
859865    -p "struct z_object" 
860866    $<$<BOOL :${CMAKE_VERBOSE_MAKEFILE} >:--verbose>
861-     DEPENDS  output_src_pre  ${OUTPUT_SRC_PRE } 
867+     DEPENDS  kobj_hash_output_src_pre  ${KOBJECT_HASH_OUTPUT_SRC_PRE } 
862868    WORKING_DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR} 
863869    )
864-   add_custom_target (output_src DEPENDS  ${CMAKE_CURRENT_BINARY_DIR} /${OUTPUT_SRC} )
870+   add_custom_target (
871+     kobj_hash_output_src
872+     DEPENDS  ${CMAKE_CURRENT_BINARY_DIR} /${KOBJECT_HASH_OUTPUT_SRC} 
873+   )
865874
866875  # We need precise control of where generated text/data ends up in the final 
867876  # kernel image. Disable function/data sections and use objcopy to move 
868877  # generated data into special section names 
869-   add_library (output_lib STATIC 
870-     ${CMAKE_CURRENT_BINARY_DIR} /${OUTPUT_SRC} 
878+   add_library (
879+     kobj_hash_output_lib
880+     STATIC  ${CMAKE_CURRENT_BINARY_DIR} /${KOBJECT_HASH_OUTPUT_SRC} 
871881    )
872882
873-   set_source_files_properties (${OUTPUT_SRC}  PROPERTIES COMPILE_FLAGS 
883+   set_source_files_properties (${KOBJECT_HASH_OUTPUT_SRC} 
884+     PROPERTIES COMPILE_FLAGS 
874885    "${NO_COVERAGE_FLAGS}  -fno-function-sections -fno-data-sections" )
875886
876-   set_source_files_properties (${OUTPUT_SRC } 
887+   set_source_files_properties (${KOBJECT_HASH_OUTPUT_SRC } 
877888    PROPERTIES COMPILE_DEFINITIONS  "${compile_definitions_interface} " )
878889
879890  # Turn off -ffunction-sections, etc. 
880-   # NB: Using a library instead of target_compile_options(output_lib  
891+   # NB: Using a library instead of target_compile_options(kobj_hash_output_lib  
881892  # [...]) because a library's options have precedence 
882-   add_library (output_lib_interface  INTERFACE )
893+   add_library (kobj_hash_output_lib_interface  INTERFACE )
883894
884-   target_link_libraries (output_lib output_lib_interface )
895+   target_link_libraries (kobj_hash_output_lib kobj_hash_output_lib_interface )
885896
886897  foreach (incl ${include_dir_in_interface} )
887-     target_include_directories (output_lib_interface  INTERFACE  ${incl} )
898+     target_include_directories (kobj_hash_output_lib_interface  INTERFACE  ${incl} )
888899  endforeach ()
889900
890901  foreach (incl ${sys_include_dir_in_interface} )
891-     target_include_directories (output_lib_interface  SYSTEM  INTERFACE  ${incl} )
902+     target_include_directories (kobj_hash_output_lib_interface  SYSTEM  INTERFACE  ${incl} )
892903  endforeach ()
893904
894-   set (OUTPUT_OBJ_PATH ${CMAKE_CURRENT_BINARY_DIR} /CMakeFiles/output_lib.dir/${OUTPUT_OBJ} )
905+   set (
906+     KOBJECT_HASH_OUTPUT_OBJ_PATH
907+     ${CMAKE_CURRENT_BINARY_DIR} /CMakeFiles/kobj_hash_output_lib.dir/${KOBJECT_HASH_OUTPUT_OBJ} 
908+   )
895909
896910  add_custom_command (
897-     OUTPUT  ${CMAKE_CURRENT_BINARY_DIR} /${OUTPUT_OBJ_RENAMED } 
911+     OUTPUT  ${CMAKE_CURRENT_BINARY_DIR} /${KOBJECT_HASH_OUTPUT_OBJ_RENAMED } 
898912    COMMAND  $<TARGET_PROPERTY:bintools,elfconvert_command>
899913            $<TARGET_PROPERTY:bintools,elfconvert_flag>
900914            $<TARGET_PROPERTY:bintools,elfconvert_flag_section_rename>.data=.kobject_data.data
901915            $<TARGET_PROPERTY:bintools,elfconvert_flag_section_rename>.text=.kobject_data.text
902916            $<TARGET_PROPERTY:bintools,elfconvert_flag_section_rename>.rodata=.kobject_data.rodata
903-             $<TARGET_PROPERTY:bintools,elfconvert_flag_infile>${OUTPUT_OBJ_PATH } 
904-             $<TARGET_PROPERTY:bintools,elfconvert_flag_outfile>${OUTPUT_OBJ_RENAMED } 
917+             $<TARGET_PROPERTY:bintools,elfconvert_flag_infile>${KOBJECT_HASH_OUTPUT_OBJ_PATH } 
918+             $<TARGET_PROPERTY:bintools,elfconvert_flag_outfile>${KOBJECT_HASH_OUTPUT_OBJ_RENAMED } 
905919            $<TARGET_PROPERTY:bintools,elfconvert_flag_final>
906-     DEPENDS  output_lib 
920+     DEPENDS  kobj_hash_output_lib 
907921    WORKING_DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR} 
908922    COMMAND_EXPAND_LISTS 
909923    )
910-   add_custom_target (output_obj_renamed DEPENDS  ${CMAKE_CURRENT_BINARY_DIR} /${OUTPUT_OBJ_RENAMED} )
924+   add_custom_target (
925+     kobj_hash_output_obj_renamed
926+     DEPENDS  ${CMAKE_CURRENT_BINARY_DIR} /${KOBJECT_HASH_OUTPUT_OBJ_RENAMED} 
927+   )
911928
912-   add_library (output_obj_renamed_lib  STATIC  IMPORTED  GLOBAL )
929+   add_library (kobj_hash_output_obj_renamed_lib  STATIC  IMPORTED  GLOBAL )
913930  set_property (
914-     TARGET  output_obj_renamed_lib 
931+     TARGET  kobj_hash_output_obj_renamed_lib 
915932    PROPERTY
916-     IMPORTED_LOCATION  ${CMAKE_CURRENT_BINARY_DIR} /${OUTPUT_OBJ_RENAMED } 
933+     IMPORTED_LOCATION  ${CMAKE_CURRENT_BINARY_DIR} /${KOBJECT_HASH_OUTPUT_OBJ_RENAMED } 
917934    )
918935  add_dependencies (
919-     output_obj_renamed_lib 
920-     output_obj_renamed 
936+     kobj_hash_output_obj_renamed_lib 
937+     kobj_hash_output_obj_renamed 
921938    )
922939
923-   set_property (GLOBAL  APPEND  PROPERTY GENERATED_KERNEL_OBJECT_FILES output_obj_renamed_lib)
940+   set_property (
941+     GLOBAL  APPEND  PROPERTY
942+     GENERATED_KERNEL_OBJECT_FILES kobj_hash_output_obj_renamed_lib
943+   )
924944endif ()
925945
926946# Read global variables into local variables 
0 commit comments