build: ensure all symbols are included
This commit is contained in:
parent
643d3ed251
commit
3ab358310c
3 changed files with 19 additions and 5 deletions
|
@ -72,10 +72,17 @@ add_subdirectory(lib)
|
|||
target_include_directories(ardix INTERFACE ${ARDIX_INCLUDE_DIRS})
|
||||
target_compile_options(ardix INTERFACE ${ARDIX_COMPILE_OPTIONS})
|
||||
|
||||
# TODO: don't use this hack lmao
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/empty.c "")
|
||||
add_executable(ardix.elf ${CMAKE_CURRENT_BINARY_DIR}/empty.c)
|
||||
target_link_libraries(ardix.elf PRIVATE ardix)
|
||||
add_custom_target(ardix.elf DEPENDS ardix)
|
||||
add_custom_command(
|
||||
TARGET ardix.elf
|
||||
COMMAND ${CMAKE_LINKER}
|
||||
ARGS ${ARDIX_LINKER_FLAGS} -o ardix.elf
|
||||
$<TARGET_FILE:ardix_arch>
|
||||
$<TARGET_FILE:ardix_init>
|
||||
$<TARGET_FILE:ardix_kernel>
|
||||
$<TARGET_FILE:ardix_kernel_fs>
|
||||
$<TARGET_FILE:ardix_lib>
|
||||
)
|
||||
|
||||
add_custom_target(ardix.bin ALL DEPENDS ardix.elf)
|
||||
add_custom_command(
|
||||
|
|
|
@ -19,7 +19,12 @@ set(CMAKE_STRIP ${TOOLCHAIN_PATH}/arm-none-eabi-strip${CMAKE_EXECUTABLE_SUFFIX}
|
|||
set(CMAKE_C_FLAGS "-Os -nodefaultlibs -nostartfiles -mcpu=cortex-m3 -mthumb -mabi=aapcs -march=armv7-m -masm-syntax-unified")
|
||||
set(CMAKE_C_FLAGS_DEBUG -g)
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-T${CMAKE_CURRENT_LIST_DIR}/config.ld -T${CMAKE_CURRENT_LIST_DIR}/flash.ld")
|
||||
set(CMAKE_LINKER_FLAGS "-T${CMAKE_CURRENT_LIST_DIR}/config.ld -T${CMAKE_CURRENT_LIST_DIR}/flash.ld --whole-archive")
|
||||
set(ARDIX_LINKER_FLAGS
|
||||
-T${CMAKE_CURRENT_LIST_DIR}/config.ld
|
||||
-T${CMAKE_CURRENT_LIST_DIR}/flash.ld
|
||||
--whole-archive
|
||||
)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
|
|
|
@ -6,6 +6,8 @@ target_link_libraries(ardix INTERFACE ardix_kernel)
|
|||
target_compile_options(ardix_kernel PRIVATE ${ARDIX_COMPILE_OPTIONS})
|
||||
target_include_directories(ardix_kernel PRIVATE ${ARDIX_INCLUDE_DIRS})
|
||||
|
||||
add_subdirectory(fs)
|
||||
|
||||
target_sources(ardix_kernel PRIVATE
|
||||
device.c
|
||||
dma.c
|
||||
|
|
Loading…
Reference in a new issue