adds first version of cmake
This commit is contained in:
39
env/CMakeLists.txt
vendored
Normal file
39
env/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
project(bsp_env)
|
||||
message(STATUS " here in bsp_env")
|
||||
# Enable ASM language
|
||||
enable_language(ASM)
|
||||
set(LIB_SOURCES
|
||||
entry.S
|
||||
start.S
|
||||
)
|
||||
|
||||
# Set ASM compile options
|
||||
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI}")
|
||||
|
||||
|
||||
add_library(asm_obj OBJECT ${LIB_SOURCES})
|
||||
add_subdirectory(${BOARD})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Include the ISS board configuration
|
||||
set(ISS_SOURCE_DIR "${CMAKE_SOURCE_DIR}/bare-metal-bsp/env/iss")
|
||||
set(ISS_BINARY_DIR "${CMAKE_BINARY_DIR}/iss_build")
|
||||
|
||||
add_subdirectory(${ISS_SOURCE_DIR} ${ISS_BINARY_DIR})
|
||||
|
||||
|
||||
|
||||
# Export variables for hello-world to use
|
||||
set(ENV_OBJECTS
|
||||
$<TARGET_OBJECTS:env_entry>
|
||||
$<TARGET_OBJECTS:env_start>
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
# Export board library
|
||||
set(BOARD_LIB board_iss PARENT_SCOPE)
|
2
env/common-gcc.mk
vendored
2
env/common-gcc.mk
vendored
@@ -16,6 +16,7 @@ BOARD?=iss
|
||||
|
||||
ASM_SRCS += $(ENV_DIR)/start.S $(ENV_DIR)/entry.S
|
||||
C_SRCS += $(PLATFORM_DIR)/init.c
|
||||
C_SRCS += $(PLATFORM_DIR)/write.c
|
||||
|
||||
LINKER_SCRIPT ?= $(PLATFORM_DIR)/$(LINK_TARGET).lds
|
||||
|
||||
@@ -23,6 +24,7 @@ INCLUDES += -I$(BSP_BASE)/include
|
||||
INCLUDES += -I$(BSP_BASE)/drivers/
|
||||
INCLUDES += -I$(ENV_DIR)
|
||||
INCLUDES += -I$(PLATFORM_DIR)
|
||||
INCLUDES += -I$(BSP_BASE)/libwrap/sys/
|
||||
|
||||
LDFLAGS += -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI)
|
||||
LDFLAGS += -L$(ENV_DIR)
|
||||
|
26
env/iss/CMakeLists.txt
vendored
Normal file
26
env/iss/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
# Create library for ISS board support
|
||||
add_library(board_iss STATIC
|
||||
init.c
|
||||
write.c
|
||||
)
|
||||
|
||||
# Include directories
|
||||
target_include_directories(board_iss PUBLIC
|
||||
${BSP_BASE}/include
|
||||
${BSP_BASE}/env
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
# Set compile options
|
||||
target_compile_options(board_iss PRIVATE
|
||||
-march=${RISCV_ARCH}_zicsr_zifencei
|
||||
-mabi=${RISCV_ABI}
|
||||
-mcmodel=medany
|
||||
-ffunction-sections
|
||||
-fdata-sections
|
||||
)
|
||||
|
||||
# Add compile definitions
|
||||
target_compile_definitions(board_iss PRIVATE
|
||||
BOARD_${BOARD}
|
||||
)
|
Reference in New Issue
Block a user