make/common/Modules.gmk
changeset 26548 3b002da2aee1
parent 26116 f051bd253364
child 26671 b214ab286ce9
equal deleted inserted replaced
26547:f8b190ea8955 26548:3b002da2aee1
    24 #
    24 #
    25 
    25 
    26 ifndef _MODULES_GMK
    26 ifndef _MODULES_GMK
    27 _MODULES_GMK := 1
    27 _MODULES_GMK := 1
    28 
    28 
       
    29 include JavaCompilation.gmk
       
    30 include SetupJavaCompilers.gmk
       
    31 
    29 ################################################################################
    32 ################################################################################
    30 # Module list macros
    33 # Module list macros
    31 
    34 
    32 ALL_TOP_SRC_DIRS := \
    35 ALL_TOP_SRC_DIRS := \
    33     $(JDK_TOPDIR)/src \
    36     $(JDK_TOPDIR)/src \
    48       $(wildcard $(patsubst %,%/*/share/classes/*, $(ALL_TOP_SRC_DIRS)) \
    51       $(wildcard $(patsubst %,%/*/share/classes/*, $(ALL_TOP_SRC_DIRS)) \
    49           $(patsubst %,%/*/$(OPENJDK_TARGET_OS_API_DIR)/classes/*, $(ALL_TOP_SRC_DIRS)) \
    52           $(patsubst %,%/*/$(OPENJDK_TARGET_OS_API_DIR)/classes/*, $(ALL_TOP_SRC_DIRS)) \
    50           $(patsubst %,%/*/$(OPENJDK_TARGET_OS)/classes/*, $(ALL_TOP_SRC_DIRS))))))))))))
    53           $(patsubst %,%/*/$(OPENJDK_TARGET_OS)/classes/*, $(ALL_TOP_SRC_DIRS))))))))))))
    51 endef
    54 endef
    52 
    55 
    53 MODULES_LIST_FILE := $(SRC_ROOT)/make/common/modules.list
    56 # Find all modules with source for the target platform.
    54 MODULE_DEPS_MAKEFILE := $(OUTPUT_ROOT)/module-deps.gmk
    57 define FindAllModules
       
    58   $(sort $(filter-out closed demo sample, $(notdir $(patsubst %/,%, $(dir \
       
    59       $(wildcard $(patsubst %, %/*/share, $(ALL_TOP_SRC_DIRS)) \
       
    60       $(patsubst %, %/*/$(OPENJDK_TARGET_OS), $(ALL_TOP_SRC_DIRS)) \
       
    61       $(patsubst %, %/*/$(OPENJDK_TARGET_OS_API_DIR), $(ALL_TOP_SRC_DIRS))))))))
       
    62 endef
       
    63 
       
    64 ################################################################################
       
    65 
       
    66 $(eval $(call SetupJavaCompilation,BUILD_GENMODULESLIST, \
       
    67     SETUP := BOOT_JAVAC, \
       
    68     SRC := $(JDK_TOPDIR)/make/src/classes, \
       
    69     INCLUDES := build/tools/module, \
       
    70     BIN := $(MAKESUPPORT_OUTPUTDIR)/bt_classes_moduleslist))
       
    71 
       
    72 TOOL_GENMODULESLIST = $(JAVA_SMALL) \
       
    73     -cp "$(MAKESUPPORT_OUTPUTDIR)/bt_classes_moduleslist" \
       
    74     build.tools.module.GenModulesList
       
    75 
       
    76 MODULES_LIST_FILE := $(MAKESUPPORT_OUTPUTDIR)/modules.list
       
    77 MODULE_DEPS_MAKEFILE := $(MAKESUPPORT_OUTPUTDIR)/module-deps.gmk
       
    78 
       
    79 $(MODULES_LIST_FILE): $(SRC_ROOT)/modules.xml \
       
    80     $(BUILD_GENMODULESLIST)
       
    81 	$(TOOL_GENMODULESLIST) -o $@ $(filter %.xml, $^)
    55 
    82 
    56 $(MODULE_DEPS_MAKEFILE): $(MODULES_LIST_FILE)
    83 $(MODULE_DEPS_MAKEFILE): $(MODULES_LIST_FILE)
    57 	$(CAT) $^ | $(SED) -e 's/^\([^:]*\):/DEPS_\1 :=/g' > $@
    84 	$(CAT) $^ | $(SED) -e 's/^\([^:]*\):/DEPS_\1 :=/g' > $@
    58 
    85 
    59 -include $(MODULE_DEPS_MAKEFILE)
    86 -include $(MODULE_DEPS_MAKEFILE)
    61 # Param 1: Module to find deps for
    88 # Param 1: Module to find deps for
    62 define FindDepsForModule
    89 define FindDepsForModule
    63   $(DEPS_$(strip $1))
    90   $(DEPS_$(strip $1))
    64 endef
    91 endef
    65 
    92 
    66 # Find all modules with source for the target platform.
       
    67 define FindAllModules
       
    68   $(sort $(filter-out closed demo sample, $(notdir $(patsubst %/,%, $(dir \
       
    69       $(wildcard $(patsubst %, %/*/share, $(ALL_TOP_SRC_DIRS)) \
       
    70       $(patsubst %, %/*/$(OPENJDK_TARGET_OS), $(ALL_TOP_SRC_DIRS)) \
       
    71       $(patsubst %, %/*/$(OPENJDK_TARGET_OS_API_DIR), $(ALL_TOP_SRC_DIRS))))))))
       
    72 endef
       
    73 
       
    74 ################################################################################
    93 ################################################################################
    75 
    94 
    76 # Hook to include the corresponding custom file, if present.
    95 # Hook to include the corresponding custom file, if present.
    77 $(eval $(call IncludeCustomExtension, , common/Modules.gmk))
    96 $(eval $(call IncludeCustomExtension, , common/Modules.gmk))
    78 
    97