Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 67132baa authored by Ying Wang's avatar Ying Wang
Browse files

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
parent dda5e96b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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.
+2 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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
+13 −1
Original line number Diff line number Diff line
@@ -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