Makefile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # The toolchain we use.
  2. # You can get it by running DragonOS' `tools/bootstrap.sh`
  3. TOOLCHAIN="+nightly-2023-08-15-x86_64-unknown-linux-gnu"
  4. RUSTFLAGS+="-C target-feature=+crt-static -C link-arg=-no-pie"
  5. # 如果是在dadk中编译,那么安装到dadk的安装目录中
  6. INSTALL_DIR?=$(DADK_CURRENT_BUILD_DIR)
  7. # 如果是在本地编译,那么安装到当前目录下的install目录中
  8. INSTALL_DIR?=./install
  9. build:
  10. RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build
  11. run-dragonreach:
  12. RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) run --bin DragonReach
  13. clean:
  14. RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean
  15. build-release:
  16. RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build --release
  17. clean-release:
  18. RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean --release
  19. fmt:
  20. RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) fmt
  21. fmt-check:
  22. RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) fmt --check
  23. .PHONY: install
  24. install:
  25. mkdir -p $(INSTALL_DIR)/etc/reach/system
  26. mkdir -p $(INSTALL_DIR)/etc/reach/ipc
  27. cp ./parse_test/shell.service $(INSTALL_DIR)/etc/reach/system/shell.service
  28. RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) install --path . --no-track --root $(INSTALL_DIR) --force