本文结合个人工作/学习经验、网络资料辛苦整理/撰写而成,禁止转载。
本文所在专栏《黑猫带你学Makefile》
1 文件命名
通常“GNUmakefile”、“makefile”、“Makefile”,但主要用“makefile”、“Makefile”。
当然,你可以使用别的文件名来书写Makefile,比如:“Make.Linux”,“Make.Solaris”,“Make.AIX”等,如果要指定特定的Makefile,你可以使用make的“-f”和“–file”参数,如:make -f Make.Linux或make --file Make.AIX。
2 Makefile的工作流程
输入make后:
- make会在当前目录下找名字叫“Makefile”或“makefile”的文件。
- 如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。
- 如果edit文件不存在,或是edit所依赖的后面的 .o 文件的文件修改时间要比edit这个文件新,那么,他就会执行后面所定义的命令来生成edit这个文件。
- 如果edit所依赖的.o文件也存在,那么make会在当前文件中找目标为.o文件
本文详细介绍了Makefile的工作流程,包括文件命名、Makefile的执行步骤、多目录结构下的Makefile用法、文件搜寻策略以及make命令参数的使用。通过实例解析了强制目标的概念,并探讨了如何利用`FORCE`目标实现伪目标的效果。此外,还提到了Makefile运行中的关键点。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



