env.mk 981 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. include ../env.mk
  2. # 设置编译器
  3. ifeq ($(ARCH), x86_64)
  4. CCPREFIX=x86_64-linux-gnu-
  5. else ifeq ($(ARCH), riscv64)
  6. CCPREFIX=riscv64-linux-gnu-
  7. else ifeq ($(ARCH), loongarch64)
  8. CCPREFIX=loongarch64-unknown-linux-gnu-
  9. else
  10. $(error "Unsupported ARCH: $(ARCH)")
  11. endif
  12. export CC=$(CCPREFIX)gcc
  13. export LD=$(CCPREFIX)ld
  14. export AS=$(CCPREFIX)as
  15. export NM=$(CCPREFIX)nm
  16. export AR=$(CCPREFIX)ar
  17. export OBJCOPY=$(CCPREFIX)objcopy
  18. export DEBUG=DEBUG
  19. export CFLAGS_DEFINE_ARCH="__$(ARCH)__"
  20. export GLOBAL_CFLAGS := -fno-builtin -fno-stack-protector -D $(CFLAGS_DEFINE_ARCH) -D $(EMULATOR) -O1
  21. ifeq ($(ARCH), x86_64)
  22. GLOBAL_CFLAGS += -mcmodel=large -m64
  23. else ifeq ($(ARCH), riscv64)
  24. GLOBAL_CFLAGS += -mcmodel=medany -march=rv64gc -mabi=lp64d
  25. else ifeq ($(ARCH), loongarch64)
  26. GLOBAL_CFLAGS += -mcmodel=large -march=loongarch64
  27. endif
  28. ifeq ($(DEBUG), DEBUG)
  29. GLOBAL_CFLAGS += -g
  30. endif
  31. export RUSTFLAGS := -C link-args=-znostart-stop-gc
  32. export RUSTDOCFLAGS := -C link-args=-znostart-stop-gc