makefile中的伪目标和模式匹配

发布时间:2024年01月21日

makefile,伪目标和模式匹配

伪目标 .PHONY:clean

声明目标为伪目标之后,makefile将不会判断目标是否存在或该目标是否需要更新,

简单来说就是不会受到一些同名的文件的影响,也会进来makefile中执行对应的指令。。

在这里插入图片描述

模式匹配

简略很多,%.o:%.cpp,.o依赖于对应的 .cpp

.PHONY:clean show

OBJ=add.o sub.o multi.o calc.o
TARGET=calc


$(TARGET):$(OBJ)
        $(CXX) $(OBJ) -o $(TARGET)

%.o:%.cpp
        $(CXX) -c $^ -o $@

clean:
        $(RM) *.o $(TARGET)

show:
        echo $(AS)
        echo $(CC)
        echo $(CPP)
        echo $(CXX)
        echo $(RM)

在这里插入图片描述

执行编译一下看看,也是可以成功的

在这里插入图片描述

wildcard $(wildcard ./*.cpp)获取当前目录下所有的.cpp 文件

patsubst $(patsubst %.cpp,%.o,./*.cpp)将对应的 cpp 文件名替换成 .o 文件名

在这里插入图片描述

也是可以正常执行

[外链图片转存中…(img-Pn4flbDv-1705770521207)]

也是可以正常执行

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_46039528/article/details/135724661
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。