makefile知识整理

4 篇文章 0 订阅
3 篇文章 0 订阅
本文深入探讨Makefile的三大核心要素:目标、依赖与命令,详解其工作原理及变量定义与使用方法。同时,介绍了Makefile中的特殊字符、函数及伪目标生成技巧,帮助读者掌握Makefile的高级用法。
摘要由CSDN通过智能技术生成
  • makefile的三个要素
    1. 目标、依赖、命令
  • makefile的工作原理
    1. 首先寻找目标文件所依赖的文件是否存在,如果不存在寻找是否有生成该文件的规则,然后等到所有的依赖文件生成完毕之后,通过命令对这些文件进行组织并生成最后的目标文件
    2. 如上所述,我们肯定要把最后的终极目标文件写在第一行。
  • 一个简单的makefile
    	app(target): main.cpp(依赖文件)
    		g++ main.cpp -o main(命令)
    

上述括号中内容请无视,为解释内容

  • makefile中变量的定义与使用
    1. 在makefile中定义变量并不需要指定变量的类型,只需要对变量进行赋值即可格式如下
    var(变量名) = value(值)
    
    1. 变量的使用,在makefile中使用$符号来引用变量,格式如下
    src=main.cpp
    app(target): $(src)(引用变量)
    	g++ $(src)(引用变量) -o main
    
    
  • makefile中的特殊字符
    1. $<: 依赖文件中的第一个文件
    2. $^: 所有的依赖文件
    3. $@: 目标文件
  • makefile中函数简介
    1. wildcard:获取某个文件夹下的文件,使用方法如下
    wildcard ./*.cpp(用来获取当前目录下所有的cpp)
    
    举例:
    src=$(wildcard ./*.cpp) $(wildcard ./head/*.cpp)
    
    1. 通过源文件src(上述的东西)使用patsubst函数来获得所有.o文件,使用方法如下:
    patsubst ./%.cpp(需要在src中查找的文件), ./%.o(将查找到的文件修改的格式,替换后缀的感觉), $(src)(源文件的参数,通过wildcard获得)
    
    注:后边有三个参数用‘,’分割,具体作用在上边解释了
    3. 伪目标生成:.phony:函数名
    通过.phony:clean可以把clean目标标记为伪目标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值