
这篇文章是我阅读《嵌入式实时操作系统μCOS-II原理及应用》后的读书笔记,记录目的是为了个人后续回顾复习使用。
前置内容:
文章目录
1 make 工具
一个开发平台提供给我们,用于管理工程或项目的实用程序,它可以按照我们用户编写的makefile脚本文件对工程项目进行管理。
2 makefile 的内容结构
makefile是一个脚本文件,文件内容中有许多我们在命令行中常常用到的各种命令。
makefile程序段的格式如下:
程序段的标号(target): 关联程序段1的标号 关联程序段2的标号 ...
命令集
关联程序段1的标号:
命令集
关联程序段2的标号:
命令集
...
注意:命令集中的所有命令行必须缩进一个tab键。
一个makefile文件有若干个程序段,程序段的开头必须有一个target进行标注,区分各个程序段。不同的程序段之间可以进行关联,此时在target后面以空格为界罗列相关联程序段的target。每个程序段有一组实现工程项目管理的命令集。
3 程序段标号的作用
标号可以看作是对应程序段的名称,我们可以在make命令的后面使用标号来指定需要执行的程序段。
3.1 makefile 示例代码
按照makefile的内容格式编写一个makefile脚本文件,命名为makefile(makefile的默认名称):
mkdir1:
md dir1
mkdir2:
md dir2
rmdir:
rd dir1
rd dir2
3.2 代码说明
上面编写的makefile文件中一共有3个程序段:mkdir1、mkdir2 和 rmdir。作用分别是:
- mkdir1——在当前目录下创建一个名为dir1的文件夹
- mkdir2——在当前目录下创建一个名为dir2的文件夹
- rmdir——删除前面两个步骤创建的两个文件夹dir1和dir2
3.3 第一次运行
在命令行窗口中使用 cd EXP2_3 进入此次示例makefile文件所在的目录中,输入 make 命令并且回车执行。可以看到,执行完成后在当前目录新建了一个名为dir1的文件夹,如下图所示:

根据执行结果,我们知道了make执行了makefile中的第一个程序段mkdir1,其余两个程序段mkdir2和rmdir都没有被执行。
3.4 第二次运行
输入命令 make mkdir2 并且回车执行,可以看到,执行完毕后当前目录下又新建了一个名为dir2的文件夹,如下图所示:

3.5 第三次运行
输入命令 make rmdir 并且回车执行,可以看到,执行后dir1和dir2这两个文件夹都被删除了,如下图所示:

3.6 结论
当使用 make 命令时,makefile的第一个程序段会被执行,即makefile的首段程序段是make.exe的默认执行程序段,makefile的其他程序段需要执行时必须在make命令后面显式地指定标号。
4 makefile 实现编译、链接工作
由于makefile的程序段中的命令集中可以使用一切命令行命令,所以我们可以把源文件的编译和链接工作步骤编写到makefile中,然后通过执行makefile脚本文件“自动的”完成编译、链接工作。
4.1 示例代码
一个具有3个源文件应用程序的示例如下:
头文件 printA.h
#ifndef _PRINTA_H_
#define _PRINTA_H_
extern const char *msgA;
#endif
源文件 printA.c
#

最低0.47元/天 解锁文章
1676

被折叠的 条评论
为什么被折叠?



