分析的版本:
linux3.10.84
分析方法:从顶层makefile进行分析,了解一下为了生成vmlinux,makefile都做了什么。
vmlinux依赖关系中,第一个依赖便是link-vmlinux.sh,这里相当于把第一个依赖加载到shell中,$<便是第一个依赖
当执行make命令后,默认生成的便是vmlinux
linux3.10.84
分析方法:从顶层makefile进行分析,了解一下为了生成vmlinux,makefile都做了什么。
运行一个新的shell:
# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi)
vmlinux依赖关系中,第一个依赖便是link-vmlinux.sh,这里相当于把第一个依赖加载到shell中,$<便是第一个依赖
# Final link of vmlinux
cmd_link-vmlinux = $(CONFIG_SHELL) $< $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux)
quiet_cmd_link-vmlinux = LINK $@
当执行make命令后,默认生成的便是vmlinux
all: vmlinux
vmlinux的依赖关系
vmlinux: scripts/link-vmlinux.sh $(vmlinux-deps) FORCE
+$(call if_changed,link-vmlinux) //根据if_changed的作用