admin管理员组

文章数量:1130349

第三篇:Makefile 大型项目实战与专家级优化(大师篇)

一、递归 Make 与非递归 Make 架构

在大型项目中,如何组织构建系统是关键决策:

  1. 递归 Make(传统方式)
# 顶层 Makefile
SUBDIRS = core modules drivers

.PHONY: all clean $(SUBDIRS)

all: $(SUBDIRS)

$(SUBDIRS):
	$(MAKE) -C $@ $(MAKECMDGOALS)

clean: $(SUBDIRS)
  1. 非递归 Make(推荐方式)
include core/Makefile.inc
include modules/Makefile.inc

# 全局目标定义
all: core_lib module_bin

对比

特点 递归Make 非递归Make
依赖管理 分散

第三篇:Makefile 大型项目实战与专家级优化(大师篇)

一、递归 Make 与非递归 Make 架构

在大型项目中,如何组织构建系统是关键决策:

  1. 递归 Make(传统方式)
# 顶层 Makefile
SUBDIRS = core modules drivers

.PHONY: all clean $(SUBDIRS)

all: $(SUBDIRS)

$(SUBDIRS):
	$(MAKE) -C $@ $(MAKECMDGOALS)

clean: $(SUBDIRS)
  1. 非递归 Make(推荐方式)
include core/Makefile.inc
include modules/Makefile.inc

# 全局目标定义
all: core_lib module_bin

对比

特点 递归Make 非递归Make
依赖管理 分散

本文标签: 第三篇实战大师项目Makefile