我有一个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'.
如何针对这种情况输出错误?
谢谢!
答案 0 :(得分:2)
您正在使用模式规则,如果先决条件不可用,则忽略。试试这个:
TEXTS := a.txt b.txt
all: $(TEXTS)
$(TEXTS): % : test/%
cp -a $< $@