xref: /DragonOS/user/apps/test_ebpf/Makefile (revision 4dd4856f933be0b4624c7f7ffa9e3d0c8c218873)
1TOOLCHAIN="+nightly-2024-07-23-x86_64-unknown-linux-gnu"
2RUSTFLAGS+=""
3
4ifdef DADK_CURRENT_BUILD_DIR
5# 如果是在dadk中编译,那么安装到dadk的安装目录中
6	INSTALL_DIR = $(DADK_CURRENT_BUILD_DIR)
7else
8# 如果是在本地编译,那么安装到当前目录下的install目录中
9	INSTALL_DIR = ./install
10endif
11
12ifeq ($(ARCH), x86_64)
13	export RUST_TARGET=x86_64-unknown-linux-musl
14else ifeq ($(ARCH), riscv64)
15	export RUST_TARGET=riscv64gc-unknown-linux-gnu
16else
17# 默认为x86_86,用于本地编译
18	export RUST_TARGET=x86_64-unknown-linux-musl
19endif
20
21run:
22	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) run --target $(RUST_TARGET)
23
24build:build-ebpf
25	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build --target $(RUST_TARGET)
26
27clean:clean-ebpf
28	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean --target $(RUST_TARGET)
29
30test:
31	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) test --target $(RUST_TARGET)
32
33doc:
34	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) doc --target $(RUST_TARGET)
35
36fmt:
37	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) fmt
38
39fmt-check:
40	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) fmt --check
41
42run-release:
43	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) run --target $(RUST_TARGET) --release
44
45build-release:build-ebpf
46	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build --target $(RUST_TARGET) --release
47
48clean-release:clean-ebpf
49	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean --target $(RUST_TARGET) --release
50
51test-release:
52	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) test --target $(RUST_TARGET) --release
53
54build-ebpf:
55	cd ./syscall_ebpf && RUST_LOG=debug cargo xtask build --release
56clean-ebpf:
57	cd ./syscall_ebpf && cargo clean
58
59.PHONY: install
60install:build-ebpf
61	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) install --target $(RUST_TARGET) --path . --no-track --root $(INSTALL_DIR) --force
62