Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
makefile无法检测到缺少的必备文件_Makefile - Fatal编程技术网

makefile无法检测到缺少的必备文件

makefile无法检测到缺少的必备文件,makefile,Makefile,我有一个makefile,负责将文件从文件夹a复制到文件夹B 这里我有一个简单的makefile来描述我遇到的问题。 例: 它可以复制2个txt文件 之后,我删除测试文件夹中的a.txt并再次运行make rm test/a.txt make 我想make将检测不可用的先决条件,但它会输出: make: Nothing to be done for `all'. 在这种情况下,如何获得错误输出 谢谢 您使用的是一个模式规则,如果先决条件不可用,该规则将使忽略。试试这个: TEXTS := a

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

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

它可以复制2个txt文件

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

rm test/a.txt
make
我想make将检测不可用的先决条件,但它会输出:

make: Nothing to be done for `all'.
在这种情况下,如何获得错误输出


谢谢

您使用的是一个模式规则,如果先决条件不可用,该规则将使忽略。试试这个:

TEXTS := a.txt b.txt

all: $(TEXTS)

$(TEXTS): % : test/%
        cp -a $< $@
text:=a.txt b.txt
全部:$(文本)
$(文本):%:测试/%
cp-a$<$@
make: Nothing to be done for `all'.
TEXTS := a.txt b.txt

all: $(TEXTS)

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