Makefile 判断目录或文件是否存在
- Makefile 判断文件路径是否存在
- 背景
- 实现
- ifeq
- wildcard
Makefile 判断文件路径是否存在
背景
最近项目需求需要更改makefile文件,其中有一个要求就是判断某个文件路径是否存在。我搜了好一会儿,网上说得乱七八糟的用不了,最后了解了一下找到了解决办法。
实现
我想要实现的效果是首先给变量赋值,然后判断地址是否存在,如果不存在则赋新值。
APP_BASE = C:\app_path\app_name
# 检查 APP_BASE 指向的目录是否存在(使用通配符 * 来匹配目录中的任何文件)
ifeq ($(wildcard $(APP_BASE )/*),)
# 如果目录不存在,则设置 APP_BASE 为另一个路径
APP_BASE = D:\app\app_path\app_name
endif
如果将 $(APP_BASE )/* 改为 APP_BASE 则wildcard判断的就是名为APP_BASE的路径,而不是赋值给APP_BASE的路径地址
ifeq
作用:判断条件是否成立,成立则执行对应的命令。
wildcard
作用:在指定路径中搜索符合条件的文件或目录。