如何在Makefile文件中判断目录是否存在

 我来答
苏小素CC
2016-12-22 · TA获得超过3692个赞
知道大有可为答主
回答量:2346
采纳率:88%
帮助的人:480万
展开全部
1. 调用shell的函数进行判断
exist = $(shell if [ -f $(FILE) ]; then echo "exist"; else echo "notexist"; fi;)
ifeq (exist, "exist")
#do something here
endif当然,这个方法很土,但是能够工作!!

2. 使用makefile的函数进行判断ifeq ($(FILE), $(wildcard $(FILE)))
#do something here
endif $(wildcard $(FILE))的意思是当前路径下的文件名匹配FILE的文件展开。假设当前路径下存在a.c 和 b.c,那么执行src=$(wildcard *.c)

src的值就为a.c b.c;如果不使用通配符,比如src=$(wildcard c.c);那么就是要展开当前路径下,文件名为c.c的文件,因为当前路径下文件不存在,因此src为空字符串。
jinlinseo
2016-12-22 · 超过52用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:29.9万
展开全部
1. 调用shell的函数进行判断
exist = $(shell if [ -f $(FILE) ]; then echo "exist"; else echo "notexist"; fi;)
ifeq (exist, "exist")
#do something here
endif当然,这个方法很土,但是能够工作!!

2. 使用makefile的函数进行判断ifeq ($(FILE), $(wildcard $(FILE)))
#do something here
endif $(wildcard $(FILE))的意思是当前路径下的文件名匹配FILE的文件展开。假设当前路径下存在a.c 和 b.c,那么执行src=$(wildcard *.c)

src的值就为a.c b.c;如果不使用通配符,比如src=$(wildcard c.c);那么就是要展开当前路径下,文件名为c.c的文件,因为当前路径下文件不存在,因此src为空字符串。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式