Uboot 顶层 makefile 分析

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 中判断条件不符合,里面什么事情都没干

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值