Fix "make product-graph" and "make dump-products".
- For unmodified "make product-graph" and "make dump-products", load only the current product configuration makefiles. This is much faster than loading all product makefiles. - For "make product-graph ANDROID_PRODUCT_GRAPH=--all", "make dump-products ANDROID_DUMP_PRODUCTS=all", load all product makefiles. - Move product-graph.mk out of build tasks, so we can skip loading all the Android.mks, which takes long and we don't really need them. More importantly, with all product makefiles loaded, modules in Android.mks are prone to clash (if they are conditionally included by variables set up in product makefiles) and lead to parse-time error. Change-Id: Idc1d6b0c23eb2c8bb34fdd7a1fa4d56171768d21
This commit is contained in:
parent
dda5e96b14
commit
67132baa4d
4 changed files with 18 additions and 3 deletions
|
@ -1964,6 +1964,8 @@ include $(sort $(wildcard $(BUILD_SYSTEM)/tasks/*.mk))
|
|||
-include $(sort $(wildcard device/*/*/build/tasks/*.mk))
|
||||
endif
|
||||
|
||||
include $(BUILD_SYSTEM)/product-graph.mk
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# Create SDK repository packages. Must be done after tasks/* since
|
||||
# we need the addon rules defined.
|
||||
|
|
|
@ -80,7 +80,8 @@ dont_bother_goals := clean clobber dataclean installclean \
|
|||
vendorimage-nodeps \
|
||||
ramdisk-nodeps \
|
||||
bootimage-nodeps \
|
||||
recoveryimage-nodeps
|
||||
recoveryimage-nodeps \
|
||||
product-graph dump-products
|
||||
|
||||
ifneq ($(filter $(dont_bother_goals), $(MAKECMDGOALS)),)
|
||||
dont_bother := true
|
||||
|
|
|
@ -34,7 +34,7 @@ define all-products-inner
|
|||
endef
|
||||
|
||||
|
||||
this_makefile := build/core/tasks/product-graph.mk
|
||||
this_makefile := build/core/product-graph.mk
|
||||
|
||||
products_svg := $(OUT_DIR)/products.svg
|
||||
products_pdf := $(OUT_DIR)/products.pdf
|
|
@ -213,7 +213,19 @@ _cpm_word2 :=
|
|||
current_product_makefile := $(strip $(current_product_makefile))
|
||||
all_product_makefiles := $(strip $(all_product_makefiles))
|
||||
|
||||
ifneq (,$(filter product-graph dump-products, $(MAKECMDGOALS)))
|
||||
load_all_product_makefiles :=
|
||||
ifneq (,$(filter product-graph, $(MAKECMDGOALS)))
|
||||
ifeq ($(ANDROID_PRODUCT_GRAPH),--all)
|
||||
load_all_product_makefiles := true
|
||||
endif
|
||||
endif
|
||||
ifneq (,$(filter dump-products,$(MAKECMDGOALS)))
|
||||
ifeq ($(ANDROID_DUMP_PRODUCTS),all)
|
||||
load_all_product_makefiles := true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(load_all_product_makefiles),true)
|
||||
# Import all product makefiles.
|
||||
$(call import-products, $(all_product_makefiles))
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue