@@ -22,8 +22,6 @@ if(CONFIG_EXAMPLES_ELF)
2222 set (ELF_SYMTAB ${CMAKE_CURRENT_BINARY_DIR } /test_symtab.c)
2323 set (ELF_ROMFS_IMG ${CMAKE_CURRENT_BINARY_DIR } /elf_romfs.img)
2424 set (ELF_ROMFS_SRC ${CMAKE_CURRENT_BINARY_DIR } /elf_romfs.c)
25- set (ELF_GEN_SYMTAB ${CMAKE_CURRENT_SOURCE_DIR } /gen_symtab.py)
26- set (ELF_GEN_ROMFS_SRC ${CMAKE_CURRENT_SOURCE_DIR } /gen_romfs_source.py)
2725
2826 set (ELFNAME_BASE hello)
2927
@@ -41,10 +39,9 @@ if(CONFIG_EXAMPLES_ELF)
4139
4240 add_custom_command (
4341 OUTPUT ${ELF_SYMTAB}
44- COMMAND ${Python3_EXECUTABLE} ${ELF_GEN_SYMTAB} ${ ELF_BINARY_FILES} g_elf
42+ COMMAND ${NUTTX_APPS_DIR} /tools/mksymtab.sh ${ELF_BINARY_FILES} g_elf >
4543 ${ELF_SYMTAB}
46- DEPENDS ${ELF_BINARY_TARGETS} ${ELF_GEN_SYMTAB}
47- VERBATIM )
44+ DEPENDS ${ELF_BINARY_TARGETS} )
4845
4946 set_source_files_properties (${ELF_SYMTAB} PROPERTIES GENERATED TRUE )
5047
@@ -60,21 +57,33 @@ if(CONFIG_EXAMPLES_ELF)
6057 set (ELF_PKGTEST ${CMAKE_BINARY_DIR } /bin/pkgtest.nsh)
6158 set (ELF_PKGFAIL ${CMAKE_BINARY_DIR } /bin/pkgfail.nsh)
6259 set (ELF_HELLO_BIN ${CMAKE_BINARY_DIR } /bin/hello)
60+ set (ELF_FIXTURE_HOST_DIR ${CMAKE_CURRENT_BINARY_DIR } /host)
61+ set (ELF_FIXTURE_HOST_SRC ${CMAKE_CURRENT_SOURCE_DIR } /host/CMakeLists.txt)
62+ set (ELF_FIXTURE_TOOL
63+ ${ELF_FIXTURE_HOST_DIR} /mk_pkg_fixture${CMAKE_EXECUTABLE_SUFFIX } )
6364 set (ELF_HELLO_TARGET hello)
6465
6566 if (NOT CMAKE_C_ELF_COMPILER)
6667 set (ELF_HELLO_TARGET ELF_hello)
6768 endif ()
6869
70+ add_custom_command (
71+ OUTPUT ${ELF_FIXTURE_TOOL}
72+ COMMAND ${CMAKE_COMMAND } -S ${CMAKE_CURRENT_SOURCE_DIR } /host -B
73+ ${ELF_FIXTURE_HOST_DIR}
74+ COMMAND ${CMAKE_COMMAND } --build ${ELF_FIXTURE_HOST_DIR} --target
75+ mk_pkg_fixture
76+ DEPENDS ${ELF_FIXTURE_HOST_SRC}
77+ ${CMAKE_CURRENT_SOURCE_DIR } /mk_pkg_fixture.c
78+ VERBATIM )
79+
6980 add_custom_command (
7081 OUTPUT ${ELF_INDEX_JSON} ${ELF_BAD_INDEX_JSON} ${ELF_PKGTEST}
7182 ${ELF_PKGFAIL}
72- COMMAND
73- ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR } /mk_pkg_fixture.py
74- ${ELF_HELLO_BIN} ${ELF_INDEX_JSON} ${ELF_BAD_INDEX_JSON}
75- ${ELF_PKGTEST} ${ELF_PKGFAIL} ${CONFIG_ARCH} ${CONFIG_ARCH_BOARD}
76- DEPENDS ${ELF_HELLO_TARGET}
77- ${CMAKE_CURRENT_SOURCE_DIR } /mk_pkg_fixture.py
83+ COMMAND ${ELF_FIXTURE_TOOL} ${ELF_HELLO_BIN} ${ELF_INDEX_JSON}
84+ ${ELF_BAD_INDEX_JSON} ${ELF_PKGTEST} ${ELF_PKGFAIL}
85+ ${CONFIG_ARCH} ${CONFIG_ARCH_BOARD}
86+ DEPENDS ${ELF_HELLO_TARGET} ${ELF_FIXTURE_TOOL}
7887 VERBATIM )
7988
8089 list (APPEND ELF_ROMFS_DEPS ${ELF_INDEX_JSON} ${ELF_BAD_INDEX_JSON}
@@ -89,10 +98,8 @@ if(CONFIG_EXAMPLES_ELF)
8998
9099 add_custom_command (
91100 OUTPUT ${ELF_ROMFS_SRC}
92- COMMAND ${Python3_EXECUTABLE} ${ELF_GEN_ROMFS_SRC} ${ELF_ROMFS_IMG}
93- ${ELF_ROMFS_SRC}
94- DEPENDS ${ELF_ROMFS_IMG} ${ELF_GEN_ROMFS_SRC}
95- VERBATIM )
101+ COMMAND xxd -i ${ELF_ROMFS_IMG} > ${ELF_ROMFS_SRC}
102+ DEPENDS ${ELF_ROMFS_IMG} )
96103
97104 set_source_files_properties (${ELF_ROMFS_SRC} PROPERTIES GENERATED TRUE )
98105
0 commit comments