【问题标题】:How to run regression using makefile如何使用 makefile 运行回归
【发布时间】: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 在第三遍中没有定义。我也希望它只运行两次。

标签: shell makefile tcsh


【解决方案1】:

问题在于export SHELL = /bin/csh -f,我将其更改为export SHELL = /bin/bash -f。

但最后SHELL := /bin/bash 的工作原理与@derobert 在How can I use Bash syntax in Makefile targets? 中的回答一样

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 2021-02-18
    • 2019-12-14
    • 2012-07-09
    • 1970-01-01
    • 2021-11-17
    • 2021-02-26
    相关资源
    最近更新 更多