“make: `run' is up to date”原因及解决办法

在运行一个uvm的环境时,makefile编写如下:

all: clean comp run

clean:

-rm -rf simv* *csrc *.log vc_hdrs.h ucli.key

comp:

vcs -sverilog -debug_all -CFLAGS -DVCS -timescale=1ns/1ps -f filelist.f -l comp.log

run:

./simv -gui -l run.log

当前工作目录下文件包括:

filelist.f makefile my_driver.sv run top_tb.sv

由于存在文件run,所以在运行make run时会存在问题。跟makefile的机制有关,makefile默认的target是文件,在运行时,会首先检测当前目录下是否存在这个文件,如果存在,则会abort掉make 进程,但目标不是文件的话,则会出现up to date的情况。解决的办法就是makefile中的“.PHONY”,上述脚本改为:

.PHONY: run

run:

./simv -gui -l run.log

你可能感兴趣的:(Makefile,EDA工具)