【发布时间】:2014-11-10 17:10:57
【问题描述】:
我有 tcsh shell。我想编译一次VCS,然后使用SIMV 运行多个测试用例。之前对于单个测试,VCS = vcs -sverilog -timescale=1ns/1ps \ +acc +vpi .. 和 SIMV = ./simv +UVM_VERBOSITY=$(UVM_VERBOSITY) +UVM_TESTNAME=$(TESTNAME) ${vcs_waves_cmd} -l $(TESTNAME).log 被定义为常量。
我必须通过在数组上循环来替换 $(TESTNAME)。我尝试如下切换到 bash,但最终导致其他故障,例如 make cleannot working。
TESTS = ext_reg_write_read reg_write_read
regress: $(TESTS)
$(VCS)\
for t in $(TESTS); do\
./simv +UVM_VERBOSITY=$(UVM_VERBOSITY) +UVM_TESTNAME=$$t ${vcs_waves_cmd} -l $$t.log;\
done
另外我想添加导出shell命令export SHELL = /bin/csh -f
我的问题类似于以下 - Implementing `make check` or `make test`
我用过@J。 C. Salomon 编写此代码的答案
【问题讨论】:
-
请修正你的makefile sn-p的格式。我试过了,但你以我认为不正确的方式还原了一堆。
-
您遇到了什么确切错误?是否为您的规则运行
tcsh?我希望它能够运行/bin/sh,除非您另有说明。 -
为什么运行了三遍?
TESTS中只有两个参数。 -
格式仍然关闭,您需要准确地向我们展示您的代码。编辑您的问题,粘贴实际代码,选择它,按 ctrl-K。
-
对不起@Etan Reisner 和三人组。我希望现在格式正确。但我现在也看不到错误()。之前它说 t 在第三遍中没有定义。我也希望它只运行两次。