summaryrefslogtreecommitdiff
path: root/cmd/srv9p
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2024-10-31 15:39:37 -0600
committerLuke T. Shumaker <lukeshu@lukeshu.com>2024-10-31 16:00:34 -0600
commit3c81186daf97cf7011fd2806dfd0bc3b875e92f3 (patch)
tree30a6a4b50ab2eb15e7c6dcf934dc6052bbea0224 /cmd/srv9p
parentf2d53195fd86023d2ff9fcce68d2e150bfd97059 (diff)
Clean up the build system
Diffstat (limited to 'cmd/srv9p')
-rw-r--r--cmd/srv9p/CMakeLists.txt38
-rwxr-xr-xcmd/srv9p/static.h.gen10
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'