如何使用makefile运行回归

时间:2014-11-07 17:32:28

标签: shell makefile tcsh

我有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 clean无效。

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

另外我想添加export shell命令export SHELL = /bin/csh -f

我的问题类似于以下 - Implementing `make check` or `make test`

我用过@J。 C.萨洛蒙回答制作这段代码

1 个答案:

答案 0 :(得分:1)

问题在于export SHELL = /bin/csh -f我正在更改为export SHELL = /bin/bash -f

但最终SHELL := /bin/bash的工作方式与How can I use Bash syntax in Makefile targets? @derobert

的回答相同