@@ -39,6 +39,8 @@ SHELL_HACK := $(shell mkdir -p $(BIN_DIR)/linux-x86-softfp $(BIN_DIR)/riscv32 $(
3939ifeq ($(call has, PREBUILT) , 1)
4040ifeq ($(call has, SYSTEM) , 1)
4141 LATEST_RELEASE := $(shell wget -q https://api.github.com/repos/sysprog21/rv32emu-prebuilt/releases -O- | grep '"tag_name"' | grep "Linux-Image" | head -n 1 | sed -E 's/.* "tag_name": "([^"]+) ".*/\1/')
42+ else ifeq ($(call has, ARCH_TEST), 1)
43+ LATEST_RELEASE := $(shell wget -q https://api.github.com/repos/sysprog21/rv32emu-prebuilt/releases -O- | grep '"tag_name"' | grep "sail" | head -n 1 | sed -E 's/.* "tag_name": "([^"]+) ".*/\1/')
4244else
4345 LATEST_RELEASE := $(shell wget -q https://api.github.com/repos/sysprog21/rv32emu-prebuilt/releases -O- | grep '"tag_name"' | grep "ELF" | head -n 1 | sed -E 's/.* "tag_name": "([^"]+) ".*/\1/')
4446endif
@@ -67,6 +69,14 @@ ifeq ($(call has, SYSTEM), 1)
6769 ))
6870
6971 $(Q)$(eval RV32EMU_PREBUILT_TARBALL := rv32emu-linux-image-prebuilt.tar.gz)
72+ else ifeq ($(call has, ARCH_TEST), 1)
73+ $(Q)$(eval PREBUILT_SAIL_FILENAME := $(shell cat $(BIN_DIR)/rv32emu-prebuilt-sail-$(HOST_PLATFORM).sha | awk '{ print $$2 };'))
74+
75+ $(Q)$(eval $(foreach FILE,$(PREBUILT_SAIL_FILENAME), \
76+ $(call verify,$(shell grep -w $(FILE) $(BIN_DIR)/rv32emu-prebuilt-sail-$(HOST_PLATFORM).sha | awk '{ print $$1 };'),$(BIN_DIR)/$(FILE),RES) \
77+ ))
78+
79+ $(Q)$(eval RV32EMU_PREBUILT_TARBALL := rv32emu-prebuilt-sail-$(HOST_PLATFORM))
7080else
7181 $(Q)$(eval PREBUILT_X86_FILENAME := $(shell cat $(BIN_DIR)/sha1sum-linux-x86-softfp | awk '{ print $$2 };'))
7282 $(Q)$(eval PREBUILT_RV32_FILENAME := $(shell cat $(BIN_DIR)/sha1sum-riscv32 | awk '{ print $$2 };'))
8191 $(Q)$(eval RV32EMU_PREBUILT_TARBALL := rv32emu-prebuilt.tar.gz)
8292endif
8393
94+ ifeq ($(call has, ARCH_TEST) , 1)
8495 $(Q)if [ "$(RES)" = "1" ]; then \
85- $(PRINTF) "\n$(YELLOW)SHA-1 verification fails! Re-fetching prebuilt binaries from \"rv32emu-prebuilt\" ...\n$(NO_COLOR)"; \
96+ $(PRINTF) "\n$(YELLOW)SHA-1 verification failed! Re-fetching prebuilt binaries from \"rv32emu-prebuilt\" ...\n$(NO_COLOR)"; \
97+ wget -q --show-progress https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/$(RV32EMU_PREBUILT_TARBALL) -O build/$(RV32EMU_PREBUILT_TARBALL);\
98+ else \
99+ $(call notice, [OK]); \
100+ fi
101+ else
102+ $(Q)if [ "$(RES)" = "1" ]; then \
103+ $(PRINTF) "\n$(YELLOW)SHA-1 verification failed! Re-fetching prebuilt binaries from \"rv32emu-prebuilt\" ...\n$(NO_COLOR)"; \
86104 wget -q --show-progress https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/$(RV32EMU_PREBUILT_TARBALL) -O- | tar -C build --strip-components=1 -xz; \
87105 else \
88106 $(call notice, [OK]); \
89107 fi
108+ endif
90109else
91110ifeq ($(call has, SYSTEM) , 1)
92111 $(Q)(cd $(BIN_DIR) && $(SHA1SUM) linux-image/Image >> sha1sum-linux-image)
@@ -127,10 +146,12 @@ endif
127146
128147fetch-checksum :
129148ifeq ($(call has, PREBUILT) , 1)
130- $(Q)$(PRINTF) "Fetching SHA-1 of prebuilt binaries ... "
149+ $(Q)$(PRINTF) "Fetching SHA-1 of prebuilt binaries ...\n "
131150ifeq ($(call has, SYSTEM) , 1)
132151 $(Q)wget -q -O $(BIN_DIR)/sha1sum-linux-image https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/sha1sum-linux-image
133152 $(Q)$(call notice, [OK])
153+ else ifeq ($(call has, ARCH_TEST), 1)
154+ $(Q)wget -q -O $(BIN_DIR)/rv32emu-prebuilt-sail-$(HOST_PLATFORM).sha https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/rv32emu-prebuilt-sail-$(HOST_PLATFORM).sha
134155else
135156 $(Q)wget -q -O $(BIN_DIR)/sha1sum-linux-x86-softfp https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/sha1sum-linux-x86-softfp
136157 $(Q)wget -q -O $(BIN_DIR)/sha1sum-riscv32 https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/sha1sum-riscv32
0 commit comments