|
48 | 48 | LDFLAGS_CROSS := -lm -lsemihost
|
49 | 49 | endif
|
50 | 50 |
|
51 |
| -.PHONY: artifact scimark2 ieeelib |
| 51 | +.PHONY: artifact fetch-sha1 scimark2 ieeelib |
52 | 52 |
|
53 |
| -artifact: ieeelib scimark2 |
| 53 | +artifact: fetch-sha1 ieeelib scimark2 |
54 | 54 | ifeq ($(call has, PREBUILT), 1)
|
55 |
| - $(Q)$(PRINTF) "Fetching prebuilt executables from \"rv32emu-prebuilt\" ...\n" |
56 |
| - $(Q)wget -q --show-progress https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/rv32emu-prebuilt.tar.gz -O- | tar -C build --strip-components=1 -xz |
| 55 | + $(Q)$(PRINTF) "Checking SHA1 of binaries ...\n" |
| 56 | + |
| 57 | + $(eval PREBUILT_X86_FILENAME := $(shell cat $(BIN_DIR)/sha1sum-linux-x86-softfp | awk '{ for(i=1;i<=NF;i++) if(i%2==0) print $$i };')) |
| 58 | + $(Q)$(eval PREBUILT_RV32_FILENAME := $(shell cat $(BIN_DIR)/sha1sum-riscv32 | awk '{ for(i=1;i<=NF;i++) if(i%2==0) print $$i };')) |
| 59 | + |
| 60 | + $(Q)$(eval RES := 0) |
| 61 | + $(Q)$(eval $(foreach FILE,$(PREBUILT_X86_FILENAME), \ |
| 62 | + $(call verify,$(shell grep -w $(FILE) $(BIN_DIR)/sha1sum-linux-x86-softfp | awk '{ print $$1 };'),$(BIN_DIR)/linux-x86-softfp/$(FILE),RES) \ |
| 63 | + )) |
| 64 | + $(Q)$(eval $(foreach FILE,$(PREBUILT_RV32_FILENAME), \ |
| 65 | + $(call verify,$(shell grep -w $(FILE) $(BIN_DIR)/sha1sum-riscv32 | awk '{ print $$1 };'),$(BIN_DIR)/riscv32/$(FILE),RES) \ |
| 66 | + )) |
| 67 | + |
| 68 | + $(Q)if [ "$(RES)" = "1" ]; then \ |
| 69 | + $(PRINTF) "SHA1 verification failed! Re-fetching prebuilt binaries from \"rv32emu-prebuilt\" ...\n"; \ |
| 70 | + wget -q --show-progress https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/rv32emu-prebuilt.tar.gz -O- | tar -C build --strip-components=1 -xz; \ |
| 71 | + fi |
57 | 72 | else
|
58 | 73 | git submodule update --init $(addprefix ./tests/,$(foreach tb,$(TEST_SUITES),$(tb)))
|
59 | 74 | $(Q)for tb in $(TEST_SUITES); do \
|
|
82 | 97 | -DCMAKE_BUILD_TYPE=RELEASE -DBOARD_NAME=rv32emu .. && \
|
83 | 98 | make
|
84 | 99 | $(Q)cp ./tests/quake/build/port/boards/rv32emu/quake $(BIN_DIR)/riscv32/quake
|
| 100 | + |
| 101 | + $(Q)(cd $(BIN_DIR)/linux-x86-softfp; for fd in *; do $(SHA1SUM) "$$fd"; done) >> $(BIN_DIR)/sha1sum-linux-x86-softfp |
| 102 | + $(Q)(cd $(BIN_DIR)/riscv32; for fd in *; do $(SHA1SUM) "$$fd"; done) >> $(BIN_DIR)/sha1sum-riscv32 |
| 103 | +endif |
| 104 | + |
| 105 | +fetch-sha1: |
| 106 | +ifeq ($(call has, PREBUILT), 1) |
| 107 | + $(Q)$(PRINTF) "Fetching SHA1 of binaries ...\n" |
| 108 | + $(Q)wget -q --show-progress -O $(BIN_DIR)/sha1sum-linux-x86-softfp https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/sha1sum-linux-x86-softfp |
| 109 | + $(Q)wget -q --show-progress -O $(BIN_DIR)/sha1sum-riscv32 https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/sha1sum-riscv32 |
85 | 110 | endif
|
86 | 111 |
|
87 | 112 | scimark2:
|
|
0 commit comments