diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-10-31 15:39:37 -0600 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-10-31 16:00:34 -0600 |
commit | 3c81186daf97cf7011fd2806dfd0bc3b875e92f3 (patch) | |
tree | 30a6a4b50ab2eb15e7c6dcf934dc6052bbea0224 /cmd/srv9p | |
parent | f2d53195fd86023d2ff9fcce68d2e150bfd97059 (diff) |
Clean up the build system
Diffstat (limited to 'cmd/srv9p')
-rw-r--r-- | cmd/srv9p/CMakeLists.txt | 38 | ||||
-rwxr-xr-x | cmd/srv9p/static.h.gen | 10 |
2 files changed, 4 insertions, 44 deletions
diff --git a/cmd/srv9p/CMakeLists.txt b/cmd/srv9p/CMakeLists.txt index 4c170fb..b747882 100644 --- a/cmd/srv9p/CMakeLists.txt +++ b/cmd/srv9p/CMakeLists.txt @@ -5,15 +5,14 @@ if (PICO_PLATFORM STREQUAL "host") -set(static_srcs - static/README.md - static/Documentation/x -) - add_executable(srv9p main.c static9p.c ) +target_embed_sources(srv9p static.h + static/README.md + static/Documentation/x +) target_include_directories(srv9p PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) target_include_directories(srv9p PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config) target_link_libraries(srv9p @@ -23,33 +22,4 @@ target_link_libraries(srv9p lib9p ) -set(static_objs) -foreach(static_src ${static_srcs}) - add_custom_command( - OUTPUT "${static_src}.obj" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND dirname -- ${CMAKE_CURRENT_BINARY_DIR}/${static_src}.obj | xargs mkdir -p -- - COMMAND ${CMAKE_LINKER} -r -b binary -o ${CMAKE_CURRENT_BINARY_DIR}/${static_src}.obj ${static_src} - DEPENDS "${static_src}" - ) - list(APPEND static_objs "${static_src}.obj") -endforeach() - -set_source_files_properties(${static_objs} PROPERTIES - EXTERNAL_OBJECT true - GENERATED true -) - -set_source_files_properties(static.h PROPERTIES - GENERATED true -) - -add_custom_command( - OUTPUT static.h - DEPENDS ${static_objs} static.h.gen - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/static.h.gen ${static_objs} >static.h -) - -target_sources(srv9p PRIVATE ${static_objs} static.h) - endif() diff --git a/cmd/srv9p/static.h.gen b/cmd/srv9p/static.h.gen deleted file mode 100755 index a93419f..0000000 --- a/cmd/srv9p/static.h.gen +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# srv9p/static.h.gen - Generate C definitions for GNU `ld -r -b binary` files -# -# Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> -# SPDX-License-Identifier: AGPL-3.0-or-later - -nm --format=posix "$@" | - sed -n -E \ - -e 's/(.*_(end|start)) D .*/extern char \1[];/p' \ - -e 's/(.*_size) A .*/extern size_t \1;/p' |