学习日记——ESP8266MakeFile配置(2020.5.15)

MakeFile配置

主要内容:如何通过设置MakeFile来修改用户程序文件位置
一、MakeFile简介
makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
二、MakeFile介绍
示例:一工程,有8个c文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的规则是:
1)如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。
2)如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。
3)如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。
以上撰写完成后,所有的一切我们只用一个make命令就可以完成,make命令会自动智能地根据当前的文件修改的情况来确定哪些文件需要重编译,从而自己编译所需要的文件和链接目标程序。
三、MakeFile规则

target ... : prerequisites ...
command
...
...
  • target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label)
  • prerequisites就是,要生成那个target所需要的文件或是目标。
  • command也就是make需要执行的命令。(任意的Shell命令)

依赖关系:target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在command中。prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。这就是Makefile的规则。也就是Makefile中最核心的内容。

二、MakeFile文件的存在位置
工程根目录下
app根目录下
[. c(用户编程文件)]同级目录下
三、MakeFile优点
makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。
四、修改MakeFile
(1)如果 我们新建了一个文件夹,用来存放我们的串口的C文件。那么我们在这个文件夹里也需要放置一个之前和.c文件位于同级目录下面的MakeFile文件。如下图:

在这里插入图片描述
在这里插入图片描述
上面图片里面的MakeFile与其他.c文件属于同级目录。
复制的是下面这个文件夹里面的MakeFile。
在这里插入图片描述
(2)用keil打开MakeFile文件,修改libuser.a中的user。修改为其所在文件夹的名字。
在这里插入图片描述
(3)修改更目录下的MakeFile用keil打开MakeFile文件,添加到如图所示的位置(根目录下哪些文件存放.c文件)uart_c

在这里插入图片描述
往下拉,还需要修改一处。如图所示
在这里插入图片描述
然后保存关闭keil打开SDK编译器,更新之后编译,编程出错,这个时候是因为,我们的文件修改了位置,只要把调用的头文件的位置修改到目前的路径上即可。
在这里插入图片描述

参考链接

https://blog.csdn.net/liang13664759/article/details/1771246

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱生活的fuyao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值