makefile,目标,模式匹配

文章目录

  • makefile,目标,模式匹配

makefile,目标,模式匹配

伪目标 .PHONY:clean

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

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

makefile,目标,模式匹配_第1张图片

模式匹配

简略很多,%.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)

makefile,目标,模式匹配_第2张图片

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

makefile,目标,模式匹配_第3张图片

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

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

makefile,目标,模式匹配_第4张图片

也是可以正常执行

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

也是可以正常执行

makefile,目标,模式匹配_第5张图片

你可能感兴趣的:(make,makeflie,cmake笔记,linux,运维,服务器)