diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 43fffc6..dd1c4e9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,19 +1,3 @@ -# Compiler flags -add_compile_options( - -g - -Os - -flto - -ffunction-sections - -fdata-sections - -fmessage-length=0 - -msmall-data-limit=8 - -march=rv32ec - -mabi=ilp32e - -DCH32V003=1 - -static-libgcc - -nostdlib - -Wall -) add_executable(${PROJECT_NAME} main.c @@ -30,11 +14,35 @@ target_link_libraries(${PROJECT_NAME} #${CMAKE_SOURCE_DIR}/libgcc.a ) -target_link_options(${PROJECT_NAME} PRIVATE -static-libgcc) +target_link_options(${PROJECT_NAME} PRIVATE + -Wl,--print-memory-usage + -Wl,-Map=${PROJECT_NAME}.map + -lgcc + -Wl,--gc-sections + -T ${CMAKE_SOURCE_DIR}/src/linker_script.ld + ) + +target_compile_options(${PROJECT_NAME} PRIVATE + -g + -Os + -flto + -ffunction-sections + -fdata-sections + -fmessage-length=0 + -msmall-data-limit=8 + -march=rv32ec + -mabi=ilp32e + -DCH32V003=1 + -static-libgcc + -nostdlib + -Wall +) set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".elf") +#target_link_options(${PROJECT_NAME} PRIVATE -static -nostartfiles -T "./linker_script.ld") + # The other "targets" are size, upload, debug, production, etc #if(NOT TARGET size)