VIP20
本课程属于:006-Makefile构建 编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

Makefile 构建系统化学习与实践

📚 共计 30 章节
第01章
Makefile入门
什么是Makefile · 为什么需要 · 核心概念:目标、依赖、命令
基础概念
第02章
Makefile基础语法
规则定义 · 变量赋值(= := ?= +=) · 注释 · 换行与续行
语法变量
第03章
Makefile变量进阶
自动变量($@ $< $^ $?) · 预定义变量 · 环境变量
变量自动
第04章
Makefile模式规则
%通配符 · 静态模式规则 · 优缺点分析
模式通配
第05章
Makefile条件判断
ifeq/ifneq/ifdef/ifndef · 使用场景与实战
条件逻辑
第06章
Makefile函数 (上)
字符串处理:subst patsubst strip findstring filter
函数字符串
第07章
Makefile函数 (下)
文件名操作 · foreach if call shell
函数文件名
第08章
多目标与伪目标
多目标规则 · .PHONY · all/clean 规范写法
伪目标规范
第09章
文件包含与嵌套
include · -include/sinclude · 递归调用 · 子目录构建
包含嵌套
第10章
命令执行
命令回显(@) · 错误处理(-) · 多行与单行命令
命令执行
第11章
依赖关系
自动生成依赖(gcc -MM) · 增量编译原理
依赖增量
第12章
实战:C单文件项目
编译 · 链接 · 清理 · 运行
实战C语言
第13章
实战:C多文件+静态库
头文件依赖 · 模块化编译 · 静态库生成与使用
实战静态库
第14章
实战:C动态库(共享库)
-fPIC · -shared · LD_LIBRARY_PATH
动态库共享
第15章
实战:C++项目构建
g++ · C++标准 · STL与第三方库链接
C++实战
第16章
混合语言 (C+C+++汇编)
交叉编译 · 链接顺序 · extern "C"
混合汇编
第17章
Makefile与Git版本控制
.gitignore · 构建产物清理 · 版本号自动生成
Git版本
第18章
Makefile与单元测试
集成CTest · 自定义测试目标 · 测试报告
测试CTest
第19章
代码风格检查
cpplint · clang-format · 静态分析
风格lint
第20章
文档生成 (Doxygen)
集成Doxygen · 文档构建目标 · 版本管理
文档Doxygen
第21章
持续集成 (CI)
GitHub Actions · 自动化构建与测试
CIActions
第22章
交叉编译
工具链前缀 · sysroot · 环境配置
交叉编译嵌入式
第23章
大型项目与模块化
递归make vs 非递归 · 模块化设计 · 性能优化
大型模块
第24章
Makefile调试技巧
--debug -p -n -d · 信息打印函数
调试技巧
第25章
Makefile与CMake
CMake生成Makefile · CMakeLists.txt · 选型
CMake对比
第26章
Makefile与Autotools
Autotools工具链 · configure · Makefile.in
Autotoolsconfigure
第27章
Makefile与Ninja
Ninja简介 · 对比Makefile · 性能差异
Ninja性能
第28章
最佳实践
变量/目标/注释规范 · 错误处理
规范最佳实践
第29章
安全与可移植性
跨平台(Linux/macOS/Windows) · 路径分隔符 · shell兼容
可移植跨平台
第30章
综合项目实战
从零构建完整C/C++项目:测试·文档·CI·安装
综合实战