在顶层的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判断编译的条件
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。