1 | make
|
2 | ===
|
3 |
|
4 | GNU的工程化编译工具
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | **make命令** 是GNU的工程化编译工具,用于编译众多相互关联的源代码文件,以实现工程化的管理,提高开发效率。
|
9 |
|
10 | ### 语法
|
11 |
|
12 | ```shell
|
13 | make(选项)(参数)
|
14 | ```
|
15 |
|
16 | ### 选项
|
17 |
|
18 | ```shell
|
19 | -f:指定“makefile”文件;
|
20 | -i:忽略命令执行返回的出错信息;
|
21 | -s:沉默模式,在执行之前不输出相应的命令行信息;
|
22 | -r:禁止使用build-in规则;
|
23 | -n:非执行模式,输出所有执行命令,但并不执行;
|
24 | -t:更新目标文件;
|
25 | -q:make操作将根据目标文件是否已经更新返回"0"或非"0"的状态信息;
|
26 | -p:输出所有宏定义和目标文件描述;
|
27 | -d:Debug模式,输出有关文件和检测时间的详细信息。
|
28 | ```
|
29 |
|
30 | Linux下常用选项与Unix系统中稍有不同,下面是不同的部分:
|
31 |
|
32 | ```shell
|
33 | -c dir:在读取 makefile 之前改变到指定的目录dir;
|
34 | -I dir:当包含其他 makefile文件时,利用该选项指定搜索目录;
|
35 | -h:help文挡,显示所有的make选项;
|
36 | -w:在处理 makefile 之前和之后,都显示工作目录。
|
37 | ```
|
38 |
|
39 | ### 参数
|
40 |
|
41 | 目标:指定编译目标。
|
42 |
|
43 | ### 知识扩展
|
44 |
|
45 | 无论是在linux 还是在Unix环境 中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。
|
46 |
|
47 | 而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员 来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。
|
48 |
|
49 | 因此,有效的利用make和 makefile工具可以大大提高项目开发的效率。同时掌握make和makefile之后,您也不会再面对着Linux下的应用软件手足无措了。
|
50 |
|
51 |
|
52 |
|