1、wildcard函数
ifneq ($(wildcard FILE),)
#文件存在
endif
$(wildcard FILE)的意思是当前路径下的FILE文件匹配的文件展开。 假设当前路径下存在a.c 和 b.c,那么执行src=$(wildcard *.c),src的值就为a.c b.c; 如果不使用通配符,比如src=$(wildcard c.c);那么就是要展开当前路径下,文件名为c.c的文件,因为当前路径下文件不存在,因此src为空字符串。
实例1:
分别使用上述两种方法判断obj文件夹下depend.mk文件是否存在,存在的话创建a.c和b.c文件。
OBJ_DIR=obj
fileNames = $(wildcard $(OBJ_DIR)/depend.mk)
all:
@echo "this is all "
@echo ${fileNames}
@if [ -e $(OBJ_DIR)/depend.mk ]; then touch b.c; fi
ifneq ($(wildcard $(OBJ_DIR)/depend.mk),)
touch a.c
endif