Makefile

--------参考朱友鹏LINUX嵌入式---------
--------个人纪录所用–个人理解--------
makefile用来进行项目管理:如uboot,linux内核。
目标,依赖,命令
(1)makexxx xxx就是目标
(2)依赖是用来生成目标的原材料
(3)加工目标的方式

1:%.O:%是通配符代表所有.o结尾的文件。
2:makefile中定义和使用变量,和shell脚本中相似。
3:伪目标:这个目标本身不代表一个文件,执行这个文件不是为了得到某个文件,
单纯的为了执行下面的动作,比如:clean。用.PHONY来声明。如:
.PHONY clean
clean:
4:makefile的文件名合法的一般有两个:Makefile ,makefile
5:makefile中引用其他makefile(include指令)
有时候makefile总体比较复杂,因此分成好几个makefile来写。
如:include /…/xxx.mk
6:makefile注释使用#
7:makefile的命令行前面的@表示静默执行。
makefile默认执行情况下执行一行命令前,会先把这行命令打印出来,再执行命令。
不想看到命令本身,就用静默执行即可。
8:makefile中几种变量赋值运算符
(1) = 最简单的赋值
(2):= 也是赋值,和=大部分情况一样,
但= A=ABC B=$(A)DEF A=GH echo $B 问B是多少?
B=GHDEF 解析的时候是按照最后一次赋值来算的。
而:=则不是,解析之前的不看后面的。就地直接解析。
(3)?= 如果变量前面没有定义过(空值也算赋值)则执行这条赋值,否则忽略。
(4)+= 用来给一个已经赋值的运算符接续赋值,类似strcat。
9: makefile环境变量
(1):用export导出的就是环境变量,一般情况要求环境变量大写,普通变量小写。
(2):环境变量类似于所有的makefile可以共享的全局变量。
(3):makefile中有一些环境变量是内部自己定义的。内部环境变量。
10:makefile通配符
(1)*: echo *.c 所有的c文件打印出来
(2)?: echo ?.c 打印只有一个字符的c文件 1.c,2.c
(3)[]:echo [12].c 括号里挨个匹配
(4)%,也是通配符表示容易多个字符 ,%一般只用于规则描述中,所以叫规则通配符。
(5)wildcard 具体参考《跟我一起去学MakeFile》
11:makefile的自动变量–方便省字。
(1):类似与C语言编译器内置的宏_FILE_一样
$@ 规则的目标文件名
$< 规则的依赖文件名 ,目标默认第一个。但如果是% 则一个一个全部取出来。
$^ 依赖的文件集合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值