Linux环境下的make和Makefile 详解(一)

来源:互联网 发布:关之琳 知乎 编辑:程序博客网 时间:2024/05/18 00:51

一、定义

一个软件工程通常会包含几十上百个文件,如果每次编译都通过命令行手动编译往往会很麻烦而且效率低下。
    在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。   

1 0
原创粉丝点击