当前位置: 首页 > 工具软件 > Makeup > 使用案例 >

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

宋晋
2023-12-01

在运行一个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

 类似资料: