makefile中wildcard判断文件存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile中wildcard判断文件存在相关的知识,希望对你有一定的参考价值。

测试makefile内容如下:
default:
rm -f ./test_file
touch ./test_file
$(if $(wildcard test_file), \
echo "file exist", \
echo "file not exist")

如果不存在test_file的情况下执行make命令,打印结果是file not exist,请问为什么????

参考技术A 因为if的判断条件是,$(wildcard test_file)是否成功
如果成功,值就是0,所以条件为假
显示file not exist
可以改成
$(if $(wildcard test_file) == 0, \
参考技术B 我的是file exista 。
rm -f ./test_file
touch ./test_file
echo "file exist"
file exist
我看你的语法和思路都是对的。追问

to 本思一体电脑:
我是在Fedora8下测试的,请问您是在什么环境下测试的?make前确保没有test_file存在吗?

追答

ubuntu系统下make的。确保没有test_file。。

以上是关于makefile中wildcard判断文件存在的主要内容,如果未能解决你的问题,请参考以下文章

$^,$@,$?,$<,$(@D),$(@F) of makefile

makefile中怎么通配一个文件夹下的所有源文件?急!满意追加分!

Makefile(patsubst,wildcard)

Makefile(patsubst,wildcard)

makefile中的wildcard ,notdir, patsubst

通用 Makefile(及makefile中的notdir,wildcard和patsubst)