Makefile学习⑤:Makefile中的伪目标和模式匹配
Makefile学习⑤:Makefile中的伪目标和模式匹配
伪目标:.PHONY:clean
申明目标为伪目标后,Makefile将不会判断目标是否存在或该目标是否需要更新
(注:主要是为了防止当前目录下存在和目标同名的文件时,无法成功执行make + 目标名的命令)
%.o:%.c .o依赖于对应的.c
wildcard $(wildcard ./ *.c)获取当前目录下所有的.c文件
patsubst $(patsubst %.c,%.o,./ *.c)将对应的c文件名替换成.o文件名
使用通配符对目标和依赖进行模式匹配替换
针对上一章所创建的Makefile文档进行伪目标的申明和模式匹配的优化得到如下:
优化前:

优化后:

使用伪目标进行申明,可以有效防止当前目录下存在同名文件导致make clean命令无法执行的问题。
使用模式匹配可以批量处理文件使得Makefile文件的语法更简单,命令更短。
浙公网安备 33010602011771号