Linux环境下的make和Makefile 详解(一)
2016-10-10 17:48
281 查看
一、定义
一个软件工程通常会包含几十上百个文件,如果每次编译都通过命令行手动编译往往会很麻烦而且效率低下。
在Windows平台上的VC、VB等都有一个工程(Project)的概念。一旦建立了一个工程,这些开发平台会自动地维护其中的各种文件,从而可以很高效地完成编译工作。
幸运的是,在Linux中同样有一个功能强大、使用方便的工程管理工具,这就是make。
二、Makefile文件说明
使用make工具,首先要编写Makefile文件。一个Makefile文件包含五个方面的内容:
具体规则
隐含规则
定义变量
指令
注释
三、Makefile的规则
Makefile的基本结构虽然简单,但变化十分丰富,要动手编写一个大工程的Makefile并不容易。所幸有一些诸如Autoconf和Automake这样的工具可以自动生成Makefile文件,因而通常只要能读懂Makefile的内容,并根据需要进行修改就可以了。
Makefile内容的核心是一系列的规则,这些规则告诉make程序要做的事以及做这件事所依赖的条件。规则的基本格式是:
target: dependency
(Tab字符)command
target(目标): 通常是要产生的文件的名称
dependency(依赖): 指用来输入从而产生目标的文件
command(命令): 是make执行的动作,一个规则可以有多条命令,每个命令占一行。命令行的第一个字符是Tab。
一个软件工程通常会包含几十上百个文件,如果每次编译都通过命令行手动编译往往会很麻烦而且效率低下。
在Windows平台上的VC、VB等都有一个工程(Project)的概念。一旦建立了一个工程,这些开发平台会自动地维护其中的各种文件,从而可以很高效地完成编译工作。
幸运的是,在Linux中同样有一个功能强大、使用方便的工程管理工具,这就是make。
二、Makefile文件说明
使用make工具,首先要编写Makefile文件。一个Makefile文件包含五个方面的内容:
具体规则
隐含规则
定义变量
指令
注释
三、Makefile的规则
Makefile的基本结构虽然简单,但变化十分丰富,要动手编写一个大工程的Makefile并不容易。所幸有一些诸如Autoconf和Automake这样的工具可以自动生成Makefile文件,因而通常只要能读懂Makefile的内容,并根据需要进行修改就可以了。
Makefile内容的核心是一系列的规则,这些规则告诉make程序要做的事以及做这件事所依赖的条件。规则的基本格式是:
target: dependency
(Tab字符)command
target(目标): 通常是要产生的文件的名称
dependency(依赖): 指用来输入从而产生目标的文件
command(命令): 是make执行的动作,一个规则可以有多条命令,每个命令占一行。命令行的第一个字符是Tab。
相关文章推荐
- Linux/Unix环境下的make和makefile详解(zz)
- Linux/Unix环境下的make和makefile详解
- Linux/Unix环境下的Make和Makefile详解
- Linux/Unix环境下的Make和Makefile详解
- Linux 环境下的 make 和 makefile 命令详解
- Linux/Unix环境下的Make和Makefile详解
- Linux/Unix环境下的make和makefile详解
- Linux/Unix环境下的make和makefile详解(非常详细, 推荐!)
- [转]Linux/Unix环境下的Make和Makefile详解
- Linux/Unix环境下的make和makefile详解
- Linux/Unix环境下的Make和Makefile详解
- Linux/Unix环境下的make和makefile详解(非常详细, 推荐!)
- Linux/Unix环境下的make和makefile详解(非常详细)
- Linux/Unix环境下的make和makefile详解
- Linux/Unix环境下的Make和Makefile详解(转)
- Linux/Unix环境下的make和makefile详解
- Linux/Unix环境下的Make和Makefile详解
- Linux/Unix环境下的Make和Makefile详解
- Linux/Unix环境下的make和makefile详解
- Linux/Unix环境下的make和makefile详解(非常详细, 推荐!)