"make skips the implicit rule search for phony targets "是什么意思



我是Makefiles的新手,并且正在阅读有关Phony Targerts的一些文档。是否可以通过"跳过隐式规则搜索假冒目标"来解释意味着什么。如果我们宣布一个假目标为默认目标,是否有限制?

这意味着如果目标标记为 .PHONY,则必须是明确的规则,即

之类的东西
a.o: a.c
  $(CC) -o $@ -c $<

而不是隐式规则,例如模式规则或后缀规则。例如,请考虑以下makefile:

.PHONY: a.o
all: a.o b.o
%.o: %.c
    $(CC) -o $@ -c $<

调用make将执行以下操作:

$ make
cc -o b.o -c b.c
$

请注意,仅编译b.c,而不是a.c

最新更新