DragonOS/kernel/env.mk
LoGin e80796eb82
feat: la64 boot (#1132)
* la64能够进入到kernel_main
* ci: 添加为ubuntu编译qemu-loongarch64的脚本
* feat: la64能输出hello world
* la64 安装gcc && 配置github ci
* chore: 更新CI工作流和构建脚本中的Docker镜像版本至v1.10

Signed-off-by: longjin <longjin@DragonOS.org>
2025-04-20 18:51:45 +08:00

41 lines
981 B
Makefile

include ../env.mk
# 设置编译器
ifeq ($(ARCH), x86_64)
CCPREFIX=x86_64-linux-gnu-
else ifeq ($(ARCH), riscv64)
CCPREFIX=riscv64-linux-gnu-
else ifeq ($(ARCH), loongarch64)
CCPREFIX=loongarch64-unknown-linux-gnu-
else
$(error "Unsupported ARCH: $(ARCH)")
endif
export CC=$(CCPREFIX)gcc
export LD=$(CCPREFIX)ld
export AS=$(CCPREFIX)as
export NM=$(CCPREFIX)nm
export AR=$(CCPREFIX)ar
export OBJCOPY=$(CCPREFIX)objcopy
export DEBUG=DEBUG
export CFLAGS_DEFINE_ARCH="__$(ARCH)__"
export GLOBAL_CFLAGS := -fno-builtin -fno-stack-protector -D $(CFLAGS_DEFINE_ARCH) -D $(EMULATOR) -O1
ifeq ($(ARCH), x86_64)
GLOBAL_CFLAGS += -mcmodel=large -m64
else ifeq ($(ARCH), riscv64)
GLOBAL_CFLAGS += -mcmodel=medany -march=rv64gc -mabi=lp64d
else ifeq ($(ARCH), loongarch64)
GLOBAL_CFLAGS += -mcmodel=large -march=loongarch64
endif
ifeq ($(DEBUG), DEBUG)
GLOBAL_CFLAGS += -g
endif
export RUSTFLAGS := -C link-args=-znostart-stop-gc
export RUSTDOCFLAGS := -C link-args=-znostart-stop-gc