第1章
Makefile入门
什么是Makefile、为什么需要Makefile、Makefile与编译流程的关系。
基础编译
第2章
Makefile核心规则
目标、依赖、命令的语法与执行逻辑。
语法核心
第3章
变量与赋值
=、:=、?=、+=的区别与使用场景。
变量赋值
第4章
自动变量
$@、$<、$^、$?、$*的详细解析与实战。
自动变量实战
第5章
模式规则
%通配符的使用、静态模式规则。
模式通配符
第6章
函数基础
字符串处理函数(subst、patsubst、strip、findstring)。
函数字符串
第7章
文件名函数
dir、notdir、suffix、basename、addsuffix、addprefix。
文件路径
第8章
条件判断
ifeq、ifneq、ifdef、ifndef的用法。
条件逻辑
第9章
隐含规则
Makefile内置的编译规则与禁用方法。
隐含内置
第10章
伪目标
.PHONY的作用与多目标构建。
伪目标PHONY
第11章
多目录构建
VPATH与vpath的路径搜索机制。
目录VPATH
第12章
递归Make
$(MAKE) -C 子目录的调用与变量传递。
递归子目录
第13章
Makefile嵌套
顶层Makefile调用子模块Makefile的架构设计。
嵌套模块
第14章
命令执行
命令前缀@、-、+的含义与shell命令执行。
命令前缀
第15章
文件包含
include指令与Makefile模块化设计。
包含模块化
第16章
Makefile调试
info、warning、error函数与make -d调试技巧。
调试info
第17章
Makefile重构
将大型Makefile拆分为模块化文件。
重构模块
第18章
Makefile与Git
自动获取版本号、commit信息注入。
Git版本
第19章
Makefile与Docker
自动化构建Docker镜像与容器管理。
Docker容器
第20章
Makefile与CI/CD
集成Jenkins/GitLab CI的自动化流水线。
CI/CD流水线
第21章
Makefile与交叉编译
设置CC、CFLAGS、LDFLAGS进行跨平台编译。
交叉编译跨平台
第22章
Makefile与单元测试
自动运行测试用例并生成报告。
测试单元测试
第23章
Makefile与代码覆盖率
集成gcov/lcov生成覆盖率报告。
覆盖率gcov
第24章
Makefile与文档生成
调用Doxygen/Sphinx自动生成文档。
文档Doxygen
第25章
Makefile与代码格式化
集成clang-format/uncrustify自动化代码风格检查。
格式化风格
第26章
Makefile与静态分析
集成cppcheck/scan-build进行代码静态分析。
静态分析cppcheck
第27章
Makefile与包管理
集成Conan/vcpkg管理第三方依赖。
包管理Conan
第28章
Makefile与安装部署
编写install/uninstall目标实现软件部署。
部署install
第29章
Makefile性能优化
减少不必要的重编译、并行构建-j选项。
优化并行
第30章
Makefile综合实战
从零构建一个完整的C++项目Makefile体系。
实战C++