首页
›
热销单品
›
软件编程与计算机基础
›
《Makefile编译构建系统教程》
所属分类:软件编程与计算机基础
当前为单品课程,可返回上一级继续浏览同方向资料。
← 返回上一级
← 返回所属目录
咨询 / 购买
📘
Makefile编译构建系统教程
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
Makefile的作用 · 学习目标 · 适用场景
课程导入
Makefile
02
环境准备
在Linux · macOS和Windows(WSL/… · 验证版本
环境准备
Linux
03
Makefile基础语法
规则(target · prerequisites · recipe)的格式
Makefile
基础语法
04
目标与依赖
理解目标(target) · 依赖(prerequisite)和命… · 通过简单示例演示增量构建原理
目标
依赖
05
伪目标(Phony Targets)
.PHONY的作用 · clean · all
Phony
Targets
06
变量与宏
变量定义(= · := · ?=
变量
变量定义
07
模式规则与隐式规则
%模式规则 · make内置的隐式规则(如.c到.o… · 如何覆盖和禁用隐式规则
模式规则
隐式规则
08
函数与文本处理
常用函数(wildcard · patsubst · subst
函数
文本处理
09
文件搜索与VPATH
VPATH和vpath的使用 · 多目录源码项目的依赖查找与构建
VPATH
文件搜索
10
多目标与多规则
一个规则多个目标 · 一个目标多个规则 · 双冒号规则
多目标
多规则
11
条件判断
ifeq · ifneq · ifdef
条件判断
ifeq
12
嵌套Makefile
使用submake递归调用子目录Ma… · 传递变量 · 管理大型项目的模块化构建
Makefile
嵌套
13
include与Makefile重用
include指令引入其他Makef… · 使用-include忽略错误 · 构建通用模块
include
Makefile
14
自动生成依赖
使用gcc -MM生成头文件依赖 · 编写规则自动更新.d文件 · 实现头文件变更后的正确重编译
自动生成依赖
gcc
15
编译选项与链接选项
CFLAGS · LDFLAGS · LDLIBS等变量的设置
编译选项
链接选项
16
静态库的构建
使用ar创建静态库 · 编写Makefile生成libxxx… · 并在主程序中链接使用
静态库的构建
ar
17
动态库的构建
使用gcc -shared生成.so… · 设置rpath · 编写Makefile实现动态库的编译…
动态库的构建
gcc
18
多目录项目实战
组织src · include · lib
多目录项目实战
src
19
增量构建与性能优化
理解时间戳比较 · 避免不必要的重建 · 使用并行构建(-j)
增量构建
性能优化
20
调试Makefile
使用make -n · make -d · make --debug
Makefile
调试
21
常见错误与解决方案
No rule to make ta… · missing separator · undefined variable
常见错误
解决方案
22
Makefile中的Shell命令技巧
在recipe中使用shell脚本 · 循环 · 条件
Makefile
Shell
23
跨平台兼容
处理Windows · Linux · macOS的路径分隔符
跨平台兼容
Windows
24
与CMake的对比与集成
了解Makefile与CMake的关… · 如何从CMake生成Makefile · 以及何时选择Makefile
CMake
的对比
25
项目模板与最佳实践
设计一个通用Makefile模板 · 包含编译 · 清理
项目模板
最佳实践
26
测试与质量保证
在Makefile中添加test目标 · 运行单元测试 · 代码风格检查
测试
质量保证
27
安装与打包
编写install · uninstall目标 · 使用DESTDIR支持打包
安装
打包
28
综合实战
从零构建一个完整的C/C++项目(如… · 包含多目录 · 库
综合实战
C/C++
29
进阶技巧
使用eval和call宏生成规则 · 使用$(foreach)批量生成目标 · 实现复杂构建逻辑
进阶技巧
eval
30
课程总结与扩展
回顾核心知识点 · 推荐学习资源 · 探讨Makefile在现代构建体系中…
课程总结
扩展
所属VIP或分类
同VIP:45天精通C++编程
同VIP:45天精通Rust编程
同VIP:AE自动曝光算法设计实战