From f8b26b34286d7b2b0857223ee4cd386c7110ffa8 Mon Sep 17 00:00:00 2001 From: eastWillow Date: Tue, 28 Oct 2025 23:41:51 +0800 Subject: [PATCH] Improve the Makefile speed by simple assignment In slow network environments, recursive variable assignments (`=`) in the Makefile can cause shell commands, such as `wget` for `LINUX_DATA`, to execute multiple times, significantly slowing down the build process. By using simple assignment (`:=`), `wget` is executed only once during Makefile parsing. This reduces redundant network requests and improves overall Makefile execution speed. --- mk/external.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mk/external.mk b/mk/external.mk index b4d7f68e..7d34ab94 100644 --- a/mk/external.mk +++ b/mk/external.mk @@ -128,12 +128,12 @@ LINUX_CDN_BASE_URL = https://cdn.kernel.org/pub/linux/kernel LINUX_CDN_VERSION_URL = $(LINUX_CDN_BASE_URL)/v$(LINUX_VERSION).x $(shell mkdir -p /tmp/linux) LINUX_DATA_DEST = /tmp/linux -LINUX_DATA = $(shell wget -q -O- $(LINUX_CDN_VERSION_URL) | \ +LINUX_DATA := $(shell wget -q -O- $(LINUX_CDN_VERSION_URL) | \ grep -o 'linux-$(LINUX_VERSION).$(LINUX_PATCHLEVEL).[0-9]\+\.tar.gz' | \ sort -V | tail -n 1) LINUX_DATA_URL = $(LINUX_CDN_VERSION_URL)/$(LINUX_DATA) LINUX_DATA_SKIP_DIR_LEVEL = 1 -LINUX_DATA_SHA = $(shell wget -q -O- $(LINUX_CDN_VERSION_URL)/sha256sums.asc | \ +LINUX_DATA_SHA := $(shell wget -q -O- $(LINUX_CDN_VERSION_URL)/sha256sums.asc | \ grep $(LINUX_DATA) | awk '{print $$1}') LINUX_DATA_SHA_CMD = $(SHA256SUM)