我想检查源文件是否存在,所以我在我的gnu makefile中分配TO_DIR = / dev / null。
APPS=a b c d
install:
cp $(APPS) $(TO_DIR)
但它会失败,因为/ dev / null不是伪目录。 有更好的解决方案吗?
答案 0 :(得分:2)
你可以做另一个制作目标,如下:
check:
file $(APPS) > /dev/null
file
实用程序将检查所有文件是否存在,并在任何文件不存在时失败。它的输出对于此任务来说过多,因此我们将其输出到/dev/null
你会像这样运行检查:
make check
答案 1 :(得分:2)
这是对spacediver的答案的修改,它只根据TO_DIR
install:
[ -z "$(TO_DIR)" ] && make install_for_real || make check
install_for_real:
cp $(APPS) $(TO_DIR)
check:
file $(APPS) > /dev/null
这应该检查
中的任何一个make install
make install TO_DIR=
但
的实际安装make install TO_DIR=/path/to/installation/dir