|
48 | 48 | LDFLAGS_CROSS := -lm -lsemihost
|
49 | 49 | endif
|
50 | 50 |
|
51 |
| -.PHONY: artifact scimark2 ieeelib |
| 51 | +.PHONY: artifact fetch-checksum scimark2 ieeelib |
52 | 52 |
|
53 |
| -artifact: ieeelib scimark2 |
| 53 | +artifact: fetch-checksum 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 | + $(Q)$(eval PREBUILT_X86_FILENAME := $(shell cat $(BIN_DIR)/sha1sum-linux-x86-softfp | awk '{ print $$2 };')) |
| 58 | + $(Q)$(eval PREBUILT_RV32_FILENAME := $(shell cat $(BIN_DIR)/sha1sum-riscv32 | awk '{ print $$2 };')) |
| 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) "$(YELLOW)SHA1 verifications fail! Re-fetching prebuilt binaries from \"rv32emu-prebuilt\" ...\n$(NO_COLOR)"; \ |
| 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 | + else \ |
| 72 | + $(PRINTF) "$(PASS_COLOR)SHA1 verifications succeed!\n$(NO_COLOR)"; \ |
| 73 | + fi |
57 | 74 | else
|
58 | 75 | git submodule update --init $(addprefix ./tests/,$(foreach tb,$(TEST_SUITES),$(tb)))
|
59 | 76 | $(Q)for tb in $(TEST_SUITES); do \
|
|
82 | 99 | -DCMAKE_BUILD_TYPE=RELEASE -DBOARD_NAME=rv32emu .. && \
|
83 | 100 | make
|
84 | 101 | $(Q)cp ./tests/quake/build/port/boards/rv32emu/quake $(BIN_DIR)/riscv32/quake
|
| 102 | + |
| 103 | + $(Q)(cd $(BIN_DIR)/linux-x86-softfp; for fd in *; do $(SHA1SUM) "$$fd"; done) >> $(BIN_DIR)/sha1sum-linux-x86-softfp |
| 104 | + $(Q)(cd $(BIN_DIR)/riscv32; for fd in *; do $(SHA1SUM) "$$fd"; done) >> $(BIN_DIR)/sha1sum-riscv32 |
| 105 | +endif |
| 106 | + |
| 107 | +fetch-checksum: |
| 108 | +ifeq ($(call has, PREBUILT), 1) |
| 109 | + $(Q)$(PRINTF) "Fetching SHA1 of binaries ...\n" |
| 110 | + $(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 |
| 111 | + $(Q)wget -q --show-progress -O $(BIN_DIR)/sha1sum-riscv32 https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE)/sha1sum-riscv32 |
85 | 112 | endif
|
86 | 113 |
|
87 | 114 | scimark2:
|
|
0 commit comments