由来
写了后知后觉Makefile后,觉得有必要对现存的Make实现进行下梳理。
为了保证梳理在一个新的认知水平上,在梳理前对以前模糊的概念,通过阅读官网的手册进行了一些必要的理论脑补,使得修补技术,更符合Make的原笔原意 😃
并行Make武器库
列举了修补使用到的技术要素
并行选项
- -j[jobs]
- -l [load]
建议编译环境独立使用的时间,选择
-j选项进行充分并行;编译环境共享使用的时间,需要考虑负载因素,建议使用-l选项
条件Make
Target依赖条件选择Target执行Recipes指令进行条件执行immediate ?= deferred变量条件赋值,选择性地赋值,以利于与集成Make环境协调
# 条件依赖
ifndef somecondition
all: sometarget
endif
# 指令条件执行
all:
ifndef somecondition
@echo This statement will be excuted when var is not setted
endif
# 共享变量条件赋值
sharedvar ?= default
适用场景:
- 使用条件语句使得某些依赖和某些执行指令,在集成编译的时

本文详细梳理了Makefile中的并行选项、条件Make功能,以及如何利用Sub-make和MAKEFLAGS进行高效的编译管理。作者强调了自顶向下构建方法和正确设置依赖关系的重要性,提供了实用的技巧和示例。
最低0.47元/天 解锁文章

1347

被折叠的 条评论
为什么被折叠?



