makefile无法检测缺少的先决条件文件

时间:2011-08-02 11:08:10

标签: makefile

我有一个makefile,负责将文件从文件夹A复制到文件夹B.

这里我有简单的makefile来描述我遇到的问题。 例如:

all: a.txt b.txt

%.txt: test/%.txt
        cp -a $< $@

当我调用make命令时:

make

复制2个txt文件。

之后,我删除测试文件夹中的a.txt并再次运行make

rm test/a.txt
make

我想make会检测不可用的先决条件,但输出:

make: Nothing to be done for `all'.

如何针对这种情况输出错误?

谢谢!

1 个答案:

答案 0 :(得分:2)

您正在使用模式规则,如果先决条件不可用,则忽略。试试这个:

TEXTS := a.txt b.txt

all: $(TEXTS)

$(TEXTS): % : test/%
        cp -a $< $@