# First, build the elf files `m springbok_for_tbm`

.DELETE_ON_ERROR:

include tbm.mk

RVV_TESTS_DIR = $(OUT)/springbok/rvv_for_tbm/tests/
RVV_TESTS := $(wildcard $(RVV_TESTS_DIR)/*.elf)

define rvv_rules
$$(OUT_TRACES)/rvv/tests/$1.spike: $(RVV_TESTS_DIR)/$1.elf | $(OUT_TRACES)/rvv/tests
$$(OUT_TRACES)/rvv/tests/$1.tbm_log: $(UARCH)

rvv_tests: $$(OUT_TRACES)/rvv/tests/$1.tbm_log
endef

$(foreach t,$(RVV_TESTS),$(eval $(call rvv_rules,$(basename $(notdir $(t))))))

$(OUT_TRACES)/rvv/tests:
	mkdir -p $@

.PHONY: rvv_tests

clean_rvv_tests:
	$(RM) -r $(OUT_TRACES)/rvv/tests
.PHONY: clean_rvv_tests
clean: clean_rvv_tests
