首页
›
编程基础与工程化
›
012-Makefile
›
《Makefile工程化项目设计》
VIP20
本课程属于:012-Makefile
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Makefile工程化项目设计
📚 共计 30 章节
01
Makefile入门
什么是Makefile · 为什么需要 · 核心思想(依赖与规则) · 第一个示例
基础
概念
02
Makefile基础语法
目标 · 依赖 · 命令 · 注释 · 变量赋值 (= := ?= +=)
语法
变量
03
变量与模式
自动变量 $@ $< $^ $* · 通配符 % * · 字符串函数
变量
模式
04
条件判断
ifeq · ifneq · ifdef · ifndef 使用场景与实战
逻辑
分支
05
Makefile函数
wildcard · patsubst · foreach · shell · call 详解
函数
进阶
06
多目标与伪目标
.PHONY · 多目标规则 · 并行构建 -j
伪目标
并行
07
文件包含
include指令 · 模块化拆分 · 避免循环包含
模块
组织
08
隐式规则
C/C++编译隐式规则 · 取消(-r) · 自定义隐式规则
隐式
规则
09
静态模式
静态模式规则 · 多目标批量编译
模式
批量
10
递归构建
sub-make · 变量传递 · 递归构建优缺点
递归
多目录
11
实战:单目录C项目
编译 · 链接 · 清理 · 安装
实战
单目录
12
实战:多目录C项目
VPATH · vpath · 目录结构设计
实战
多目录
13
实战:库的构建
静态库(.a) · 动态库(.so) Makefile编写
库
静态/动态
14
实战:第三方库集成
pkg-config · CFLAGS/LDFLAGS管理
集成
第三方
15
实战:测试框架集成
单元测试Makefile · 覆盖率报告
测试
覆盖率
16
实战:文档生成
Doxygen集成 · 自动生成文档
文档
Doxygen
17
实战:交叉编译
工具链切换 · 架构适配
交叉编译
嵌入式
18
实战:版本管理
自动版本号 · Git信息嵌入
版本
Git
19
实战:安装与打包
DESTDIR · prefix · make install规范
安装
打包
20
高级:二次展开与生成式依赖
Secondary Expansion · 生成式依赖
高级
展开
21
高级:Makefile与Shell脚本结合
复杂逻辑处理 · shell交互
高级
Shell
22
高级:性能优化
减少重编译 · 缓存依赖
高级
性能
23
高级:调试技巧
info · warning · error · --debug
高级
调试
24
高级:CI/CD集成
GitLab CI · GitHub Actions
CI/CD
DevOps
25
高级:Docker集成
容器化构建 · Dockerfile
Docker
容器
26
高级:Makefile vs CMake
对比分析 · 何时用Makefile/CMake
对比
CMake
27
高级:Makefile vs Meson
现代构建系统选择 · Meson对比
对比
Meson
28
高级:Makefile vs Bazel
大规模项目构建 · Bazel对比
对比
Bazel
29
综合实战:大型C++项目
模块化 · 增量编译 · 测试 · 打包
综合
C++
30
总结与展望
Makefile局限性 · 未来趋势 · 学习路径建议
总结
展望
所属VIP或分类
同VIP:Makefile与Qt库链接实战
同VIP:Makefile与Qt项目构建实战
同VIP:Makefile与系统编程入门