Makefile搜索规则

时间:2020-08-21 20:55:57

标签: makefile

我有一个Makefile,其中有很长的目标列表存储在VOFILES中(我正在构建Coq代码)。在该Makefile中,我添加了以下规则:

search: $(foreach ff,$(VOFILES),$(if $(findstring $(PTRN),$(ff)),$(ff),))
    @echo $^

然后我用以下命令调用Makefile

make search PTRN=lib

我期望它可以构建包含字符串lib的每个目标,但是实际上什么也没有构建。 $^始终为空(echo始终产生空白行)。是否有一个原因?有办法解决吗?

EDIT :以下规则将打印空白行,然后打印非常大的行。有什么可以解释这种行为的吗?

search: $(VOFILES)
    @echo $^
    @echo $(VOFILES)

0 个答案:

没有答案