mirror of
https://github.com/openhwgroup/cvw.git
synced 2025-06-28 09:36:01 -04:00
Update riscof Makefile for better scalability with multiple suites
This commit is contained in:
parent
d1958b05e0
commit
8a9d15cd60
1 changed files with 20 additions and 14 deletions
|
@ -15,31 +15,37 @@ current_dir := $(shell pwd)
|
||||||
# General make rules
|
# General make rules
|
||||||
.PHONY: all riscv-arch-test wally-riscv-arch-test clean
|
.PHONY: all riscv-arch-test wally-riscv-arch-test clean
|
||||||
all: riscv-arch-test wally-riscv-arch-test
|
all: riscv-arch-test wally-riscv-arch-test
|
||||||
|
|
||||||
|
# Standard riscv-arch-test tests
|
||||||
riscv-arch-test: arch32e arch32 arch64
|
riscv-arch-test: arch32e arch32 arch64
|
||||||
|
arch%: test_dir=$(arch_dir)
|
||||||
|
arch%: work_result=$(arch_workdir)
|
||||||
|
arch32e: riscof32e
|
||||||
|
arch32: riscof32
|
||||||
|
arch64: riscof64
|
||||||
|
|
||||||
|
# wally-riscv-arch-test tests
|
||||||
wally-riscv-arch-test: wally32 wally64
|
wally-riscv-arch-test: wally32 wally64
|
||||||
|
wally%: test_dir=$(wally_dir)
|
||||||
|
wally%: work_result=$(wally_workdir)
|
||||||
|
wally32: riscof32
|
||||||
|
wally64: riscof64
|
||||||
|
|
||||||
# Generate config.ini files
|
# Generate config.ini files
|
||||||
config%.ini: config.ini
|
config%.ini: config.ini
|
||||||
sed 's,{0},$(current_dir),g;s,{1},$(patsubst %64,%64gc,$(patsubst %32,%32gc,$*)),g;s,{2},$(nproc),g' config.ini > $@
|
sed 's,{0},$(current_dir),g;s,{1},$(patsubst %64,%64gc,$(patsubst %32,%32gc,$*)),g;s,{2},$(nproc),g' config.ini > $@
|
||||||
|
|
||||||
# Generate riscv-arch-test targets
|
# Compile tests with riscof
|
||||||
arch%: config$$*.ini | $(work_dir) $(arch_workdir)
|
riscof%: config$$*.ini | $(work_dir)
|
||||||
riscof run --work-dir=$(work_dir)/$@ --config=$< --suite=$(arch_dir)/riscv-test-suite/ --env=$(arch_dir)/riscv-test-suite/env --no-browser
|
riscof run --work-dir=$(work_dir)/$@ --config=$< --suite=$(test_dir)/riscv-test-suite/ --env=$(test_dir)/riscv-test-suite/env --no-browser
|
||||||
$(MAKE) -f makefile-memfile WORKDIR=$(work_dir)/$@ BITWIDTH=$(patsubst %32e,%32,$*)
|
$(MAKE) -f makefile-memfile WORKDIR=$(work_dir)/$@ BITWIDTH=$(patsubst %32e,%32,$*)
|
||||||
rsync -a $(work_dir)/$@/rv*/* $(arch_workdir)/rv$(patsubst %64,%64i,$(patsubst %32,%32i,$*))_m || echo "error suppressed"
|
mkdir -p $(work_result)
|
||||||
|
rsync -a $(work_dir)/$@/rv*/* $(work_result)/rv$(patsubst %64,%64i,$(patsubst %32,%32i,$*))_m || echo "error suppressed"
|
||||||
# Generate wally-riscv-arch-test targets
|
|
||||||
wally%: config$$*.ini | $(work_dir) $(wally_workdir)
|
|
||||||
riscof run --work-dir=$(work_dir)/$@ --config=$< --suite=$(wally_dir)/riscv-test-suite/ --env=$(wally_dir)/riscv-test-suite/env --no-browser --no-dut-run
|
|
||||||
$(MAKE) -f makefile-memfile WORKDIR=$(work_dir)/$@
|
|
||||||
rsync -a $(work_dir)/$@/rv*/* $(wally_workdir)/rv$(patsubst %64,%64i,$(patsubst %32,%32i,$*))_m || echo "error suppressed"
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f config??*.ini
|
rm -f config??*.ini
|
||||||
rm -rf $(work_dir)
|
rm -rf $(work_dir)
|
||||||
rm -rf $(wally_workdir)
|
rm -rf $(work)
|
||||||
rm -rf $(arch_workdir)
|
|
||||||
rm -rf $(submodule_wor_dir)
|
|
||||||
|
|
||||||
$(work_dir) $(arch_workdir) $(wally_workdir):
|
$(work_dir):
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue