OpenWrt编译目标world的依赖

前端之家收集整理的这篇文章主要介绍了OpenWrt编译目标world的依赖前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在顶层的Makefile第2个分支中,目标world的依赖

prepare: .config $(tools/stamp-install) $(toolchain/stamp-install)
world: prepare $(target/stamp-compile) $(package/stamp-cleanup) $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) $(target/stamp-install) FORCE
$(_SINGLE)$(SUBMAKE) -r package/index


这些*stamp-*变量的定义由include/subdir.mk中定义的宏define stampfile而展开


在Buildroot下使用grep查找call stampfile的地方

./tools/Makefile:136:$(eval $(call stampfile,$(curdir),tools,install,CONFIG_CCACHE CONFIG_powerpc CONFIG_GCC_VERSION_4_5 CONFIG_GCC_USE_GRAPHITE CONFIG_TARGET_orion_generic))
./target/Makefile:15:$(eval $(call stampfile,target,prereq,.config))
./target/Makefile:16:$(eval $(call stampfile,compile,$(TMP_DIR)/.build))
./target/Makefile:17:$(eval $(call stampfile,$(TMP_DIR)/.build))
./package/Makefile:99:$(eval $(call stampfile,package,.config))
./package/Makefile:100:$(eval $(call stampfile,cleanup,$(TMP_DIR)/.build))
./package/Makefile:101:$(eval $(call stampfile,$(TMP_DIR)/.build))
./package/Makefile:102:$(eval $(call stampfile,$(TMP_DIR)/.build))
./package/Makefile:103:$(eval $(call stampfile,rootfs-prepare,$(TMP_DIR)/.build))
./toolchain/Makefile:84:$(eval $(call stampfile,toolchain,$(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed,$(TOOLCHAIN_DIR)))


例如tools/Makefile中的call stampfile展开的变量

tools/stamp-install := /home/test/openwrt/a2/attitude_adjustment_12.09/staging_dir/target-mips_r2_uClibc-0.9.33.2/stamp/.tools_install_nnnnn
当这个文件的时间戳比tools目录下的某个文件旧时

则会编译tools/install目标



完成编译后,则会在/home/test/openwrt/a2/attitude_adjustment_12.09/staging_dir/target-mips_r2_uClibc-0.9.33.2/stamp/目录下创建许多隐藏的时间戳文件

作为宏stampfile判断编译的条件

原文链接:https://www.f2er.com/javaschema/285802.html

猜你在找的设计模式相关文章