OpenWRT Makefile流程记录
作者:互联网
$(toolchain/stamp-install): $(tools/stamp-install)
通过subdir.mk的stampfile函数 $(eval $(call stampfile,$(curdir),tools,install,,_$(subst $(space),,$(tools_enabled)))) 展开 define stampfile $(1)/stamp-$(3):=$(if $(6),$(6),$(STAGING_DIR))/stamp/.$(2)_$(3)$(5) $$($(1)/stamp-$(3)): $(TMP_DIR)/.build $(4) @+$(SCRIPT_DIR)/timestamp.pl -n $$($(1)/stamp-$(3)) $(1) $(4) || \ $(MAKE) $(if $(QUIET),--no-print-directory) $$($(1)/flags-$(3)) $(1)/$(3) @mkdir -p $$$$(dirname $$($(1)/stamp-$(3))) @touch $$($(1)/stamp-$(3)) $$(if $(call debug,$(1),v),,.SILENT: $$($(1)/stamp-$(3))) .PRECIOUS: $$($(1)/stamp-$(3)) # work around a make bug $(1)//clean:=$(1)/stamp-$(3)/clean $(1)/stamp-$(3)/clean: FORCE @rm -f $$($(1)/stamp-$(3)) endef tools/stamp-install:= $(STAGING_DIR)/stamp/.tools_install_yyynnnyynnn $(tools/stamp-install): tmp/.build make $(tools/flags-install) tools/install #通过subdir.mk的subdir函数展开产生规则 tools/clean:=tools/stamp-install/clean tools/stamp-install/clean: FORCE rm -rf $(tools/stamp-install) subdir展开关于clean有一个,如果clean则同时要执行tools/stamp-install/clean删除文件,其他命令不影响 tools/clean: tools/stamp-install/clean @+ $(SUBMAKE) -r -C target/linux clean BUILD_VARIANT=""
标签:clean,stamp,流程,Makefile,DIR,subdir,install,tools,OpenWRT 来源: https://www.cnblogs.com/sudochen/p/15980444.html