根据实际编译过程(以smdk2410_config),了解Makefile如何作用
1.make smdk2410_config
执行这个操作,Makefile会跳过前面所有过程,直接执行
smdk2410_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
unconfig 是个伪目标,总是执行,所以接下来先会执行
unconfig:
@rm -f $(obj)include/config.h $(obj)include/config.mk /
$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp
然后执行
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
向上搜索知道MKCONFIG是个脚本./mkconfig,这个需要6个参数来选择性进行一些操作,
上面那句命令后面的就是六个参数
Parameters: Target Architecture CPU Board [VENDOR] [SOC]
mkconfig中有特殊shell变量: $# 传递到脚本的参数个数
经过mkcofig处理后的结果是:
ls -al include/asm include/asm-arm/arch include/asm-arm/proc
include/asm -> asm-arm
include/asm-arm/arch -> arch-s3c24x0
include/asm-arm/proc -> proc-armv
cat include/config.h
/* Automatically generated - do not edit */
#include <configs/smdk2410.h>
未完,待续。。。