blob: 066769e43553edd65db383882667ad6af05e1549 [file] [log] [blame]
yang.li5bef2f62022-01-11 14:08:06 +08001# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
2
3# SPDX-License-Identifier: MIT
4
Xiaohu.Huangbe565062021-10-15 17:29:19 +08005set(common_flags "")
Xiaohu.Huangbe565062021-10-15 17:29:19 +08006set(c_flags "")
7
8set(linker_flags "-Wl,--print-memory-usage,-Map=${TARGET_NAME}.map,--gc-sections")
9
xiaohu.huang90442612022-05-27 17:13:59 +080010if(CONFIG_LTO_OPTIMIZATION)
11set(LTO_OPTIONS "-flto -ffat-lto-objects")
12endif()
13
Xiaohu.Huangbe565062021-10-15 17:29:19 +080014if(CONFIG_LIBC_STD)
Xiaohu.Huang89a650b2021-12-31 17:31:55 +080015set(linker_flags "${linker_flags},--wrap=_malloc_r,--wrap=_free_r,--wrap=_realloc_r,--wrap=_calloc_r")
Xiaohu.Huangbe565062021-10-15 17:29:19 +080016endif()
17
xiaohu.huang90442612022-05-27 17:13:59 +080018set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -g -ffunction-sections -fdata-sections -fno-common -fgnu89-inline -march=rv32imc -mabi=ilp32 ${LTO_OPTIONS}")
Xiaohu.Huangbe565062021-10-15 17:29:19 +080019set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --specs=nano.specs --specs=nosys.specs")
Yao Jieb2398a42022-10-18 13:42:47 +080020set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -g -ffunction-sections -fdata-sections -fno-common -fgnu89-inline -march=rv32imc -mabi=ilp32 ${LTO_OPTIONS} -nostdlib")
Xiaohu.Huangbe565062021-10-15 17:29:19 +080021set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --specs=nano.specs --specs=nosys.specs")
shijie.xiong253923f2023-11-06 16:51:43 +080022if(CONFIG_BACKTRACE)
23set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fno-optimize-sibling-calls")
24endif()
xiaohu.huang90442612022-05-27 17:13:59 +080025set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -O2 -g -ffunction-sections -fdata-sections -fno-common -fgnu89-inline -march=rv32imc -mabi=ilp32 ${LTO_OPTIONS} -D__ASM")
Xiaohu.Huangbe565062021-10-15 17:29:19 +080026set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} --specs=nano.specs --specs=nosys.specs")