makefile的原理及其实现和详细解释

本文详细介绍了makefile的工作原理,包括目标与依赖的规则、变量的使用、重要变量如CPPFLAGS、CFLAGS和LDFLAGS的含义。此外,还讲解了自动变量、文件函数和替换函数的运用,以及伪目标的概念。通过示例,展示了如何编写和编译.cpp文件,以及实现清理功能的makefile规则。
摘要由CSDN通过智能技术生成

1、makefile的工作原理(规则):

      目标 : 依赖

               命令

(1)写在第一个的目标是终极目标,如果单纯的执行make指令,就会直接生成最终目标。如果目标命令无法生成目标,则会根据后面的依赖往后查找目标,直到完成所有的依赖,才执行终极目标的命令。

(2)如果想单独执行taget_x,可以使用指令make taget_x。

(3)如果makefile中的依赖时间比目标晚,命令才会重新执行,否则则不执行。

(4)大写变量一般是makefile自己维护的变量,例如其中的CC默认是CC=cc,其实也就是CC=gcc,如果我们使用g++编译cpp文件,我们就可以将其改为CC=g++。

 

2、变量的使用

可以直接在makefile中定义变量,如:

src=xx.cpp xxx.cpp xxxx.cpp

等,中间用空格隔开,如果要取回变量的值,就可以用

$src 或 $(src) 

这样会读出src中的所有变量,也就是这三个.cpp文件。

 

3、几个重要的变量

CPPFLAGS:需处理需要的选项,如 -I  (头文件路径)

CFLAGS:编译时使用的参数,如 -Wall  -g  -c

LDFLAGS:链接库使用的选项,如 -L

 

4、自动变量

%.o:%.cpp

       $(CC) -c $< -o $@    ($<

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值