Skip to content

Commit f8b26b3

Browse files
committed
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.
1 parent 3f64d3e commit f8b26b3

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

mk/external.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,12 @@ LINUX_CDN_BASE_URL = https://cdn.kernel.org/pub/linux/kernel
128128
LINUX_CDN_VERSION_URL = $(LINUX_CDN_BASE_URL)/v$(LINUX_VERSION).x
129129
$(shell mkdir -p /tmp/linux)
130130
LINUX_DATA_DEST = /tmp/linux
131-
LINUX_DATA = $(shell wget -q -O- $(LINUX_CDN_VERSION_URL) | \
131+
LINUX_DATA := $(shell wget -q -O- $(LINUX_CDN_VERSION_URL) | \
132132
grep -o 'linux-$(LINUX_VERSION).$(LINUX_PATCHLEVEL).[0-9]\+\.tar.gz' | \
133133
sort -V | tail -n 1)
134134
LINUX_DATA_URL = $(LINUX_CDN_VERSION_URL)/$(LINUX_DATA)
135135
LINUX_DATA_SKIP_DIR_LEVEL = 1
136-
LINUX_DATA_SHA = $(shell wget -q -O- $(LINUX_CDN_VERSION_URL)/sha256sums.asc | \
136+
LINUX_DATA_SHA := $(shell wget -q -O- $(LINUX_CDN_VERSION_URL)/sha256sums.asc | \
137137
grep $(LINUX_DATA) | awk '{print $$1}')
138138
LINUX_DATA_SHA_CMD = $(SHA256SUM)
139139

0 commit comments

Comments
 (0)