多文件项目管理
Linux系统提供了一个自动生成和维护目标程序的工具,Make.
它可以根据各模块的修改情况重新编译连接目标代码。
主要内容 『
*1, GNU Make 简介。
*2, Makefile文件书写规则,包括基本规则,变量,隐含规则,伪目标,函数以及通用Makefile文件。
*3, GNU Automake简介。』
GNU Make 工具的作用就是实现上面编译连接过程的自动化。
它定义了一种语言,来描述源文件,目标文件以及可执行文件之间的关系,通过检查时间戳来决定程序中
哪些文件需要重新编译,并发送相应的命令。
GNU make 不仅限于大型项目,它可以用于任何一个由于某个文件的改动而导致其他一些文件必须更新的任务。
GNU Make 的基本依据是程序模块之间的依赖关系,而它本身无法识别这些关系,需要外部的makefile文件。
一旦提供了正确的makefile, 那么只需要在命令行下输入 make 命令,即可完成整个程序的文件更新任务。
8_2 Makefile 文件书写规则
目标 : 依赖
<tab>命令
*1 : Target
*2 : Dependencies
*3 : Command
/* hello.c ...*/
hello : hello.c
gcc hello.c -o hello
变量,隐含规则,伪目标,函数什么的。。。
8_3 GNU Automake简介
书写makefile文件还是比较复杂的。为了减轻程序员的负担,GNU提供了一个自动生成Makefile文件的工具,即
GNU Automake工具。
要在Linux系统中使用GNU Automake工具,需要同时安装其他一些软件,例如 :GNU Autoconf, GNU, M4等。
步骤 : 利用GNU Automake工具生成Makefile文件的步骤。
*1, 创建目录并编辑源文件
*2, 生成并编辑 configure.in 文件。
*3, 生成 aclocal.m4 和 configure 文件
*4, 生成 config.h.in文件
*5, 创建 Makefile.am文件
*6, 生成 Makefile.in文件
*7, 生成 Makefile
常见面试题
*1, Makefile 文件描述了整个程序的编译,连接规则,主要包括 :程序中哪些源文件需要编译以及如何编译,需要创建哪些库文件以及如何创建这些文件,如何产生最终的可执行文件等。
2),简述使用Automake工具生成 Makefile 文件的一般步骤。
答:创建工作目录并编辑源文件;使用autoscan命令扫描当前目录,生成configure.in的模板文件;生成aclocal.m4, configure以及config.in文件;创建Makefile.am文件;生成Makefile.in 文件;执行configure脚本生成Makefile文件。