3
3
TOOLCHAIN ="+nightly-2023-08-15-x86_64-unknown-linux-gnu"
4
4
RUSTFLAGS+ ="-C target-feature=+crt-static -C link-arg=-no-pie"
5
5
6
+ ifdef DADK_CURRENT_BUILD_DIR
6
7
# 如果是在dadk中编译,那么安装到dadk的安装目录中
7
- INSTALL_DIR? =$(DADK_CURRENT_BUILD_DIR )
8
+ INSTALL_DIR = $(DADK_CURRENT_BUILD_DIR)
9
+ else
8
10
# 如果是在本地编译,那么安装到当前目录下的install目录中
9
- INSTALL_DIR? =./install
11
+ INSTALL_DIR = ./install
12
+ endif
10
13
11
14
15
+ ifeq ($(ARCH ) , x86_64)
16
+ export RUST_TARGET=x86_64-unknown-linux-musl
17
+ else ifeq ($(ARCH), riscv64)
18
+ export RUST_TARGET=riscv64gc-unknown-linux-gnu
19
+ else
20
+ # 默认为x86_86,用于本地编译
21
+ export RUST_TARGET=x86_64-unknown-linux-musl
22
+ endif
23
+
12
24
build :
13
- RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) build
25
+ RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) build --target $( RUST_TARGET )
14
26
15
27
run-dragonreach :
16
- RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) run --bin DragonReach
28
+ RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) run --target $( RUST_TARGET ) -- bin DragonReach
17
29
18
30
clean :
19
31
RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) clean
20
32
21
33
build-release :
22
- RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) build --release
34
+ RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) build --target $( RUST_TARGET ) -- release
23
35
24
36
clean-release :
25
- RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) clean --release
37
+ RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) clean --target $( RUST_TARGET ) -- release
26
38
27
39
fmt :
28
40
RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) fmt
@@ -35,4 +47,4 @@ install:
35
47
mkdir -p $(INSTALL_DIR ) /etc/reach/system
36
48
mkdir -p $(INSTALL_DIR ) /etc/reach/ipc
37
49
cp ./parse_test/shell.service $(INSTALL_DIR ) /etc/reach/system/shell.service
38
- RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) install --path . --no-track --root $(INSTALL_DIR ) --force
50
+ RUSTFLAGS=$(RUSTFLAGS ) cargo $(TOOLCHAIN ) install --target $( RUST_TARGET ) -- path . --no-track --root $(INSTALL_DIR ) --force
0 commit comments