Browse Source

自动安装、更新dadk (#319)

* auto install/auto update dadk
LoGin 1 year ago
parent
commit
abf3f634bf
1 changed files with 10 additions and 2 deletions
  1. 10 2
      user/Makefile

+ 10 - 2
user/Makefile

@@ -14,7 +14,7 @@ current_CFLAGS := $(CFLAGS)
 
 DADK_VERSION = $(shell dadk -V | awk 'END {print $2}')
 # 最小的DADK版本
-MIN_DADK_VERSION = 0.1.1
+MIN_DADK_VERSION = 0.1.2
 DADK_CACHE_DIR = $(ROOT_PATH)/bin/dadk_cache
 
 # 旧版的libc安装路径
@@ -34,9 +34,17 @@ ifeq ("$(DADK_VERSION)", "")
 	@echo "\nOr you can install dadk from source by running the following command:"
 	@echo "\n\tcargo install --git https://github.com/DragonOS-Community/DADK.git"
 	@echo "\n"
-	@exit 1
+	@echo "Auto installing dadk..."
+	CC=gcc AS=as AR=ar LD=ld OBJCOPY=objcopy NM=nm cargo install dadk
 else
 	@echo "dadk version $(DADK_VERSION) installed"
+# 如果DADK版本过低,则自动更新
+ifeq ($(shell printf '%s\n' "$(DADK_VERSION)" "$(MIN_DADK_VERSION)" | sort -V | head -n1), $(MIN_DADK_VERSION))
+	@echo "dadk version is too low, please update to $(MIN_DADK_VERSION) or higher version"
+	@echo "Updating dadk..."
+	CC=gcc AS=as AR=ar LD=ld OBJCOPY=objcopy NM=nm cargo install dadk || (echo "dadk update failed" && exit 1)
+	@echo "dadk updated"
+endif
 endif
 
 dadk_run: install_dadk