linux kernel makefile 纲要
##ifeq ($(mixed-targets),1)
##
##else
##
## ifeq ($(config-targets),1)#目标为xxxdefconfig
##
## else #不包含.config目标
## ifeq ($(KBUILD_EXTMOD),)#不包含M选项
## 定义需要的目录
## endif # KBUILD_EXTMOD
##
## ifeq ($(dot-config),1) #需要.config文件
## ifeq ($(KBUILD_EXTMOD),)
## 执行$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
## else
## 判断是否存在include/generated/autoconf.h文件
## endif # KBUILD_EXTMOD
## else#不需要.config文件
## 包含include/config/auto.conf:文件
## endif # $(dot-config)
##
## 包含arch/$(SRCARCH)/Makefile scripts/Makefile.kasan scripts/Makefile.extrawarn
## 设置KBUILD_CFLAGS等选项
## ifeq ($(KBUILD_EXTMOD),)
## 设置vmlinux-dirs,core-y,init-y,core-y,vmlinux-deps等
## vmlinux: scripts/link-vmlinux.sh $(vmlinux-deps)
## $(vmlinux-dirs): prepare scripts
## ifdef CONFIG_MODULES
## modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
## else # CONFIG_MODULES
## 基本是打印日志
## endif # CONFIG_MODULES
## 设置clean等目标
## else # KBUILD_EXTMOD
## 设置modules: $(module-dirs)
## endif # KBUILD_EXTMOD
## 设置versioncheck等目标
## endif #ifeq ($(config-targets),1)
##
##endif #ifeq ($(mixed-targets),1)

浙公网安备 33010602011771号