Makefile build 规则

  • 了解makefile build 规则

1.Build Introduction

Build使用的一般形式为:

$(MAKE) $(build)=build_dir  [argv]
-$(build) 变量定义在 scripts/Kbuild.include文件中;  
-build_dir为可变目录和参数;
-[argv] 可选。

# scripts/Kbuild.include:
# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.build obj=
# Usage:
# $(Q)$(MAKE) $(build)=dir
build := -f $(srctree)/scripts/Makefile.build obj

进行变量替换后,上述命令则为:
$(MAKE) -f scripts/Makefile.build obj=build_dir  [argv]
Note: Make进入由参数-f指定的Make文件scripts/Makefile.build,并传入参数obj=build_dir 和argv。

例如:Uboot 编译流程编译命令:

#@make -f ./scripts/Makefile.build obj=scripts/kconfig firefly-rk3399_defconfig

如上所示:
  Make进入由参数-f指定的Make文件scripts/Makefile.build,并传入参数obj=build_dir 和argv。

  • $(MAKE) = make -f (-f mean read file as a makefile)
  • $(build) = ./scripts/Makefile.build obj
  • $@ = firefly-rk3399_defconfig

  在scripts/Makefile.build的处理过程中,传入的参数$(obj) 代表此次make命令要处理(编译、链接、和生成) 文件所在的目录,如上所示为scripts/kconfig,该目录的Makefile文件会被Makefile.build包含。即$(obj)目录下的Makefile记为$(obj)/Makefile。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值