Categories: MakefileShell编程

你真的不知道Makefile怎么用?

Makefile是什么?

一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,也可以执行操作系统的命令

— 百度百科

通过上面的解释,可以得出Makefile的功能:

  • 组织指定规则
  • 通用系统shell,构建编译

Makefile的功能强大,可能使用C或者C++的同学深有体会,大型项目的编译构建都是自动化,如果一个项目一个项目依赖多个模块,每个项目模块又都是一个项目,使用Makefile是一个不错的选择,现在编程语言多了,开发工具更加完善,Makefile的使用变少,虽然开发效率提高了,但是很多shell的哲学反而都被屏蔽,现在很多工具的思想都是来源于makefile,先上一个Makefile的例子:

通过target以及target的依赖,完成最后的构建任务。这其实有点类似Java中ant,前端开发中gulp等,素有的思想都是一样的,只是使用的场景的不一样,那Makefile使用哪些场景:

  • C或者C++项目的构建;
  • 前端JS的打包构建;
  • 运维任务构建;

本文不是一篇Makefile的教程,只是简单介绍了一下Makefile的应用,网上很多Makefile资料,搜索一下能很快上手,应用实践。

参考文章:

  1. http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/
  2. https://www.gnu.org/software/make/manual/html_node/Simple-Makefile.html#Simple-Makefile
  3. https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_2.html
5.0
03
golang教程资料汇总
PHP的语法糖有哪些
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

Murf AI是一款尖端的AI声音生成器

Murf AI是一款尖端的AI…

2分钟 ago

PixieBrix是一款AI低代码平台

PixieBrix是一种有领先…

13分钟 ago

Replit是一个强大的在线集成AI开发环境

Replit是一个强大的在线集…

23小时 ago

AutoLink一款SEO策略AI优化工具

AutoLink AI为内部链…

23小时 ago

wordpress侧边栏酷炫倒计时小工具

每个WordPress站点都值…

23小时 ago

如何在Linux中根据修改日期和时间查找和排序文件

习惯于使用图形用户界面的人可以…

2天 ago