# Print a list of the modules that could be built MODULE_INFO_JSON := $(PRODUCT_OUT)/module-info.json $(MODULE_INFO_JSON): @echo Generating $@ $(hide) echo -ne '{\n ' > $@ $(hide) echo -ne $(foreach m, $(sort $(ALL_MODULES)), \ ' "$(m)": {' \ '"class": [$(foreach w,$(sort $(ALL_MODULES.$(m).CLASS)),"$(w)", )], ' \ '"path": [$(foreach w,$(sort $(ALL_MODULES.$(m).PATH)),"$(w)", )], ' \ '"tags": [$(foreach w,$(sort $(ALL_MODULES.$(m).TAGS)),"$(w)", )], ' \ '"installed": [$(foreach w,$(sort $(ALL_MODULES.$(m).INSTALLED)),"$(w)", )], ' \ '"compatibility_suites": [$(foreach w,$(sort $(ALL_MODULES.$(m).COMPATIBILITY_SUITES)),"$(w)", )], ' \ '"auto_test_config": [$(ALL_MODULES.$(m).auto_test_config)], ' \ '},\n' \ ) | sed -e 's/, *\]/]/g' -e 's/, *\}/ }/g' -e '$$s/,$$//' >> $@ $(hide) echo '}' >> $@ # If ONE_SHOT_MAKEFILE is set, our view of the world is smaller, so don't # rewrite the file in that came. ifndef ONE_SHOT_MAKEFILE files: $(MODULE_INFO_JSON) endif