mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-22 23:43:24 +00:00
使得DragonOS kernel 能为riscv64编译通过(尚未能启动) (#457)
* 使得DragonOS kernel 能为riscv64编译通过(尚未能启动) * 修正了系统调用号声明不正确的问题,同时添加了编译配置文档
This commit is contained in:
@ -1,17 +1,40 @@
|
||||
# 导入环境变量
|
||||
include ../env.mk
|
||||
|
||||
export ARCH ?= x86_64
|
||||
# 如果是x86_64, 则使用x86_64-unknown-none.json作为target
|
||||
ifeq ($(ARCH), x86_64)
|
||||
export TARGET_JSON=arch/x86_64/x86_64-unknown-none.json
|
||||
else ifeq ($(ARCH), riscv64)
|
||||
export TARGET_JSON=riscv64imac-unknown-none-elf
|
||||
endif
|
||||
|
||||
export CARGO_ZBUILD=-Z build-std=core,alloc,compiler_builtins -Z build-std-features=compiler-builtins-mem
|
||||
|
||||
.PHONY: ECHO
|
||||
ECHO:
|
||||
@echo "$@"
|
||||
|
||||
all:
|
||||
@if [ -z $$DragonOS_GCC ]; then echo "\033[31m [错误]尚未安装DragonOS交叉编译器, 请使用tools文件夹下的build_gcc_toolchain.sh脚本安装 \033[0m"; exit 1; fi
|
||||
$(MAKE) -C src all
|
||||
$(MAKE) -C src all ARCH=$(ARCH) || (sh -c "echo 内核编译失败" && exit 1)
|
||||
|
||||
|
||||
clean:
|
||||
rm -f Cargo.lock
|
||||
$(MAKE) -C src clean
|
||||
$(MAKE) -C src clean ARCH=$(ARCH)
|
||||
|
||||
.PHONY: fmt
|
||||
fmt:
|
||||
cargo fmt --all $(FMT_CHECK)
|
||||
|
||||
.PHONY: check
|
||||
check: ECHO
|
||||
# @echo "Checking kernel... ARCH=$(ARCH)"
|
||||
# @exit 1
|
||||
ifeq ($(ARCH), x86_64)
|
||||
@cargo +nightly-2023-01-21 check --workspace $(CARGO_ZBUILD) --message-format=json --target ./src/$(TARGET_JSON)
|
||||
else ifeq ($(ARCH), riscv64)
|
||||
@cargo +nightly-2023-01-21 check --workspace $(CARGO_ZBUILD) --message-format=json --target $(TARGET_JSON)
|
||||
endif
|
||||
|
||||
check:
|
||||
cargo +nightly-2023-01-21 check --workspace --message-format=json --target ./src/arch/x86_64/x86_64-unknown-none.json
|
||||
|
Reference in New Issue
Block a user