github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/make/core/tasks/module-info.mk (about)

     1  # Print a list of the modules that could be built
     2  
     3  MODULE_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  			'},\n' \
    17  	 ) | sed -e 's/, *\]/]/g' -e 's/, *\}/ }/g' -e '$$s/,$$//' >> $@
    18  	$(hide) echo '}' >> $@
    19  
    20  
    21  # If ONE_SHOT_MAKEFILE is set, our view of the world is smaller, so don't
    22  # rewrite the file in that came.
    23  ifndef ONE_SHOT_MAKEFILE
    24  files: $(MODULE_INFO_JSON)
    25  endif
    26