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

企业级Makefile构建方案解析

📚 共计 30 章节
01
Makefile基础入门
什么是Makefile、为什么需要Makefile、核心概念(目标、依赖、命令)
入门核心概念
02
Makefile语法精讲
规则定义、变量赋值(= := ?= +=)、自动变量($@ $< $^)
语法变量
03
Makefile函数详解
字符串处理(subst patsubst strip)、文件名函数(dir notdir suffix basename)
函数字符串
04
Makefile条件判断
ifeq ifneq ifdef ifndef 使用场景与实战案例
条件逻辑
05
Makefile文件包含
include指令、-include与sinclude区别、模块化设计
模块include
06
Makefile多目标构建
all目标、伪目标(.PHONY)、多目标并行构建
多目标并行
07
Makefile隐式规则
C/C++编译隐式规则、模式规则(%.o: %.c)、取消隐式规则
隐式规则模式
08
Makefile变量高级用法
变量覆盖(override)、环境变量、目标特定变量、模式特定变量
变量高级
09
Makefile递归构建
sub-make、$(MAKE)变量、递归构建优缺点与最佳实践
递归sub-make
10
Makefile依赖管理
自动生成依赖(gcc -MM)、依赖文件包含、增量编译原理
依赖增量
11
实战:单目录C项目构建
编译、链接、清理、安装目标的完整实现
实战单目录
12
实战:多目录C项目构建
VPATH与vpath使用、目录结构设计
多目录VPATH
13
实战:静态库构建
ar命令、lib库生成与使用、ranlib索引
静态库ar
14
实战:动态库构建
gcc -shared、fPIC、LD_LIBRARY_PATH、ldconfig
动态库共享
15
实战:混合语言项目构建
C与C++混编、Fortran与C混编
混合多语言
16
Makefile调试技巧
make -n(空跑)、-d(调试)、-p(打印数据库)、warning函数
调试技巧
17
Makefile性能优化
减少重新编译、并行构建(-j)、二次扩展(Secondary Expansion)
性能优化
18
Makefile与Git集成
版本号自动生成、构建时间戳、Git提交信息嵌入二进制
Git版本
19
Makefile与CI/CD集成
Jenkins、GitLab CI、GitHub Actions中的Makefile调用
CI/CD集成
20
Makefile跨平台构建
操作系统检测(uname)、编译器检测、平台特定配置
跨平台检测
21
构建配置管理
config.mk设计、构建类型(Debug/Release)、优化级别控制
配置Debug
22
代码风格与规范
命名规范、注释规范、模块划分、可维护性设计
规范风格
23
测试框架集成
单元测试(CUnit/Check)、测试目标、覆盖率报告(gcov/lcov)
测试覆盖率
24
文档生成
Doxygen集成、文档目标、自动文档构建流水线
文档Doxygen
25
安装与打包
DESTDIR支持、prefix配置、make install规范、deb/rpm打包
安装打包
26
Makefile与CMake对比
CMake基础概念、CMakeLists.txt编写、CMake生成Makefile、迁移策略
CMake对比
27
Makefile与Autotools对比
Autotools工具链(autoconf/automake)、configure脚本、Makefile.in模板
Autotools对比
28
Makefile与Ninja对比
Ninja构建系统、build.ninja文件、性能对比、适用场景
Ninja对比
29
Makefile高级技巧
eval函数、call函数、$(shell)使用、递归变量展开陷阱
高级技巧
30
综合实战:大型企业级项目
模块化、可配置、可扩展、跨平台、CI/CD就绪
企业级综合