Skip to content

Commit

Permalink
修复了未正确定义Target引起的错误 (#36)
Browse files Browse the repository at this point in the history
* 修复了未正确定义Target引起的错误

* 修复了环境变量的错误定义

* 修改Makefile以适配不同架构

* 解决未设置rustflags导致pagefault的问题

---------

Co-authored-by: longjin <[email protected]>
  • Loading branch information
Chiichen and fslongjin authored Feb 13, 2024
1 parent df4e489 commit 40362c4
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 10 deletions.
2 changes: 0 additions & 2 deletions .cargo/config.toml

This file was deleted.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ path = "systemctl/src/main.rs"

[dependencies]
hashbrown = "0.11"
cfg-if = { version = "1.0"}
cfg-if = { version = "1.0" }
lazy_static = { version = "1.4.0" }
libc = "0.2"

Expand Down
26 changes: 19 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,38 @@
TOOLCHAIN="+nightly-2023-08-15-x86_64-unknown-linux-gnu"
RUSTFLAGS+="-C target-feature=+crt-static -C link-arg=-no-pie"

ifdef DADK_CURRENT_BUILD_DIR
# 如果是在dadk中编译,那么安装到dadk的安装目录中
INSTALL_DIR?=$(DADK_CURRENT_BUILD_DIR)
INSTALL_DIR = $(DADK_CURRENT_BUILD_DIR)
else
# 如果是在本地编译,那么安装到当前目录下的install目录中
INSTALL_DIR?=./install
INSTALL_DIR = ./install
endif


ifeq ($(ARCH), x86_64)
export RUST_TARGET=x86_64-unknown-linux-musl
else ifeq ($(ARCH), riscv64)
export RUST_TARGET=riscv64gc-unknown-linux-gnu
else
# 默认为x86_86,用于本地编译
export RUST_TARGET=x86_64-unknown-linux-musl
endif

build:
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build --target $(RUST_TARGET)

run-dragonreach:
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) run --bin DragonReach
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) run --target $(RUST_TARGET) --bin DragonReach

clean:
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean

build-release:
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build --release
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build --target $(RUST_TARGET) --release

clean-release:
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean --release
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean --target $(RUST_TARGET) --release

fmt:
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) fmt
Expand All @@ -35,4 +47,4 @@ install:
mkdir -p $(INSTALL_DIR)/etc/reach/system
mkdir -p $(INSTALL_DIR)/etc/reach/ipc
cp ./parse_test/shell.service $(INSTALL_DIR)/etc/reach/system/shell.service
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) install --path . --no-track --root $(INSTALL_DIR) --force
RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) install --target $(RUST_TARGET) --path . --no-track --root $(INSTALL_DIR) --force

0 comments on commit 40362c4

Please sign in to comment.