温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统中makefile的原理是什么

发布时间:2022-01-26 11:36:58 来源:亿速云 阅读:158 作者:柒染 栏目:开发技术

这篇文章主要为大家分析了Linux系统中makefile的原理是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux系统中makefile的原理是什么”的知识吧。

一个Linux系统程序员不会使用GNU make来构建和管理自己的工程可是说是一个不合格的程序员。那么Makefile应该怎样去学习呢?

makefile简介:

  • Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。

  • 其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译,那些文件需要重建等等。

  • 编译整个工程需要涉及到的,在 Makefile 中都可以进行描述。换句话说,Makefile 可以使得我们的项目工程的编译变得自动化,不需要每次都手动输入一堆源文件和参数。

1.makefile的命名(两种)

  1. makefile

  2. Makefile

2. makefile的规则

规则的三个要素:目标、依赖、命令

Linux系统中makefile的原理是什么

3. 多文件的makefile的编写(一个源文件只重新编译改变的文件)

  1. makefile可以有多个规则,当第一个规则的的命令在执行的时候发现没有相应的依赖,就在下面的规则中找。最上面的规则的目标是终极目标一定写在最上面,也就是最后要生成的文件。Linux系统中makefile的原理是什么

  2. 多文件Makefile的更新原理(基于时间)Linux系统中makefile的原理是什么

4. makefile中的变量

  1. 自定义变量obj=main.o add.o sub.o引用的时候直接使用 $(obj)Linux系统中makefile的原理是什么

  2. 自动变量()规则中的第一个依赖@:规则中的目标$^: 规则中所有的依赖

  3. 模式自动匹配 %子规则中:

  4. makefile维护的变量(通常大写,自己可以修改)CC:cc(即gcc)APPFLAGS:预处理使用的选项CFLAGS:编译的时候使用的选项LDFLAGS:链接库使用的选项

Linux系统中makefile的原理是什么

5. makefile中的函数(都是有返回值)

  1. wildcard 查找当前目录下所有.c文件,返回值给srcsrc=$(wildcard ./*.c)

  2. patsubst 替换所有.c文件为.o文件obj=(src))Linux系统中makefile的原理是什么

6. make clean

在makefile最后加入clean的目标,为了重新编译所有文件得删除原来生成的文件Linux系统中makefile的原理是什么

7. 最终的简单的makefile

Linux系统中makefile的原理是什么

关于“Linux系统中makefile的原理是什么”就介绍到这了,更多相关内容可以搜索亿速云以前的文章,希望能够帮助大家答疑解惑,请多多支持亿速云网站!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI