Linux学习心得(3)---makefile

LINUX Makefile

makefile概述
makefile是指定工程编译规则的程序。就像一个shell脚本一样,也可以执行操作系统的命令。

自动化编译:写好makefile程序后,只需一个make命令,完全自动编译。make是一个解释makefile中指令的命令工具。

makefile语法:由若干条规则组成,每条规则的语法结构:

target ... : prerequisites ...
<tab> command ... ...

每条规则由依赖关系和命令两部分组成。
Target是目标文件,还可以是一个标签(Label),prerequisites(前提,先决条件))就是要生成那个target所需要的文件或是目标。command也就是make需要执行的命令。(任意的Shell命令)

make命令语法:make [选项][目标] ]
功能:创建指定目标,如果没指定目标,创建第一个目标。Make默认的规则定义文件是GNUmakefile、makefile或Makefile,否则使用-f指定文件。
常用选项:
-f file 指定规则文件
-C dir 读取规则文件前进入指定目录dir

多文件makefile的更新原理(基于时间):
在这里插入图片描述

makefile变量
1)自定义变量:将字符串赋给变量名,在makefile变量无数据类型。
语法:变量名=字符串
引用:$(变量名)
2)环境变量:make在运行过程中将环境变量转换为同名同值的make变量,用户也可在makefile中对这些变量进行重新定义。
3)预定义变量:
在这里插入图片描述
4)自动变量:
在这里插入图片描述
makefile中的函数(都是有返回值)
1)wildcard 查找当前目录下所有.c文件,返回值给src。
src =$ (wildcard ./*.c)
2)patsubst 替换所有.c文件为.o文件。
obj=$(patsubst ./%.c, ./%.o, $(src))

make clean
清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。

例子:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值