Port Bug 912292 - Always traverse sub-directories after executing rules in the current directory. r=build system peer port of m-c patch,a=bustage-fix
This commit is contained in:
Родитель
82e29d5c77
Коммит
c1efdd2920
|
@ -0,0 +1,37 @@
|
||||||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||||
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
ifndef INCLUDED_RULES_MK
|
||||||
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
endif
|
||||||
|
|
||||||
|
#########################
|
||||||
|
# Tier traversal handling
|
||||||
|
#########################
|
||||||
|
|
||||||
|
define CREATE_SUBTIER_TRAVERSAL_RULE
|
||||||
|
PARALLEL_DIRS_$(1) = $$(addsuffix _$(1),$$(PARALLEL_DIRS))
|
||||||
|
|
||||||
|
.PHONY: $(1) $$(PARALLEL_DIRS_$(1))
|
||||||
|
|
||||||
|
ifdef PARALLEL_DIRS
|
||||||
|
$$(PARALLEL_DIRS_$(1)): %_$(1): %/Makefile
|
||||||
|
+@$$(call SUBMAKE,$(1),$$*)
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(1):: $$(SUBMAKEFILES)
|
||||||
|
ifdef PARALLEL_DIRS
|
||||||
|
+@$(MAKE) $$(PARALLEL_DIRS_$(1))
|
||||||
|
endif
|
||||||
|
$$(LOOP_OVER_DIRS)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(foreach subtier,export libs tools,$(eval $(call CREATE_SUBTIER_TRAVERSAL_RULE,$(subtier))))
|
||||||
|
|
||||||
|
export:: $(SUBMAKEFILES)
|
||||||
|
$(LOOP_OVER_TOOL_DIRS)
|
||||||
|
|
||||||
|
tools:: $(SUBMAKEFILES)
|
||||||
|
$(foreach dir,$(TOOL_DIRS),$(call SUBMAKE,libs,$(dir)))
|
|
@ -705,30 +705,6 @@ ifneq (,$(DIRS)$(TOOL_DIRS)$(PARALLEL_DIRS))
|
||||||
$(LOOP_OVER_TOOL_DIRS)
|
$(LOOP_OVER_TOOL_DIRS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef PARALLEL_DIRS
|
|
||||||
export:: $(PARALLEL_DIRS_export)
|
|
||||||
|
|
||||||
$(PARALLEL_DIRS_export): %_export: %/Makefile
|
|
||||||
+@$(call SUBMAKE,export,$*)
|
|
||||||
endif
|
|
||||||
|
|
||||||
export:: $(SUBMAKEFILES) $(MAKE_DIRS)
|
|
||||||
$(LOOP_OVER_DIRS)
|
|
||||||
$(LOOP_OVER_TOOL_DIRS)
|
|
||||||
|
|
||||||
ifdef PARALLEL_DIRS
|
|
||||||
tools:: $(PARALLEL_DIRS_tools)
|
|
||||||
|
|
||||||
$(PARALLEL_DIRS_tools): %_tools: %/Makefile
|
|
||||||
+@$(call SUBMAKE,tools,$*)
|
|
||||||
endif
|
|
||||||
|
|
||||||
tools:: $(SUBMAKEFILES) $(MAKE_DIRS)
|
|
||||||
$(LOOP_OVER_DIRS)
|
|
||||||
ifneq (,$(strip $(TOOL_DIRS)))
|
|
||||||
$(foreach dir,$(TOOL_DIRS),$(call SUBMAKE,libs,$(dir)))
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Rule to create list of libraries for final link
|
# Rule to create list of libraries for final link
|
||||||
#
|
#
|
||||||
|
|
Загрузка…
Ссылка в новой задаче