diff --git a/user/Makefile b/user/Makefile index 583321a3..9155ffe4 100644 --- a/user/Makefile +++ b/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