Anas Nashif | 3ae5262 | 2019-04-06 09:08:09 -0400 | [diff] [blame] | 1 | # SPDX-License-Identifier: Apache-2.0 |
| 2 | |
Leandro Pereira | 39dc7d0 | 2018-04-05 13:59:33 -0700 | [diff] [blame] | 3 | function(gen_kobj gen_dir_out) |
| 4 | if (PROJECT_BINARY_DIR) |
| 5 | set(gen_dir ${PROJECT_BINARY_DIR}/include/generated) |
| 6 | else () |
| 7 | set(gen_dir ${CMAKE_BINARY_DIR}/include/generated) |
| 8 | endif () |
| 9 | |
| 10 | set(KOBJ_TYPES ${gen_dir}/kobj-types-enum.h) |
| 11 | set(KOBJ_OTYPE ${gen_dir}/otype-to-str.h) |
Andrew Boie | 47fa8eb | 2018-05-16 10:11:17 -0700 | [diff] [blame] | 12 | set(KOBJ_SIZE ${gen_dir}/otype-to-size.h) |
Leandro Pereira | 39dc7d0 | 2018-04-05 13:59:33 -0700 | [diff] [blame] | 13 | |
| 14 | file(MAKE_DIRECTORY ${gen_dir}) |
| 15 | |
| 16 | add_custom_command( |
Torsten Rasmussen | c4c79f5 | 2021-02-09 22:27:59 +0100 | [diff] [blame] | 17 | OUTPUT ${KOBJ_TYPES} ${KOBJ_OTYPE} ${KOBJ_SIZE} |
Leandro Pereira | 39dc7d0 | 2018-04-05 13:59:33 -0700 | [diff] [blame] | 18 | COMMAND |
| 19 | ${PYTHON_EXECUTABLE} |
Torsten Rasmussen | d7862cf | 2020-02-12 15:42:09 +0100 | [diff] [blame] | 20 | ${ZEPHYR_BASE}/scripts/gen_kobject_list.py |
Leandro Pereira | 39dc7d0 | 2018-04-05 13:59:33 -0700 | [diff] [blame] | 21 | --kobj-types-output ${KOBJ_TYPES} |
| 22 | --kobj-otype-output ${KOBJ_OTYPE} |
Andrew Boie | 47fa8eb | 2018-05-16 10:11:17 -0700 | [diff] [blame] | 23 | --kobj-size-output ${KOBJ_SIZE} |
Corey Wharton | ccd15df | 2020-02-29 14:51:42 -0800 | [diff] [blame] | 24 | ${gen_kobject_list_include_args} |
Leandro Pereira | 39dc7d0 | 2018-04-05 13:59:33 -0700 | [diff] [blame] | 25 | $<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose> |
Corey Wharton | ccd15df | 2020-02-29 14:51:42 -0800 | [diff] [blame] | 26 | DEPENDS |
Torsten Rasmussen | d7862cf | 2020-02-12 15:42:09 +0100 | [diff] [blame] | 27 | ${ZEPHYR_BASE}/scripts/gen_kobject_list.py |
Andrew Boie | c1c54b1 | 2020-03-16 12:48:00 -0700 | [diff] [blame] | 28 | ${PARSE_SYSCALLS_TARGET} |
Leandro Pereira | 39dc7d0 | 2018-04-05 13:59:33 -0700 | [diff] [blame] | 29 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
| 30 | ) |
Sebastian Bøe | 1b86fb9 | 2019-01-14 16:39:33 +0100 | [diff] [blame] | 31 | add_custom_target(${KOBJ_TYPES_H_TARGET} DEPENDS ${KOBJ_TYPES} ${KOBJ_OTYPE}) |
Leandro Pereira | 39dc7d0 | 2018-04-05 13:59:33 -0700 | [diff] [blame] | 32 | |
| 33 | set(${gen_dir_out} ${gen_dir} PARENT_SCOPE) |
| 34 | |
| 35 | endfunction () |