1# Print a list of the modules that could be built 2 3MODULE_INFO_JSON := $(PRODUCT_OUT)/module-info.json 4 5$(MODULE_INFO_JSON): 6 @echo Generating $@ 7 $(hide) echo -ne '{\n ' > $@ 8 $(hide) echo -ne $(foreach m, $(sort $(ALL_MODULES)), \ 9 ' "$(m)": {' \ 10 '"class": [$(foreach w,$(sort $(ALL_MODULES.$(m).CLASS)),"$(w)", )], ' \ 11 '"path": [$(foreach w,$(sort $(ALL_MODULES.$(m).PATH)),"$(w)", )], ' \ 12 '"tags": [$(foreach w,$(sort $(ALL_MODULES.$(m).TAGS)),"$(w)", )], ' \ 13 '"installed": [$(foreach w,$(sort $(ALL_MODULES.$(m).INSTALLED)),"$(w)", )], ' \ 14 '"compatibility_suites": [$(foreach w,$(sort $(ALL_MODULES.$(m).COMPATIBILITY_SUITES)),"$(w)", )], ' \ 15 '"auto_test_config": [$(ALL_MODULES.$(m).auto_test_config)], ' \ 16 '"module_name": "$(ALL_MODULES.$(m).MODULE_NAME)", ' \ 17 '"test_config": [$(if $(ALL_MODULES.$(m).TEST_CONFIG),"$(ALL_MODULES.$(m).TEST_CONFIG)")], ' \ 18 '"dependencies": [$(foreach w,$(sort $(ALL_DEPS.$(m).ALL_DEPS)),"$(w)", )], ' \ 19 '"srcs": [$(foreach w,$(sort $(ALL_MODULES.$(m).SRCS)),"$(w)", )], ' \ 20 '},\n' \ 21 ) | sed -e 's/, *\]/]/g' -e 's/, *\}/ }/g' -e '$$s/,$$//' >> $@ 22 $(hide) echo '}' >> $@ 23 24 25# If ONE_SHOT_MAKEFILE is set, our view of the world is smaller, so don't 26# rewrite the file in that came. 27ifndef ONE_SHOT_MAKEFILE 28droidcore: $(MODULE_INFO_JSON) 29endif 30 31$(call dist-for-goals, general-tests, $(MODULE_INFO_JSON)) 32