Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cmake: fix DEPENDS issues for kobject hash targets
Fixes: zephyrproject-rtos#42184 This commit fixes dependency issues related to kobject hash generation. Absolute path is ensured in cases where OUTPUT was provided with absolute path, as `${CMAKE_CURRENT_BINARY_DIR}`. DEPENDS referring to same file has been updated to also use `${CMAKE_CURRENT_BINARY_DIR}` to ensure they reference identical locations. The custom command renaming sections in kobject_hash.o and creating kobject_hash_renamed.o has been updated to depends on the target objects of kobj_hash_output_lib in addition to the library itself. This is needed because kobj_hash_output_lib is not a real library, and thus no library is updated when this target rebuilds. Instead the dependency must be on the object files created by kobj_hash_outplut_lib. This ensures that when object files gets rebuilt then the section renaming will also take place. The reason why both the object library itself, and its object files are required as dependencies has to do with build generators. The library is needed to ensure Makefiles can correctly have a target to invoke when the output of the custom command is missing. The object files dependency is required to ensure that custom commands are correctly brought up-to-date when the objects changes. Similar, the custom command executing gen_kobject_placeholders.py depending of kobj_prebuilt_hash_output_lib has been updated to also depend on the object files created by kobj_prebuilt_hash_output_lib. Signed-off-by: Torsten Rasmussen <[email protected]>
- Loading branch information