makefile文件的知识
今天又学了一点关于makefile文件的知识
可以匹配当前目录下文件的函数用法
SOURCE := $(wildcard *.cpp)
这里匹配当前目录下所有后缀为.cpp的文件,将结果赋值给SOURCE
这里的:=是简单赋值,=是递归赋值
用于模式替换
$(patsubst %.cpp,%.o,$(SOURCE))
将所有后缀为.cpp的文件后缀改为.o
.PHONY 是 Makefile 中的一个特殊目标,用于声明伪目标
伪目标是指那些并不代表实际文件的目标,而是表示一组命令或操作
.PHONY : objs clean veryclean rebuild all
这里还有
clean :rm -fr *.o
# veryclean 依赖于 clean 目标,因此运行 veryclean 时会先执行 clean
veryclean : cleanrm -rf $(TARGET)
这里veryclean依赖与clean目标,因此运行veryclean时会先执行clean
$(TARGET) : $(OBJS)$(CC) $(CXXFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
$@ 是一个 自动化变量,用于表示当前规则中的 目标文件(即规则左边的文件)