首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

linux 顶层makefile,该怎么处理

2012-04-17 
linux 顶层makefile其中有这样一个规则config: scripts_basic outputmakefile FORCE$(Q)mkdir -p include/

linux 顶层makefile
其中有这样一个规则
config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux include/config
$(Q)$(MAKE) $(build)=scripts/kconfig $@

请问
  第一:$(build)中的build变量在哪里定义?
  第二:$@代表config目标本身,那该规则岂不成无限循环了?

[解决办法]
第一:build可能不在顶层makefile里定义,而在别处定义。
第二:$@表示规则中的目标文件集。
想了解更多,最好参考《跟我一起写makefile>>
[解决办法]
1. build 定义在 scrips/Kbuild.include 文件中, 定义如下:
build :=-f $(if$(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
2. build可以看出, $(buidl)作为make的参数,指定了新的makefile。 所以不用担心make会循环执行这个规则,因为执行的是定义在-f指定的makefile文件中的新规则。

热点排行