ARCH = arm
CPU = armv7
BOARD = mx6ullevk
VENDOR = freescale
SOC = mx6
CPUDIR = arch/arm/cpu/armv7
BOARDDIR = freescale/mx6ullevk
编译处理过程
#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12
- make distclean
distclean: mrproper
@find $(srctree) $(RCS_FIND_IGNORE) \
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
-o -name '.*.rej' -o -name '*%' -o -name 'core' \
-o -name '*.pyc' \) \
-type f -print | xargs rm -f
@rm -f boards.cfg
- make mx6ull_14x14_ddr512_emmc_defconfig
%config: scripts_basic outputmakefile FORCE
$(Q)$(MAKE) $(build)=scripts/kconfig $@
1、第一个依赖 scripts_basic
scripts_basic:
$(Q)$(MAKE) $(build)=scripts/basic
$(Q)rm -f .tmp_quiet_recordmcount
重点分析第一条,第二条为删除某个文件不深究。
$(Q) :是否显示完整的命令行
$(MAKE):展开以后就是 make
build 定义在 kbuild.include 文件中
展开就是 make -f ./scripts/Makefile.build obj= scripts/basic
最终要执行的命令
make -f ./scripts/Makefile.build obj= scripts/basic
make -f ./scripts/Makefile.build obj=scripts/kconfig xxx_defconfig
2、其中第二个依赖文件 outputmakefile 中判断条件不符合,里面什么事情都没干