|
21 | 21 | # ############################################################################## |
22 | 22 |
|
23 | 23 | if(CONFIG_EXAMPLES_SOTEST) |
| 24 | + set(SOTEST_SYMTAB ${CMAKE_CURRENT_BINARY_DIR}/sotest_symtab.c) |
| 25 | + set(SOTEST_ROMFS_IMG ${CMAKE_CURRENT_BINARY_DIR}/sotest_romfs.img) |
| 26 | + set(SOTEST_ROMFS_SRC ${CMAKE_CURRENT_BINARY_DIR}/sotest_romfs.c) |
| 27 | + set(SOTEST_MODPRINT_ELF ${CMAKE_BINARY_DIR}/bin/modprint) |
| 28 | + set(SOTEST_SHARED_ELF ${CMAKE_BINARY_DIR}/bin/sotest) |
24 | 29 |
|
25 | | - # FIXME: fix all empty a after the kernel build is implemented |
26 | 30 | add_custom_command( |
27 | | - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sotest_symtab.c |
| 31 | + OUTPUT ${SOTEST_SYMTAB} |
28 | 32 | COMMAND |
29 | | - ${NUTTX_APPS_DIR}/tools/mksymtab.sh ${CMAKE_CURRENT_BINARY_DIR}/empty |
30 | | - g_sot > ${CMAKE_CURRENT_BINARY_DIR}/sotest_symtab.c) |
| 33 | + sh -c "\"${NUTTX_APPS_DIR}/tools/mksymtab.sh\" \"${SOTEST_MODPRINT_ELF}\" \"${SOTEST_SHARED_ELF}\" g_sot > \"${SOTEST_SYMTAB}\"" |
| 34 | + DEPENDS modprint sotest |
| 35 | + VERBATIM) |
31 | 36 |
|
32 | | - add_custom_target( |
33 | | - sotest_romfs |
34 | | - COMMAND genromfs -f sotest_romfs.img -d empty |
35 | | - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) |
| 37 | + set(SOTEST_SRCS sotest_main.c ${SOTEST_SYMTAB}) |
36 | 38 |
|
37 | | - add_custom_command( |
38 | | - OUTPUT sotest_romfs.c |
39 | | - COMMAND xxd -i sotest_romfs.img > sotest_romfs.c |
40 | | - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
41 | | - DEPENDS sotest_romfs) |
| 39 | + if(CONFIG_EXAMPLES_SOTEST_BUILTINFS) |
| 40 | + set(SOTEST_ROMFS_DEPS modprint sotest) |
| 41 | + |
| 42 | + if(CONFIG_SYSTEM_NXPKG) |
| 43 | + set(SOTEST_SHARED_INDEX ${CMAKE_BINARY_DIR}/bin/shared-index.json) |
| 44 | + set(SOTEST_SHARED_SCRIPT ${CMAKE_BINARY_DIR}/bin/pkgsotest.nsh) |
| 45 | + |
| 46 | + add_custom_command( |
| 47 | + OUTPUT ${SOTEST_SHARED_INDEX} ${SOTEST_SHARED_SCRIPT} |
| 48 | + COMMAND |
| 49 | + ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/mk_pkg_fixture_shared.py |
| 50 | + ${SOTEST_MODPRINT_ELF} ${SOTEST_SHARED_ELF} ${SOTEST_SHARED_INDEX} |
| 51 | + ${SOTEST_SHARED_SCRIPT} ${CONFIG_ARCH} ${CONFIG_ARCH_BOARD} |
| 52 | + DEPENDS |
| 53 | + modprint |
| 54 | + sotest |
| 55 | + ${CMAKE_CURRENT_SOURCE_DIR}/mk_pkg_fixture_shared.py |
| 56 | + VERBATIM) |
| 57 | + |
| 58 | + list(APPEND SOTEST_ROMFS_DEPS ${SOTEST_SHARED_INDEX} |
| 59 | + ${SOTEST_SHARED_SCRIPT}) |
| 60 | + endif() |
| 61 | + |
| 62 | + add_custom_command( |
| 63 | + OUTPUT ${SOTEST_ROMFS_IMG} |
| 64 | + COMMAND genromfs -f ${SOTEST_ROMFS_IMG} -d ${CMAKE_BINARY_DIR}/bin |
| 65 | + DEPENDS ${SOTEST_ROMFS_DEPS} |
| 66 | + VERBATIM) |
| 67 | + |
| 68 | + add_custom_command( |
| 69 | + OUTPUT ${SOTEST_ROMFS_SRC} |
| 70 | + COMMAND |
| 71 | + sh -c "echo '#include <nuttx/compiler.h>' > \"${SOTEST_ROMFS_SRC}\" && xxd -i \"${SOTEST_ROMFS_IMG}\" | sed -e 's/^unsigned char/const unsigned char aligned_data(4)/g' >> \"${SOTEST_ROMFS_SRC}\"" |
| 72 | + DEPENDS ${SOTEST_ROMFS_IMG} |
| 73 | + VERBATIM) |
42 | 74 |
|
43 | | - nuttx_add_application( |
44 | | - NAME sotest SRCS sotest_main.c ${CMAKE_CURRENT_BINARY_DIR}/sotest_symtab.c |
45 | | - ${CMAKE_CURRENT_BINARY_DIR}/sotest_romfs.c) |
| 75 | + list(APPEND SOTEST_SRCS ${SOTEST_ROMFS_SRC}) |
| 76 | + endif() |
46 | 77 |
|
| 78 | + nuttx_add_application(NAME sotest SRCS ${SOTEST_SRCS}) |
47 | 79 | endif() |
0 commit comments