56 lines
1.6 KiB
CMake
56 lines
1.6 KiB
CMake
|
|
IF(NOT DEFINED _MK_LIBWRAP)
|
|
|
|
SET(_MK_LIBWRAP TRUE)
|
|
|
|
SET(LIBWRAP_DIR ${CMAKE_CURRENT_LIST_DIR})
|
|
|
|
SET(LIBWRAP_SRCS
|
|
${LIBWRAP_DIR}/stdlib/malloc.c
|
|
${LIBWRAP_DIR}/sys/open.c
|
|
${LIBWRAP_DIR}/sys/lseek.c
|
|
${LIBWRAP_DIR}/sys/read.c
|
|
${LIBWRAP_DIR}/sys/write.c
|
|
${LIBWRAP_DIR}/sys/fstat.c
|
|
${LIBWRAP_DIR}/sys/stat.c
|
|
${LIBWRAP_DIR}/sys/close.c
|
|
${LIBWRAP_DIR}/sys/link.c
|
|
${LIBWRAP_DIR}/sys/unlink.c
|
|
${LIBWRAP_DIR}/sys/execve.c
|
|
${LIBWRAP_DIR}/sys/fork.c
|
|
${LIBWRAP_DIR}/sys/getpid.c
|
|
${LIBWRAP_DIR}/sys/kill.c
|
|
${LIBWRAP_DIR}/sys/wait.c
|
|
${LIBWRAP_DIR}/sys/isatty.c
|
|
${LIBWRAP_DIR}/sys/times.c
|
|
${LIBWRAP_DIR}/sys/sbrk.c
|
|
${LIBWRAP_DIR}/sys/_exit.c
|
|
${LIBWRAP_DIR}/misc/write_hex.c
|
|
${LIBWRAP_DIR}/sys/printf.c
|
|
${LIBWRAP_DIR}/sys/puts.c
|
|
)
|
|
IF(${SEMIHOSTING})
|
|
SET(LIBWRAP_SRCS ${LIBWRAP_SRCS} ${LIBWRAP_DIR}/semihosting/semihosting.c ${LIBWRAP_DIR}/semihosting/trap.c)
|
|
ENDIF()
|
|
|
|
SET(LIBWRAP_SYMS malloc free open lseek read write fstat stat close link unlink execve fork getpid jukk wait isatty times sbrk _exit printf puts)
|
|
# Includes
|
|
INCLUDE_DIRECTORIES(
|
|
${LIBWRAP_DIR}
|
|
${LIBWRAP_DIR}/../include
|
|
${LIBWRAP_DIR}/../drivers
|
|
${LIBWRAP_DIR}/../env
|
|
${LIBWRAP_DIR}/../env/iss
|
|
)
|
|
|
|
ADD_LIBRARY(LIBWRAP_TGC STATIC ${LIBWRAP_SRCS})
|
|
TARGET_COMPILE_OPTIONS(LIBWRAP_TGC PRIVATE -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI} "-DBOARD_${BOARD}")
|
|
|
|
FOREACH(SYM ${LIBWRAP_SYMS})
|
|
LIST(APPEND WRAP_LDFLAGS "-Wl,--wrap=${SYM}")
|
|
ENDFOREACH()
|
|
|
|
SET(LIBWRAP_TGC_LDFLAGS ${WRAP_LDFLAGS} "-Wl,--start-group" "-Wl,--end-group" "-L. -lLIBWRAP_TGC")
|
|
|
|
ENDIF(NOT DEFINED _MK_LIBWRAP)
|