Jelajahi Sumber

完成DragonOS Rust应用开发模板

longjin 1 tahun lalu
induk
melakukan
85b3a6040c
7 mengubah file dengan 77 tambahan dan 0 penghapusan
  1. 2 0
      .cargo/config.toml
  2. 3 0
      .gitignore
  3. 10 0
      Cargo.toml
  4. 41 0
      Makefile
  5. 13 0
      README.md
  6. 5 0
      cargo-generate.toml
  7. 3 0
      src/main.rs

+ 2 - 0
.cargo/config.toml

@@ -0,0 +1,2 @@
+[build]
+target = "x86_64-unknown-linux-musl"

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+/target
+Cargo.lock
+/install/

+ 10 - 0
Cargo.toml

@@ -0,0 +1,10 @@
+[package]
+name = "{{project-name}}"
+version = "0.1.0"
+edition = "2021"
+description = "{{description}}"
+authors = [ "{{authors}}" ]
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]

+ 41 - 0
Makefile

@@ -0,0 +1,41 @@
+# The toolchain we use.
+# You can get it by running DragonOS' `tools/bootstrap.sh`
+TOOLCHAIN="+nightly-2023-08-15-x86_64-unknown-linux_dragonos-gnu"
+RUSTFLAGS+="-C target-feature=+crt-static -C link-arg=-no-pie"
+
+# 如果是在dadk中编译,那么安装到dadk的安装目录中
+INSTALL_DIR?=$(DADK_CURRENT_BUILD_DIR)
+# 如果是在本地编译,那么安装到当前目录下的install目录中
+INSTALL_DIR?=./install
+
+
+run:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) run
+
+build:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build
+
+clean:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean
+
+test:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) test
+
+doc:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) doc
+
+run-release:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) run --release
+
+build-release:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) build --release
+
+clean-release:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) clean --release
+
+test-release:
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) test --release
+
+.PHONY: install
+install: 
+	RUSTFLAGS=$(RUSTFLAGS) cargo $(TOOLCHAIN) install --path . --no-track --root $(INSTALL_DIR) --force

+ 13 - 0
README.md

@@ -0,0 +1,13 @@
+# DragonOS Rust-Application Template
+
+您可以使用此模板来创建DragonOS应用程序。
+
+## 使用方法
+
+1. 使用DragonOS的tools目录下的`bootstrap.sh`脚本初始化环境
+2. 在终端输入`cargo install cargo-generate`
+3. 在终端输入`cargo generate --git https://github.com/DragonOS-Community/DragonOS-Rust-Application-Template.git`即可创建项目
+4. 使用`cargo run`来运行项目
+5. 在DragonOS的`user/dadk/config`目录下,使用`dadk new`命令,创建编译配置,安装到DragonOS的`/`目录下。 
+(在dadk的编译命令选项处,请使用Makefile里面的`make install`配置进行编译、安装)
+6. 编译DragonOS即可安装

+ 5 - 0
cargo-generate.toml

@@ -0,0 +1,5 @@
+[template]
+cargo_generate_version = ">=0.9.0"
+
+[placeholders]
+description = { type="string", prompt="Description for the crate?" }

+ 3 - 0
src/main.rs

@@ -0,0 +1,3 @@
+fn main() {
+    println!("Hello, world DragonOS-musl");
+}