一、文档背景
在用Makefile进行工程管理的过程中,Makefile的嵌套调用是研发人员必须掌握的基础知识。
二、 解决的问题或者进行问题分析
本文将以一个实际案例,讲解Makefile的嵌套调用的实现。理解Makefile的嵌套调用需掌握Makefile的基本内容,如:Makefile文件的基本组成、常用的自动变量、常用的隐性规则等。
三、 如何Makefile的嵌套调用
工程的目录结构如图3-1所示:

图3-1
实现流程如下
1. 在“math”目录下创建main.c、Makefile及mathlib子目录,Makefile的内容如图3-2所示:

图3-2
2. 在"mathlib"子目录下,创建Makefile文件及include、Add、Sub、Mul与Div子目录,Makefile文件的内容如图3-3所示:

图3-3
3. 在“Add”目录下,创建add.c及Makefile文件,Makefile文件的内容如图3-4所示:

图3-4
4. 其他的子目录的内容与“Add”目录的内容类似。
四、通过在主目录下运行“make”与“make clean”验证Makefile的嵌套调用
1. 在“math”目录下,运行"make",然后执行目标文件,如图4-1所示:

图4-1
2. 在“math”目录下,运行"make clean",然后查看目录下的文件,如图4-2所示:

图4-2
五、讨论分析
1. 如果需要把库文件存放在“mathlib”目录下,需要如何修改Makefile文件的内容。
六、结论
了解Makefile文件的基本组成、常用的自动变量、常用的隐性规则等,实现Makefile的嵌套调用相对来说还是比较容易的。