内核中单个.o文件的编译过程
make mm/mmu_gather.osingle-build -- 第一个规则
$(single-no-ko): $(build-dir)
@:build-dir := .
$(build-dir): prepare
$(Q)$(MAKE) $(build)=$@ need-builtin=1 need-modorder=1 $(single-goals)$(build-dir): prepare
#$(Q)$(MAKE) $(build)=$@ need-builtin=1 need-modorder=1 $(single-goals)$ make mm/mmu_gather.o
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/timeconst.h
CHK include/generated/bounds.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
#@make -f ./scripts/Makefile.build obj=. need-builtin=1 need-modorder=1 ./mm/mmu_gather.o展开那串命令行
single-target -- 第二个规则
subdir-ym的来历
Descend -- 第三个规则
Descend递归
cc_o_c -- 最后一个规则
接近真相
云开日出
执行顺序总结
Last updated