1TOOLCHAIN="+nightly-2024-11-05-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