使用变量参数

时间:2018-03-07 11:05:34

标签: linux makefile

SEED = $$RANDOM 
INC  = +incdir+../rtl +incdir+../tb +incdir+../test
comp = ncverilog +access+rwc -uvm -coverage all -seed $(SEED) $(INC) ../tb/top.sv  
logs=mkdir logs;mv test_case* ./logs

test1:  
    $(comp) +UVM_VERBOSITY=UVM_MEDIUM +UVM_TESTNAME=test_case_1; 
    mkdir test_case_1_$(SEED);  
    mv cov_work ./test_case_1_$(SEED);  
    mv ncverilog.log NCVERILOG_$(SEED).log  
    mv *.log ./test_case_1_$(SEED)
      $(logs)

这里" SEED"是指随机数:

make test1 SEED=23679

我将同样在终端中运行目标test1。但问题是在这里我想通过使用任何条件循环运行该目标10次。如果我想再次运行test1第二次,我需要这样做:

make test1 SEED=40244

第3次:

make test1 SEED=87797

第四次:

make test1 SEED=5489

同样,每次我需要在终端中给出种子值。我不希望它像那样,如果有任何条件循环运行test1 10次,使用10种不同的种子,这会为我减少很多时间。

1 个答案:

答案 0 :(得分:0)

seeds.txt

23679
40244
87797
5489

make test1SEED执行seeds.txt执行cat seeds.txt | while read in; do make test1 SEED=$in; done

make test1

执行SEEDseeds.txt取自cat seeds.txt | while read in; do seq 10 | xargs -I -- make test1 SEED=$in; done 10次:

table1 A:1
table2 A:A

欢迎你。

相关问题