Removed a redundant target and further cleaned the CMakeLists for libpayload

This commit is contained in:
2020-01-12 16:21:31 -05:00
parent 41d3ae8550
commit 27cb623aac
2 changed files with 19 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
project(checkm8_libpayload)
set(PL_NAMES_SHORT
set(PL_NAMES
aes
aes_busy
aes_sw
@@ -8,29 +8,28 @@ set(PL_NAMES_SHORT
sysreg
task_sleep_test)
foreach(NAME ${PL_NAMES_SHORT})
foreach(NAME ${PL_NAMES})
list(APPEND PL_TARGETS "payload_${NAME}")
list(APPEND PL_SRC_SHORT "${CMAKE_CURRENT_LIST_DIR}/pl/src/${NAME}.c")
list(APPEND PL_SRC_BIN "${CMAKE_CURRENT_LIST_DIR}/pl/src/${NAME}.c")
endforeach(NAME)
foreach(NAME ${PL_TARGETS})
list(APPEND PL_SRC_LONG "${CMAKE_CURRENT_BINARY_DIR}/lib/${NAME}.c")
list(APPEND PL_BIN "${CMAKE_CURRENT_BINARY_DIR}/pl/bin/${NAME}.bin")
list(APPEND PL_TARGETS_BIN ${NAME}_bin)
endforeach(NAME)
foreach(TARGET ${PL_TARGETS})
list(APPEND PL_SRC_LIB "${CMAKE_CURRENT_BINARY_DIR}/lib/${TARGET}.c")
list(APPEND PL_BIN "${CMAKE_CURRENT_BINARY_DIR}/pl/bin/${TARGET}.bin")
endforeach(TARGET)
add_subdirectory(pl)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
add_custom_target(payload_sources
BYPRODUCTS ${PL_SRC_LONG}
DEPENDS ${PL_TARGETS_BIN}
BYPRODUCTS ${PL_SRC_LIB}
DEPENDS ${PL_TARGETS}
COMMENT "Refreshing payload library"
COMMAND python3 ${CMAKE_CURRENT_LIST_DIR}/scripts/librarize.py
${CMAKE_CURRENT_BINARY_DIR}/pl/bin
${CMAKE_CURRENT_BINARY_DIR}/lib)
${CMAKE_CURRENT_BINARY_DIR}/pl/bin
${CMAKE_CURRENT_BINARY_DIR}/lib)
add_library(payload ${PL_SRC_LONG})
add_library(payload ${PL_SRC_LIB})
add_dependencies(payload payload_sources)
add_custom_command(TARGET payload POST_BUILD

View File

@@ -11,14 +11,12 @@ endif()
set(CMAKE_C_FLAGS "-nostdlib -O")
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
foreach(PL ${PL_NAMES_SHORT})
add_executable(payload_${PL} src/${PL}.c)
add_custom_command(TARGET payload_${PL} POST_BUILD
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/bin/payload_${PL}.bin
foreach(NAME ${PL_NAMES})
add_executable(payload_${NAME} src/${NAME}.c)
add_custom_command(TARGET payload_${NAME} POST_BUILD
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/bin/payload_${NAME}.bin
COMMAND ${CMAKE_OBJCOPY}
ARGS -O binary -j .text -j .payload_text -j .payload_data
${CMAKE_CURRENT_BINARY_DIR}/payload_${PL}
${CMAKE_CURRENT_BINARY_DIR}/bin/payload_${PL}.bin)
add_custom_target(payload_${PL}_bin DEPENDS payload_${PL})
endforeach(PL)
${CMAKE_CURRENT_BINARY_DIR}/payload_${NAME}
${CMAKE_CURRENT_BINARY_DIR}/bin/payload_${NAME}.bin)
endforeach(NAME)