cs-self-learning/docs/必学工具/Makefile.md
2021-11-30 23:14:23 +08:00

9 lines
No EOL
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 为什么学Makefile
大家第一次写hello world程序的时候一定都记得在编辑完`helloworld.c`之后,需要用`gcc`编译生成可执行文件,然后再执行(如果你不理解前面这段话,请先自行谷歌`gcc 编译`并理解相关内容。但如果你的项目由成百上千个C源文件组成并且星罗棋布在各个子目录下你该如何将它们编译链接到一起呢假如你的项目编译一次需要半个小时大型项目相当常见而你只修改了一个分号是不是还需要再等半个小时呢
这时候Makefile就闪亮登场了它能让你在一个脚本里即所谓的Makefile定义整个编译流程以及各个目标文件与源文件之间的依赖关系并且只重新编译你的修改会影响到的部分从而降低编译的时间。
## 如何学习Makefile
这里有一篇写得深入浅出的[文档](https://seisman.github.io/how-to-write-makefile/overview.html)供大家参考。
Makefile掌握起来相对容易但用好它需要不断的练习。将它融入到自己的日常开发中勤于学习和模仿其他优秀开源项目里的Makefile的写法总结出适合自己的template久而久之你对Makefile的使用会愈加纯熟。