我正在尝试调试以下代码:
TESTS=$(shell cat yoursourcefile)
all: $(TESTS)
%: compile_design
compile $@_tb.vhd >> log_file.log
simulate $@
我收到了这个错误:
makefile_tb.vhd >> log_file.log
好像 makefile 是一个目标
当我在 % 之前添加一个或更多字符时,此错误消失:
T%: compile_design
compile $@_tb.vhd >> log_file.log
simulate $@
这可行,但意味着我所有的目标都以“T”开头,但情况并非总是如此。我的问题是: % 这里的功能到底是什么?如何摆脱这个错误?
按照建议,我添加了
makefile: ; $@:
最后,所以我现在有:
TESTS=$(shell cat yoursourcefile)
all: $(TESTS)
%: compile_design
compile $@_tb.vhd >> log_file.log
simulate $@
makefile: ; $@:
然后当我这样做时:
make all
我得到 [all] error2 all_tb.vhd >> log_file.log
但 all_tb.vhd 不存在!