由来
写了后知后觉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