【Linux】make工程管理工具(一)


1、如何编译具有多个源码(.c文件)的工程

上一篇笔记写了如何使用gcc的编译命令编译:【Linux笔记】Linux下编译C程序。当源文件较少时,使用gcc编译命令编译就比较方便,在gcc编译命令中依次列出各个源文件就好,比如:

gcc src1.c src2.c src3.c src4.c -o src

src1.c、src2.c、src3.c、src4.c编译生成可执行文件 src 。在Linux环境下,一般不具有集成开发环境(IDE),一般都是使用命令来编译。当源文件较少时,可以使用上面的方式进行编译。但是,如果我们的项目代码工程源文件很多,几十个,上百个,甚至上千上万个呢,那么该怎么进行编译呢?这时候,就可以使用工程管理文件——Makefile(makefile)文件对你的工程进行管理,然后使用make工具解释Makefile(makefile)文件中的指令(编译指令)进行我们的项目编译。

2、怎么使用make工具来编译我们的C工程呢

平常,在技术的学习时,我习惯于先把要学的技术、原理用起来,再进一步去了解这个技术、原理,有进一步的学习之后,然后再进一步的去进行应用,即用->学->用

所以,我们先看怎么用make工具的问题。当然,首先得想办法编写Makefile文件。在这之前,我们可以使用make -v命令查看我们当前系统是否具有make工具(本文使用的Linux发行版为红帽6):

可见,我们系统的make工具版本是3.81。我们还是以上一篇笔记的例子,这次我们使用make编译我们的hello文件(输出Hello World是我们千年不变的目标,哈哈~)如下是我们编写的Makefile文件中的内容:

有了Makefile文件,我们就可以编译我们的hello.c文件了,如:

要注意的是我们Makefile文件中的命令前面空白是一个【Tab】键的长度,不能使用空格键代替,否则是会出错的,如:

再或者,想看到我们平时所说的“编译”各个过程,我们可以把Makefile文件修改成:

然后使用make工具进行解释:

其中,关于关于源文件至生成可执行文件经过哪几个过程,可查看往期笔记:

【C语言笔记】C语言编译的过程

以上就是本篇笔记的分享,欢迎转发!



文章作者: 杂烩君
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 杂烩君 !
  目录